@codeyam/codeyam-cli 0.1.0-staging.8aea589 → 0.1.0-staging.bbe4da9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/analyzer-template/.build-info.json +7 -7
- package/analyzer-template/log.txt +3 -3
- package/analyzer-template/package.json +8 -7
- package/analyzer-template/packages/ai/index.ts +6 -2
- package/analyzer-template/packages/ai/package.json +2 -2
- package/analyzer-template/packages/ai/scripts/ai-test-matrix.mjs +424 -0
- package/analyzer-template/packages/ai/src/lib/analyzeScope.ts +24 -0
- package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +6 -16
- package/analyzer-template/packages/ai/src/lib/astScopes/methodSemantics.ts +197 -0
- package/analyzer-template/packages/ai/src/lib/astScopes/paths.ts +28 -2
- package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +145 -4
- package/analyzer-template/packages/ai/src/lib/checkAllAttributes.ts +1 -3
- package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +1877 -542
- package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.ts +138 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.ts +1 -1
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.ts +139 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/DebugTracer.ts +224 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/PathManager.ts +203 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/README.md +294 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.ts +161 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/VisitedTracker.ts +235 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.ts +64 -1
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts +14 -6
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/selectBestValue.ts +70 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/uniqueIdUtils.ts +113 -0
- package/analyzer-template/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.ts +36 -0
- package/analyzer-template/packages/ai/src/lib/generateChangesEntityDocumentation.ts +20 -2
- package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarioData.ts +56 -160
- package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarios.ts +79 -265
- package/analyzer-template/packages/ai/src/lib/generateEntityDocumentation.ts +16 -2
- package/analyzer-template/packages/ai/src/lib/generateEntityKeyAttributes.ts +32 -8
- package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +53 -154
- package/analyzer-template/packages/ai/src/lib/generateEntityScenarios.ts +84 -254
- package/analyzer-template/packages/ai/src/lib/generateStatementAnalysis.ts +48 -71
- package/analyzer-template/packages/ai/src/lib/getConditionalUsagesFromCode.ts +27 -6
- package/analyzer-template/packages/ai/src/lib/getLLMCallStats.ts +0 -14
- package/analyzer-template/packages/ai/src/lib/modelInfo.ts +15 -0
- package/analyzer-template/packages/ai/src/lib/promptGenerators/gatherAttributesMap.ts +42 -4
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityDocumentationGenerator.ts +8 -33
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.ts +54 -62
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.ts +93 -109
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityDocumentationGenerator.ts +8 -27
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.ts +33 -38
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.ts +30 -30
- package/analyzer-template/packages/ai/src/lib/types/index.ts +2 -0
- package/analyzer-template/packages/ai/src/lib/worker/SerializableDataStructure.ts +41 -0
- package/analyzer-template/packages/analyze/src/lib/FileAnalyzer.ts +47 -8
- package/analyzer-template/packages/analyze/src/lib/asts/nodes/getNodeType.ts +1 -1
- package/analyzer-template/packages/analyze/src/lib/asts/nodes/index.ts +2 -1
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllExportedNodes.ts +4 -2
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllExports.ts +5 -3
- package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +8 -10
- package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +6 -1
- package/analyzer-template/packages/analyze/src/lib/files/analyze/gatherEntityMap.ts +8 -6
- package/analyzer-template/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.ts +5 -13
- package/analyzer-template/packages/analyze/src/lib/files/analyzeChange.ts +34 -15
- package/analyzer-template/packages/analyze/src/lib/files/analyzeEntity.ts +17 -3
- package/analyzer-template/packages/analyze/src/lib/files/analyzeInitial.ts +35 -16
- package/analyzer-template/packages/analyze/src/lib/files/analyzeRemixRoute.ts +21 -33
- package/analyzer-template/packages/analyze/src/lib/files/getImportedExports.ts +75 -10
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.ts +26 -0
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +7 -1
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.ts +9 -1
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarioData.ts +6 -1
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarios.ts +9 -1
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +15 -7
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.ts +12 -2
- package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.d.ts +23 -0
- package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.d.ts.map +1 -0
- package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.js +30 -0
- package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.js.map +1 -0
- package/analyzer-template/packages/aws/package.json +5 -4
- package/analyzer-template/packages/aws/s3/index.ts +4 -0
- package/analyzer-template/packages/aws/src/lib/s3/getPresignedUrl.ts +62 -0
- package/analyzer-template/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.ts +28 -21
- package/analyzer-template/packages/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.ts +18 -11
- package/analyzer-template/packages/generate/src/lib/scenarioComponent.ts +6 -3
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +28 -21
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js +18 -11
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponent.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponent.js +5 -3
- package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponent.js.map +1 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.d.ts +2 -0
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.js +3 -0
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.js.map +1 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelations.d.ts +2 -0
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelations.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/debugReportsTable.d.ts +37 -0
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/debugReportsTable.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/debugReportsTable.js +27 -0
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/debugReportsTable.js.map +1 -0
- package/analyzer-template/packages/github/dist/supabase/src/lib/scenarioToDb.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/scenarioToDb.js +1 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/scenarioToDb.js.map +1 -1
- package/analyzer-template/packages/github/dist/utils/index.d.ts +2 -0
- package/analyzer-template/packages/github/dist/utils/index.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/utils/index.js +2 -0
- package/analyzer-template/packages/github/dist/utils/index.js.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.d.ts +25 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.js +40 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.js.map +1 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/applyUniversalMocks.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/applyUniversalMocks.js +39 -5
- package/analyzer-template/packages/github/dist/utils/src/lib/applyUniversalMocks.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.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +2 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js +1 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts +12 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +32 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.js +17 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
- package/analyzer-template/packages/supabase/src/lib/kysely/db.ts +6 -0
- package/analyzer-template/packages/supabase/src/lib/kysely/tableRelations.ts +3 -0
- package/analyzer-template/packages/supabase/src/lib/kysely/tables/debugReportsTable.ts +61 -0
- package/analyzer-template/packages/supabase/src/lib/scenarioToDb.ts +1 -0
- package/analyzer-template/packages/ui-components/src/scenario-editor/components/DataItemEditor.tsx +1 -1
- package/analyzer-template/packages/utils/dist/utils/index.d.ts +2 -0
- package/analyzer-template/packages/utils/dist/utils/index.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/index.js +2 -0
- package/analyzer-template/packages/utils/dist/utils/index.js.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.d.ts +25 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.d.ts.map +1 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.js +40 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.js.map +1 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/applyUniversalMocks.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/applyUniversalMocks.js +39 -5
- package/analyzer-template/packages/utils/dist/utils/src/lib/applyUniversalMocks.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.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +2 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js +1 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts +12 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts.map +1 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +32 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.js +17 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
- package/analyzer-template/packages/utils/index.ts +2 -0
- package/analyzer-template/packages/utils/src/lib/Semaphore.ts +42 -0
- package/analyzer-template/packages/utils/src/lib/applyUniversalMocks.ts +46 -7
- 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 +2 -1
- package/analyzer-template/packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.ts +1 -0
- package/analyzer-template/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.ts +33 -0
- package/analyzer-template/packages/utils/src/lib/lightweightEntityExtractor.ts +16 -0
- package/analyzer-template/project/constructMockCode.ts +199 -9
- package/analyzer-template/project/reconcileMockDataKeys.ts +13 -0
- package/analyzer-template/project/runMultiScenarioServer.ts +0 -4
- package/analyzer-template/project/runScenarioServer.ts +0 -4
- package/analyzer-template/project/start.ts +1 -11
- package/analyzer-template/project/startScenarioCapture.ts +24 -0
- package/analyzer-template/project/startServer.ts +50 -70
- package/analyzer-template/project/trackGeneratedFiles.ts +41 -0
- package/analyzer-template/project/writeMockDataTsx.ts +191 -7
- package/analyzer-template/project/writeScenarioComponents.ts +643 -63
- package/analyzer-template/project/writeUniversalMocks.ts +66 -8
- package/analyzer-template/scripts/postbuild.cjs +12 -1
- package/background/src/lib/virtualized/project/constructMockCode.js +183 -11
- package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
- package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +12 -0
- package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
- package/background/src/lib/virtualized/project/runMultiScenarioServer.js +0 -3
- package/background/src/lib/virtualized/project/runMultiScenarioServer.js.map +1 -1
- package/background/src/lib/virtualized/project/start.js +1 -8
- package/background/src/lib/virtualized/project/start.js.map +1 -1
- package/background/src/lib/virtualized/project/startScenarioCapture.js +18 -0
- package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
- package/background/src/lib/virtualized/project/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/writeMockDataTsx.js +156 -6
- package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
- package/background/src/lib/virtualized/project/writeScenarioComponents.js +433 -41
- package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
- package/background/src/lib/virtualized/project/writeUniversalMocks.js +56 -7
- package/background/src/lib/virtualized/project/writeUniversalMocks.js.map +1 -1
- package/codeyam-cli/src/cli.js +6 -0
- package/codeyam-cli/src/cli.js.map +1 -1
- package/codeyam-cli/src/codeyam-cli.js +0 -0
- package/codeyam-cli/src/commands/debug.js +222 -0
- package/codeyam-cli/src/commands/debug.js.map +1 -0
- package/codeyam-cli/src/commands/init.js +4 -23
- package/codeyam-cli/src/commands/init.js.map +1 -1
- package/codeyam-cli/src/commands/report.js +102 -0
- package/codeyam-cli/src/commands/report.js.map +1 -0
- package/codeyam-cli/src/commands/setup-sandbox.js +165 -0
- package/codeyam-cli/src/commands/setup-sandbox.js.map +1 -0
- package/codeyam-cli/src/commands/test-startup.js +14 -5
- package/codeyam-cli/src/commands/test-startup.js.map +1 -1
- package/codeyam-cli/src/utils/__tests__/cleanupAnalysisFiles.test.js +6 -6
- package/codeyam-cli/src/utils/__tests__/cleanupAnalysisFiles.test.js.map +1 -1
- package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +8 -0
- package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
- package/codeyam-cli/src/utils/analysisRunner.js +2 -1
- package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
- package/codeyam-cli/src/utils/analyzer.js +24 -2
- package/codeyam-cli/src/utils/analyzer.js.map +1 -1
- package/codeyam-cli/src/utils/cleanupAnalysisFiles.js +2 -2
- package/codeyam-cli/src/utils/cleanupAnalysisFiles.js.map +1 -1
- package/codeyam-cli/src/utils/generateReport.js +219 -0
- package/codeyam-cli/src/utils/generateReport.js.map +1 -0
- package/codeyam-cli/src/utils/install-skills.js +7 -0
- package/codeyam-cli/src/utils/install-skills.js.map +1 -1
- package/codeyam-cli/src/utils/queue/__tests__/job.pidTracking.test.js +1 -0
- package/codeyam-cli/src/utils/queue/__tests__/job.pidTracking.test.js.map +1 -1
- package/codeyam-cli/src/utils/queue/job.js +10 -5
- package/codeyam-cli/src/utils/queue/job.js.map +1 -1
- package/codeyam-cli/src/utils/sandbox.js +190 -0
- package/codeyam-cli/src/utils/sandbox.js.map +1 -0
- package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +4 -0
- package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
- package/codeyam-cli/src/utils/webappDetection.js +2 -1
- package/codeyam-cli/src/utils/webappDetection.js.map +1 -1
- package/codeyam-cli/src/webserver/app/lib/database.js +50 -2
- package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-Dp_FTAs1.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-TlHocYno.js +26 -0
- package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-CVMmGuIc.js +3 -0
- package/codeyam-cli/src/webserver/build/client/assets/{LogViewer-BKKG1s2B.js → LogViewer-JkfQ-VaI.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-Cqce0_KG.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-BrMAP1nP.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/ScenarioPreview-Bi-__7HT.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-XmIpHcLJ.js +5 -0
- package/codeyam-cli/src/webserver/build/client/assets/_index-BmfhU6CA.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-Dm8lM73z.js +10 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.generate-report-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/chart-column-kA4jn9if.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/chunk-WWGJGFF6-CgXbbZRx.js +26 -0
- package/codeyam-cli/src/webserver/build/client/assets/circle-check-B2oHQ-zo.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/clock-BAfbP_iK.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/codeyam-name-logo-CvKwUgHo.svg +9 -0
- package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-BBYuR56H.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/dev.empty-BgPXZbm0.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-BHiWkb_W.js → entity._sha._-BkoAXaOa.js} +10 -10
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-Bj5GHkhb.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-eW5z9AyZ.js +5 -0
- package/codeyam-cli/src/webserver/build/client/assets/entityStatus-C5Okl18j.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{entityVersioning-Bk_YB1jM.js → entityVersioning-CU_Lchhc.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/entry.client-B9tSboXM.js +5 -0
- package/codeyam-cli/src/webserver/build/client/assets/file-text-18aYHZGd.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/files-Df79EyEb.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/git-CDEwTVH_.js +12 -0
- package/codeyam-cli/src/webserver/build/client/assets/globals-DXRB6jBc.css +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/html2canvas-pro.esm-XQCGvadH.js +5 -0
- package/codeyam-cli/src/webserver/build/client/assets/index-_LjBsTxX.js +8 -0
- package/codeyam-cli/src/webserver/build/client/assets/loader-circle-D_EGChhq.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/manifest-3e0ffbcc.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/root-CGyT4J4b.js +16 -0
- package/codeyam-cli/src/webserver/build/client/assets/settings-CEPbAsom.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/settings-R8QF_mHX.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/simulations-B_PXvFom.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/triangle-alert-BthANBVv.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{useLastLogLine-Lumm1t01.js → useLastLogLine-Blr5oZDE.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/useReportContext-CANr3QJ5.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/useToast-Bbf4Hokd.js +1 -0
- package/codeyam-cli/src/webserver/build/server/assets/index-vf1FETCO.js +1 -0
- package/codeyam-cli/src/webserver/build/server/assets/server-build-B5s58TvB.js +169 -0
- package/codeyam-cli/src/webserver/build/server/index.js +1 -1
- package/codeyam-cli/src/webserver/build-info.json +5 -5
- package/codeyam-cli/src/webserver/server.js +1 -1
- package/codeyam-cli/src/webserver/server.js.map +1 -1
- package/codeyam-cli/templates/codeyam-setup-skill.md +70 -85
- package/codeyam-cli/templates/debug-command.md +125 -0
- package/package.json +9 -11
- package/packages/ai/index.js +2 -3
- package/packages/ai/index.js.map +1 -1
- package/packages/ai/src/lib/analyzeScope.js +13 -0
- package/packages/ai/src/lib/analyzeScope.js.map +1 -1
- package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +6 -15
- package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
- package/packages/ai/src/lib/astScopes/methodSemantics.js +134 -0
- package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
- package/packages/ai/src/lib/astScopes/paths.js +28 -3
- package/packages/ai/src/lib/astScopes/paths.js.map +1 -1
- package/packages/ai/src/lib/astScopes/processExpression.js +123 -3
- package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
- package/packages/ai/src/lib/checkAllAttributes.js +1 -3
- package/packages/ai/src/lib/checkAllAttributes.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +1358 -396
- package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.js +137 -1
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js +1 -1
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js +112 -0
- package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/DebugTracer.js +176 -0
- package/packages/ai/src/lib/dataStructure/helpers/DebugTracer.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/PathManager.js +178 -0
- package/packages/ai/src/lib/dataStructure/helpers/PathManager.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js +138 -0
- package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/VisitedTracker.js +199 -0
- package/packages/ai/src/lib/dataStructure/helpers/VisitedTracker.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js +55 -1
- package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +14 -6
- package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/selectBestValue.js +62 -0
- package/packages/ai/src/lib/dataStructure/helpers/selectBestValue.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/uniqueIdUtils.js +90 -0
- package/packages/ai/src/lib/dataStructure/helpers/uniqueIdUtils.js.map +1 -0
- package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js +22 -0
- package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js.map +1 -1
- package/packages/ai/src/lib/generateChangesEntityDocumentation.js +19 -1
- package/packages/ai/src/lib/generateChangesEntityDocumentation.js.map +1 -1
- package/packages/ai/src/lib/generateChangesEntityScenarioData.js +55 -156
- package/packages/ai/src/lib/generateChangesEntityScenarioData.js.map +1 -1
- package/packages/ai/src/lib/generateChangesEntityScenarios.js +79 -262
- package/packages/ai/src/lib/generateChangesEntityScenarios.js.map +1 -1
- package/packages/ai/src/lib/generateEntityDocumentation.js +15 -1
- package/packages/ai/src/lib/generateEntityDocumentation.js.map +1 -1
- package/packages/ai/src/lib/generateEntityKeyAttributes.js +32 -8
- package/packages/ai/src/lib/generateEntityKeyAttributes.js.map +1 -1
- package/packages/ai/src/lib/generateEntityScenarioData.js +52 -152
- package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
- package/packages/ai/src/lib/generateEntityScenarios.js +88 -258
- package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
- package/packages/ai/src/lib/generateStatementAnalysis.js +46 -71
- package/packages/ai/src/lib/generateStatementAnalysis.js.map +1 -1
- package/packages/ai/src/lib/getConditionalUsagesFromCode.js +13 -8
- package/packages/ai/src/lib/getConditionalUsagesFromCode.js.map +1 -1
- package/packages/ai/src/lib/getLLMCallStats.js +0 -14
- package/packages/ai/src/lib/getLLMCallStats.js.map +1 -1
- package/packages/ai/src/lib/modelInfo.js +15 -0
- package/packages/ai/src/lib/modelInfo.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js +36 -3
- package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateChangesEntityDocumentationGenerator.js +8 -33
- package/packages/ai/src/lib/promptGenerators/generateChangesEntityDocumentationGenerator.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js +35 -41
- package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js +59 -72
- package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateEntityDocumentationGenerator.js +8 -27
- package/packages/ai/src/lib/promptGenerators/generateEntityDocumentationGenerator.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js +24 -27
- package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js +21 -22
- package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js.map +1 -1
- package/packages/ai/src/lib/types/index.js +2 -0
- package/packages/ai/src/lib/types/index.js.map +1 -1
- package/packages/ai/src/lib/worker/SerializableDataStructure.js +7 -0
- package/packages/ai/src/lib/worker/SerializableDataStructure.js.map +1 -1
- package/packages/analyze/src/lib/FileAnalyzer.js +39 -7
- package/packages/analyze/src/lib/FileAnalyzer.js.map +1 -1
- package/packages/analyze/src/lib/asts/nodes/getNodeType.js +1 -1
- package/packages/analyze/src/lib/asts/nodes/getNodeType.js.map +1 -1
- package/packages/analyze/src/lib/asts/nodes/index.js +2 -1
- package/packages/analyze/src/lib/asts/nodes/index.js.map +1 -1
- package/packages/analyze/src/lib/asts/sourceFiles/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 +4 -3
- package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +6 -8
- package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +5 -1
- package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js +8 -2
- package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js +5 -8
- package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js.map +1 -1
- package/packages/analyze/src/lib/files/analyzeChange.js +21 -9
- package/packages/analyze/src/lib/files/analyzeChange.js.map +1 -1
- package/packages/analyze/src/lib/files/analyzeEntity.js +10 -4
- package/packages/analyze/src/lib/files/analyzeEntity.js.map +1 -1
- package/packages/analyze/src/lib/files/analyzeInitial.js +21 -9
- package/packages/analyze/src/lib/files/analyzeInitial.js.map +1 -1
- package/packages/analyze/src/lib/files/analyzeRemixRoute.js +18 -23
- package/packages/analyze/src/lib/files/analyzeRemixRoute.js.map +1 -1
- package/packages/analyze/src/lib/files/getImportedExports.js +56 -4
- package/packages/analyze/src/lib/files/getImportedExports.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js +24 -0
- package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +6 -1
- package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js +9 -1
- package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js +5 -1
- package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateScenarios.js +9 -1
- package/packages/analyze/src/lib/files/scenarios/generateScenarios.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +16 -7
- package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js +8 -2
- package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js.map +1 -1
- package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +28 -21
- package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
- package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js +18 -11
- package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js.map +1 -1
- package/packages/generate/src/lib/scenarioComponent.js +5 -3
- package/packages/generate/src/lib/scenarioComponent.js.map +1 -1
- package/packages/supabase/src/lib/kysely/db.js +3 -0
- package/packages/supabase/src/lib/kysely/db.js.map +1 -1
- package/packages/supabase/src/lib/kysely/tables/debugReportsTable.js +27 -0
- package/packages/supabase/src/lib/kysely/tables/debugReportsTable.js.map +1 -0
- package/packages/supabase/src/lib/scenarioToDb.js +1 -1
- package/packages/supabase/src/lib/scenarioToDb.js.map +1 -1
- package/packages/utils/index.js +2 -0
- package/packages/utils/index.js.map +1 -1
- package/packages/utils/src/lib/Semaphore.js +40 -0
- package/packages/utils/src/lib/Semaphore.js.map +1 -0
- package/packages/utils/src/lib/applyUniversalMocks.js +39 -5
- package/packages/utils/src/lib/applyUniversalMocks.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 +2 -1
- package/packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
- package/packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.js +1 -0
- package/packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.js.map +1 -1
- package/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +32 -0
- package/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -0
- package/packages/utils/src/lib/lightweightEntityExtractor.js +17 -0
- package/packages/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
- package/analyzer-template/packages/ai/src/lib/generateEntityDataMap.ts +0 -375
- 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/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/dev.empty-BbR3FwNc.js +0 -1
- 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/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/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/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/packages/ai/src/lib/generateEntityDataMap.js +0 -335
- package/packages/ai/src/lib/generateEntityDataMap.js.map +0 -1
- package/packages/ai/src/lib/promptGenerators/generateEntityDataMapGenerator.js +0 -17
- package/packages/ai/src/lib/promptGenerators/generateEntityDataMapGenerator.js.map +0 -1
|
@@ -41,7 +41,7 @@ export default function generateChangesEntityScenariosGenerator({
|
|
|
41
41
|
const filePath = (attr as any).filePath;
|
|
42
42
|
const entityName = (attr as any).originalEntityName;
|
|
43
43
|
|
|
44
|
-
if (!filePath || !entityName) continue;
|
|
44
|
+
if (!filePath || !entityName) continue;
|
|
45
45
|
|
|
46
46
|
if (!relevantDependentKeyAttributes[filePath]) {
|
|
47
47
|
relevantDependentKeyAttributes[filePath] = {};
|
|
@@ -52,128 +52,112 @@ export default function generateChangesEntityScenariosGenerator({
|
|
|
52
52
|
relevantDependentKeyAttributes[filePath][entityName].push(attr);
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
\`\`\`
|
|
79
|
-
|
|
80
|
-
${
|
|
81
|
-
changedDataStructureFields.length > 0
|
|
82
|
-
? `Changed Data Structure Fields:
|
|
83
|
-
|
|
84
|
-
The following fields in the data structure have changed (type changed, added, or removed):
|
|
85
|
-
|
|
86
|
-
\`\`\`
|
|
55
|
+
const formatKeyAttrs = (attrs: Analysis['metadata']['keyAttributes']) =>
|
|
56
|
+
attrs.map((ka) => ({
|
|
57
|
+
dataStructurePath: ka.dataStructurePath,
|
|
58
|
+
localVariable: ka.internalPath,
|
|
59
|
+
description: ka.description,
|
|
60
|
+
validValueOptions: ka.validValueOptions,
|
|
61
|
+
}));
|
|
62
|
+
|
|
63
|
+
const addedSection =
|
|
64
|
+
addedKeyAttributes?.length > 0
|
|
65
|
+
? JSON.stringify(formatKeyAttrs(addedKeyAttributes), null, 2)
|
|
66
|
+
: 'None';
|
|
67
|
+
|
|
68
|
+
const removedSection =
|
|
69
|
+
removedKeyAttributes?.length > 0
|
|
70
|
+
? JSON.stringify(removedKeyAttributes, null, 2)
|
|
71
|
+
: 'None';
|
|
72
|
+
|
|
73
|
+
const changedFieldsSection =
|
|
74
|
+
changedDataStructureFields.length > 0
|
|
75
|
+
? `
|
|
76
|
+
## Changed Data Structure Fields
|
|
77
|
+
Fields that changed type, were added, or removed:
|
|
78
|
+
\`\`\`json
|
|
87
79
|
${JSON.stringify(changedDataStructureFields, null, 2)}
|
|
88
80
|
\`\`\`
|
|
89
81
|
|
|
90
|
-
**
|
|
91
|
-
- If "stats.visualEntities" changed from an array to a number, update keyAttributeInstructions from "Array of 10 objects" to "10 (count of visual entities)"
|
|
92
|
-
- If a field was removed, remove it from keyAttributeInstructions
|
|
93
|
-
- If a field was added, you may add it to keyAttributeInstructions if relevant for the scenario
|
|
94
|
-
|
|
95
|
-
Fields that did NOT change can retain their existing keyAttributeInstructions.
|
|
96
|
-
|
|
82
|
+
**Update keyAttributeInstructions for affected scenarios** (e.g., if "stats.visualEntities" changed from array to number).
|
|
97
83
|
`
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
84
|
+
: '';
|
|
85
|
+
|
|
86
|
+
const existingScenariosJson = JSON.stringify(
|
|
87
|
+
existingScenarios
|
|
88
|
+
.filter((s) => (error ? !!s.metadata.error : !s.metadata.error))
|
|
89
|
+
.map((s) => ({
|
|
90
|
+
name: s.name,
|
|
91
|
+
description: s.description,
|
|
92
|
+
keyAttributeInstructions: s.metadata.keyAttributeInstructions,
|
|
93
|
+
playwrightInstructions: s.metadata.playwrightInstructions,
|
|
94
|
+
})),
|
|
95
|
+
null,
|
|
96
|
+
2,
|
|
97
|
+
);
|
|
98
|
+
|
|
99
|
+
const diffSection = commitDiff
|
|
100
|
+
? `
|
|
101
|
+
## Code Change (Diff)
|
|
102
|
+
\`\`\`diff
|
|
103
|
+
${commitDiff}
|
|
104
|
+
\`\`\``
|
|
105
|
+
: '';
|
|
106
|
+
|
|
107
|
+
const dependencySection =
|
|
108
|
+
!error &&
|
|
109
|
+
relevantDependentKeyAttributes &&
|
|
110
|
+
Object.keys(relevantDependentKeyAttributes).length > 0
|
|
111
|
+
? `
|
|
112
|
+
## Dependency Key Attributes
|
|
113
|
+
\`\`\`json
|
|
103
114
|
${JSON.stringify(
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
115
|
+
Object.keys(relevantDependentKeyAttributes).reduce((acc: any, path) => {
|
|
116
|
+
acc[path] = Object.keys(relevantDependentKeyAttributes[path]).reduce(
|
|
117
|
+
(entityAcc: any, entityName) => {
|
|
118
|
+
entityAcc[entityName] = relevantDependentKeyAttributes[path][
|
|
119
|
+
entityName
|
|
120
|
+
].map((ka: any) => ({
|
|
121
|
+
dataStructurePath: ka.dataStructurePath,
|
|
122
|
+
localVariable: ka.path || ka.internalPath,
|
|
123
|
+
description: ka.description,
|
|
124
|
+
validValueOptions: ka.validValueOptions,
|
|
125
|
+
}));
|
|
126
|
+
return entityAcc;
|
|
127
|
+
},
|
|
128
|
+
{},
|
|
129
|
+
);
|
|
130
|
+
return acc;
|
|
131
|
+
}, {}),
|
|
110
132
|
null,
|
|
111
133
|
2,
|
|
112
134
|
)}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
Existing Scenarios:
|
|
135
|
+
\`\`\``
|
|
136
|
+
: '';
|
|
116
137
|
|
|
138
|
+
return `## Added Key Attributes
|
|
139
|
+
\`\`\`json
|
|
140
|
+
${addedSection}
|
|
117
141
|
\`\`\`
|
|
118
|
-
${JSON.stringify(
|
|
119
|
-
existingScenarios
|
|
120
|
-
.filter((s) => (error ? !!s.metadata.error : !s.metadata.error))
|
|
121
|
-
.map((s) => ({
|
|
122
|
-
name: s.name,
|
|
123
|
-
description: s.description,
|
|
124
|
-
keyAttributeInstructions: s.metadata.keyAttributeInstructions,
|
|
125
|
-
playwrightInstructions: s.metadata.playwrightInstructions,
|
|
126
|
-
})),
|
|
127
|
-
null,
|
|
128
|
-
2,
|
|
129
|
-
)}
|
|
130
|
-
\`\`\`
|
|
131
|
-
|
|
132
|
-
${
|
|
133
|
-
commitDiff
|
|
134
|
-
? `
|
|
135
|
-
Code Change:
|
|
136
142
|
|
|
143
|
+
## Removed Key Attributes
|
|
144
|
+
\`\`\`json
|
|
145
|
+
${removedSection}
|
|
137
146
|
\`\`\`
|
|
138
|
-
${
|
|
147
|
+
${changedFieldsSection}
|
|
148
|
+
## Current Key Attributes
|
|
149
|
+
\`\`\`json
|
|
150
|
+
${JSON.stringify(formatKeyAttrs(keyAttributes), null, 2)}
|
|
139
151
|
\`\`\`
|
|
140
|
-
`
|
|
141
|
-
: ''
|
|
142
|
-
}
|
|
143
|
-
Function Code:
|
|
144
152
|
|
|
153
|
+
## Existing Scenarios
|
|
154
|
+
\`\`\`json
|
|
155
|
+
${existingScenariosJson}
|
|
145
156
|
\`\`\`
|
|
146
|
-
${
|
|
147
|
-
\`\`\`
|
|
157
|
+
${diffSection}
|
|
148
158
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
? `Key Attributes for Dependencies:
|
|
154
|
-
\`\`\`
|
|
155
|
-
${JSON.stringify(
|
|
156
|
-
Object.keys(relevantDependentKeyAttributes).reduce((acc: any, path) => {
|
|
157
|
-
acc[path] = Object.keys(
|
|
158
|
-
(relevantDependentKeyAttributes as any)[path],
|
|
159
|
-
).reduce((entityAcc: any, entityName) => {
|
|
160
|
-
entityAcc[entityName] = (relevantDependentKeyAttributes as any)[path][
|
|
161
|
-
entityName
|
|
162
|
-
].map((ka: any) => ({
|
|
163
|
-
dataStructurePath: ka.dataStructurePath, // Full path in mockData
|
|
164
|
-
localVariable: ka.path || ka.internalPath, // Local variable name
|
|
165
|
-
description: ka.description,
|
|
166
|
-
validValueOptions: ka.validValueOptions,
|
|
167
|
-
}));
|
|
168
|
-
return entityAcc;
|
|
169
|
-
}, {});
|
|
170
|
-
return acc;
|
|
171
|
-
}, {}),
|
|
172
|
-
null,
|
|
173
|
-
2,
|
|
174
|
-
)}
|
|
175
|
-
\`\`\``
|
|
176
|
-
: ''
|
|
177
|
-
}
|
|
178
|
-
`;
|
|
159
|
+
## Current Code
|
|
160
|
+
\`\`\`typescript
|
|
161
|
+
${entity.code}
|
|
162
|
+
\`\`\`${dependencySection}`;
|
|
179
163
|
}
|
|
@@ -1,35 +1,16 @@
|
|
|
1
1
|
import { Entity } from '~codeyam/types';
|
|
2
2
|
|
|
3
3
|
export default function generateEntityDocumentationGenerator(entity: Entity) {
|
|
4
|
-
return
|
|
5
|
-
|
|
6
|
-
"""
|
|
7
|
-
${entity.code}
|
|
8
|
-
"""
|
|
9
|
-
|
|
10
|
-
What does this code do? Please create documentation for this code.
|
|
11
|
-
|
|
12
|
-
- Start with an overview that describes the overall intent of the code. Be concise in your language. Immediately start with the intent of the code. Here is an example Overview:
|
|
4
|
+
return `## Task
|
|
5
|
+
Document the following code.
|
|
13
6
|
|
|
14
|
-
|
|
15
|
-
|
|
7
|
+
## Code
|
|
8
|
+
\`\`\`typescript
|
|
9
|
+
${entity.code}
|
|
16
10
|
\`\`\`
|
|
17
11
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
- Next, specify the inputs (with details about types, how the input is used, and examples) and expected outputs (with details about types and examples).
|
|
21
|
-
|
|
22
|
-
- Finally, provide examples of how the code can be used with clear inputs and outputs for each example. Provide diverse examples (there's no need to include repetitive examples).
|
|
23
|
-
|
|
24
|
-
Write the documentation as markdown. Be concise. Use bullets when possible. No one wants to read long paragraphs of text.
|
|
25
|
-
|
|
26
|
-
Provide no other text than the documentation in proper markdown using the headers below.
|
|
27
|
-
|
|
28
|
-
## Overview
|
|
29
|
-
|
|
30
|
-
## Inputs
|
|
31
|
-
|
|
32
|
-
## Output
|
|
12
|
+
## Overview Example
|
|
13
|
+
Good: "Displays details about a specific Git commit. Shows the commit message, author, date, and provides a link to GitHub. Users can copy the commit SHA to clipboard."
|
|
33
14
|
|
|
34
|
-
|
|
15
|
+
Bad: "The CommitDetails function takes a commit object..." (mentions the function name)`;
|
|
35
16
|
}
|
|
@@ -11,50 +11,45 @@ export default function generateEntityScenarioDataGenerator(
|
|
|
11
11
|
return incompleteResponse;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
const scenarioJson = JSON.stringify(
|
|
15
|
+
{
|
|
16
|
+
name: scenario.name,
|
|
17
|
+
description: scenario.description,
|
|
18
|
+
keyAttributeInstructions: scenario.metadata.keyAttributeInstructions,
|
|
19
|
+
},
|
|
20
|
+
null,
|
|
21
|
+
2,
|
|
22
|
+
);
|
|
15
23
|
|
|
16
|
-
|
|
17
|
-
\`\`\`
|
|
18
|
-
${JSON.stringify(
|
|
19
|
-
{
|
|
20
|
-
name: scenario.name,
|
|
21
|
-
description: scenario.description,
|
|
22
|
-
keyAttributeInstructions: scenario.metadata.keyAttributeInstructions,
|
|
23
|
-
},
|
|
24
|
-
null,
|
|
25
|
-
2,
|
|
26
|
-
)}
|
|
27
|
-
\`\`\`
|
|
28
|
-
${
|
|
29
|
-
defaultScenarioData
|
|
24
|
+
const defaultDataSection = defaultScenarioData
|
|
30
25
|
? `
|
|
31
|
-
## Default Scenario Data
|
|
32
|
-
|
|
33
|
-
Here is the Default Scenario data. The data generated for this scenario will be merged into this Default Scenario data.
|
|
34
|
-
\`\`\`
|
|
26
|
+
## Default Scenario Data (merge base)
|
|
27
|
+
\`\`\`json
|
|
35
28
|
${JSON.stringify(defaultScenarioData.data, null, 2)}
|
|
36
29
|
\`\`\`
|
|
37
|
-
|
|
38
30
|
`
|
|
39
|
-
: ''
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
\`\`\`
|
|
31
|
+
: '';
|
|
32
|
+
|
|
33
|
+
const mockDataSection = structure.dataForMocks
|
|
34
|
+
? `## mockData Structure
|
|
35
|
+
\`\`\`json
|
|
45
36
|
${JSON.stringify(noErrorAttributes(structure.dataForMocks), null, 2)}
|
|
46
|
-
|
|
47
|
-
`
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
structure.arguments
|
|
53
|
-
? `The argumentsData structure (for the default scenario provide robust values for the entire structure, excluding error attributes unless specifically requested):
|
|
54
|
-
\`\`\`
|
|
37
|
+
\`\`\``
|
|
38
|
+
: '## mockData Structure\nNone—return `{}` for mockData.';
|
|
39
|
+
|
|
40
|
+
const argumentsSection = structure.arguments
|
|
41
|
+
? `## argumentsData Structure
|
|
42
|
+
\`\`\`json
|
|
55
43
|
${JSON.stringify(noErrorAttributes(structure.arguments), null, 2)}
|
|
44
|
+
\`\`\``
|
|
45
|
+
: '## argumentsData Structure\nNone—return `[]` for argumentsData.';
|
|
46
|
+
|
|
47
|
+
return `## Scenario
|
|
48
|
+
\`\`\`json
|
|
49
|
+
${scenarioJson}
|
|
56
50
|
\`\`\`
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
51
|
+
${defaultDataSection}
|
|
52
|
+
${mockDataSection}
|
|
53
|
+
|
|
54
|
+
${argumentsSection}`;
|
|
60
55
|
}
|
package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.ts
CHANGED
|
@@ -19,36 +19,28 @@ export default function generateEntityScenariosGenerator({
|
|
|
19
19
|
(ka) => ka.dependentEntityName,
|
|
20
20
|
);
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
null,
|
|
33
|
-
2,
|
|
34
|
-
)}
|
|
35
|
-
\`\`\`
|
|
36
|
-
|
|
37
|
-
Code:
|
|
38
|
-
\`\`\`
|
|
39
|
-
${entity.code}
|
|
40
|
-
\`\`\`
|
|
22
|
+
const keyAttrsJson = JSON.stringify(
|
|
23
|
+
thisEntityKeyAttributes.map((ka) => ({
|
|
24
|
+
dataStructurePath: ka.dataStructurePath,
|
|
25
|
+
localVariable: ka.internalPath,
|
|
26
|
+
description: ka.description,
|
|
27
|
+
validValueOptions: ka.validValueOptions,
|
|
28
|
+
})),
|
|
29
|
+
null,
|
|
30
|
+
2,
|
|
31
|
+
);
|
|
41
32
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
33
|
+
const dependencySection =
|
|
34
|
+
!error &&
|
|
35
|
+
relevantDependentKeyAttributes &&
|
|
36
|
+
relevantDependentKeyAttributes.length > 0
|
|
37
|
+
? `
|
|
38
|
+
## Dependency Key Attributes
|
|
39
|
+
\`\`\`json
|
|
48
40
|
${JSON.stringify(
|
|
49
41
|
relevantDependentKeyAttributes.map((ka) => ({
|
|
50
|
-
dataStructurePath: ka.dataStructurePath,
|
|
51
|
-
localVariable: ka.internalPath,
|
|
42
|
+
dataStructurePath: ka.dataStructurePath,
|
|
43
|
+
localVariable: ka.internalPath,
|
|
52
44
|
forDependency: ka.dependentEntityName,
|
|
53
45
|
description: ka.description,
|
|
54
46
|
validValueOptions: ka.validValueOptions,
|
|
@@ -57,7 +49,15 @@ ${JSON.stringify(
|
|
|
57
49
|
2,
|
|
58
50
|
)}
|
|
59
51
|
\`\`\``
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
52
|
+
: '';
|
|
53
|
+
|
|
54
|
+
return `## Key Attributes
|
|
55
|
+
\`\`\`json
|
|
56
|
+
${keyAttrsJson}
|
|
57
|
+
\`\`\`
|
|
58
|
+
|
|
59
|
+
## Code
|
|
60
|
+
\`\`\`typescript
|
|
61
|
+
${entity.code}
|
|
62
|
+
\`\`\`${dependencySection}`;
|
|
63
63
|
}
|
|
@@ -55,6 +55,7 @@ export namespace AI {
|
|
|
55
55
|
*/
|
|
56
56
|
export enum Model {
|
|
57
57
|
// OpenAI
|
|
58
|
+
OPENAI_GPT5_1 = 'openai/gpt-5.1',
|
|
58
59
|
OPENAI_GPT5 = 'openai/gpt-5',
|
|
59
60
|
OPENAI_GPT5_MINI = 'openai/gpt-5-mini',
|
|
60
61
|
OPENAI_GPT5_NANO = 'openai/gpt-5-nano',
|
|
@@ -83,6 +84,7 @@ export namespace AI {
|
|
|
83
84
|
// Anthropic
|
|
84
85
|
ANTHROPIC_CLAUDE_4_5_HAIKU = 'anthropic/claude-4.5-haiku',
|
|
85
86
|
ANTHROPIC_CLAUDE_4_5_SONNET = 'anthropic/claude-4.5-sonnet',
|
|
87
|
+
ANTHROPIC_CLAUDE_4_5_OPUS = 'anthropic/claude-4.5-opus',
|
|
86
88
|
|
|
87
89
|
// Deprecated models (kept for backward compatibility)
|
|
88
90
|
PHIND_CODELLAMA = 'phind/codellama',
|
|
@@ -22,6 +22,8 @@ export interface SerializableFunctionCallInfo {
|
|
|
22
22
|
callScope: string;
|
|
23
23
|
schema?: Record<string, string>;
|
|
24
24
|
equivalencies?: Record<string, SerializableScopeVariable[]>;
|
|
25
|
+
/** All call signatures merged into this entry (e.g., logger.info, logger.debug) */
|
|
26
|
+
allCallSignatures?: string[];
|
|
25
27
|
}
|
|
26
28
|
|
|
27
29
|
export interface SerializableFunctionResult {
|
|
@@ -34,6 +36,28 @@ export interface SerializableFunctionResult {
|
|
|
34
36
|
environmentVariables: string[];
|
|
35
37
|
}
|
|
36
38
|
|
|
39
|
+
/**
|
|
40
|
+
* Enriched conditional usage that includes traced source data path.
|
|
41
|
+
* The sourceDataPath connects a local variable (used in conditionals) back to
|
|
42
|
+
* the original data attribute from the attributes map.
|
|
43
|
+
*/
|
|
44
|
+
export interface EnrichedConditionalUsage {
|
|
45
|
+
/** The local variable path (e.g., "activeTab") */
|
|
46
|
+
path: string;
|
|
47
|
+
/** The type of condition this attribute is used in */
|
|
48
|
+
conditionType: 'truthiness' | 'comparison' | 'switch';
|
|
49
|
+
/** For comparison conditions, the literal values being compared against */
|
|
50
|
+
comparedValues?: string[];
|
|
51
|
+
/** Where this conditional usage occurs */
|
|
52
|
+
location: 'if' | 'ternary' | 'logical-and' | 'switch';
|
|
53
|
+
/**
|
|
54
|
+
* The traced source data path in the format "scopeName.path"
|
|
55
|
+
* e.g., "useParams().functionCallReturnValue['*']"
|
|
56
|
+
* This connects the local variable to the original data attribute.
|
|
57
|
+
*/
|
|
58
|
+
sourceDataPath?: string;
|
|
59
|
+
}
|
|
60
|
+
|
|
37
61
|
export interface SerializableDataStructure {
|
|
38
62
|
// External function calls array
|
|
39
63
|
externalFunctionCalls: SerializableFunctionCallInfo[];
|
|
@@ -48,6 +72,13 @@ export interface SerializableDataStructure {
|
|
|
48
72
|
equivalentSignatureVariables: Record<string, string>;
|
|
49
73
|
|
|
50
74
|
environmentVariables: string[];
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Conditional usages with source tracing.
|
|
78
|
+
* Maps local variable path to array of enriched usages that include
|
|
79
|
+
* the traced source data path.
|
|
80
|
+
*/
|
|
81
|
+
conditionalUsages?: Record<string, EnrichedConditionalUsage[]>;
|
|
51
82
|
}
|
|
52
83
|
|
|
53
84
|
/**
|
|
@@ -182,3 +213,13 @@ export function getEquivalentSignatureVariables(
|
|
|
182
213
|
): Record<string, string> {
|
|
183
214
|
return dataStructure.equivalentSignatureVariables;
|
|
184
215
|
}
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* Get enriched conditional usages with source tracing.
|
|
219
|
+
* Returns the conditional usages map, or empty object if not available.
|
|
220
|
+
*/
|
|
221
|
+
export function getConditionalUsages(
|
|
222
|
+
dataStructure: SerializableDataStructure,
|
|
223
|
+
): Record<string, EnrichedConditionalUsage[]> {
|
|
224
|
+
return dataStructure.conditionalUsages ?? {};
|
|
225
|
+
}
|
|
@@ -278,11 +278,16 @@ export class FileAnalyzer {
|
|
|
278
278
|
|
|
279
279
|
for (let i = 0; i < uniqueRelevantExpressions.length; i++) {
|
|
280
280
|
const relevantExpression = uniqueRelevantExpressions[i];
|
|
281
|
-
|
|
282
|
-
|
|
281
|
+
// Resolve namespace imports for local packages (not external libraries).
|
|
282
|
+
// A module is local if it's not external OR if it resolves to a path outside node_modules
|
|
283
|
+
// (handles local monorepo packages like @codeyam/ui-components).
|
|
284
|
+
// If resolvedFileName is undefined, we can't determine location, so treat as external.
|
|
285
|
+
const isLocalModule =
|
|
283
286
|
resolvedModule &&
|
|
284
|
-
!resolvedModule.isExternalLibraryImport
|
|
285
|
-
|
|
287
|
+
(!resolvedModule.isExternalLibraryImport ||
|
|
288
|
+
(resolvedModule.resolvedFileName &&
|
|
289
|
+
!resolvedModule.resolvedFileName.includes('node_modules')));
|
|
290
|
+
if (relevantExpression.exportName === '*' && isLocalModule) {
|
|
286
291
|
uniqueRelevantExpressions.splice(i, 1);
|
|
287
292
|
uniqueRelevantExpressions.push(
|
|
288
293
|
...this.resolveNamespaceImport(
|
|
@@ -295,11 +300,18 @@ export class FileAnalyzer {
|
|
|
295
300
|
}
|
|
296
301
|
|
|
297
302
|
if (uniqueRelevantExpressions.length > 0) {
|
|
298
|
-
//
|
|
303
|
+
// A module is external if TypeScript says so AND the resolved path is in node_modules.
|
|
304
|
+
// This handles local monorepo packages (like @codeyam/ui-components) which TypeScript
|
|
305
|
+
// marks as isExternalLibraryImport=true because they're symlinked, but actually
|
|
306
|
+
// resolve to files inside the project (not in node_modules).
|
|
307
|
+
const isExternalLibrary =
|
|
308
|
+
(resolvedModule?.isExternalLibraryImport ?? true) &&
|
|
309
|
+
(resolvedModule?.resolvedFileName?.includes('node_modules') ??
|
|
310
|
+
true);
|
|
299
311
|
return [
|
|
300
312
|
importedFilePath,
|
|
301
313
|
{
|
|
302
|
-
externalLibrary:
|
|
314
|
+
externalLibrary: isExternalLibrary,
|
|
303
315
|
resolvedPath: resolvedModule?.resolvedFileName,
|
|
304
316
|
exportInfos: uniqueRelevantExpressions,
|
|
305
317
|
},
|
|
@@ -336,14 +348,41 @@ export class FileAnalyzer {
|
|
|
336
348
|
}
|
|
337
349
|
|
|
338
350
|
const relativePath = this.projectAnalyzer.getRelativePath(importPath);
|
|
339
|
-
|
|
351
|
+
let projectPath = this.projectAnalyzer.getRelativePath(
|
|
340
352
|
resolvedImport.resolvedFileName,
|
|
341
353
|
);
|
|
342
354
|
|
|
343
|
-
|
|
355
|
+
let importedFile = this.projectAnalyzer.project.files.find(
|
|
344
356
|
(f) => f.path === projectPath,
|
|
345
357
|
);
|
|
346
358
|
|
|
359
|
+
// Workspace packages often resolve to dist/ paths (from package.json "types" or "main"),
|
|
360
|
+
// but our project.files contains source files in src/. Try mapping dist -> src.
|
|
361
|
+
if (!importedFile && projectPath.includes('/dist/')) {
|
|
362
|
+
const srcPath = projectPath.replace('/dist/', '/src/');
|
|
363
|
+
// Try exact match first (e.g., dist/index.d.ts -> src/index.ts)
|
|
364
|
+
importedFile = this.projectAnalyzer.project.files.find(
|
|
365
|
+
(f) => f.path === srcPath,
|
|
366
|
+
);
|
|
367
|
+
if (importedFile) {
|
|
368
|
+
projectPath = srcPath;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
// If not found, try with different extensions
|
|
372
|
+
if (!importedFile) {
|
|
373
|
+
const basePath = srcPath
|
|
374
|
+
.replace(/\.d\.ts$/, '')
|
|
375
|
+
.replace(/\.js$/, '');
|
|
376
|
+
importedFile = this.projectAnalyzer.project.files.find(
|
|
377
|
+
(f) =>
|
|
378
|
+
f.path === basePath + '.ts' || f.path === basePath + '.tsx',
|
|
379
|
+
);
|
|
380
|
+
if (importedFile) {
|
|
381
|
+
projectPath = importedFile.path;
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
|
|
347
386
|
if (!importedFile) {
|
|
348
387
|
// File not found in project.files, but still preserve resolvedPath
|
|
349
388
|
return [
|
|
@@ -54,13 +54,15 @@ export function getAllExportedNodes(
|
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
function processNamedExports(node: ts.NamedExports) {
|
|
57
|
+
const parent = node.parent as ts.ExportDeclaration | undefined;
|
|
58
|
+
|
|
57
59
|
node.elements.forEach((element) => {
|
|
58
60
|
const name = element.name.text;
|
|
59
61
|
const propertyName = element.propertyName
|
|
60
62
|
? element.propertyName.text
|
|
61
63
|
: name;
|
|
62
|
-
const importedSource =
|
|
63
|
-
?
|
|
64
|
+
const importedSource = parent?.moduleSpecifier
|
|
65
|
+
? parent.moduleSpecifier.getText(sourceFile)
|
|
64
66
|
: undefined;
|
|
65
67
|
|
|
66
68
|
if (importedSource) {
|
|
@@ -103,19 +103,21 @@ export function getAllExports(
|
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
function processNamedExports(node: ts.NamedExports) {
|
|
106
|
+
const parent = node.parent as ts.ExportDeclaration | undefined;
|
|
107
|
+
|
|
106
108
|
node.elements.forEach((element) => {
|
|
107
109
|
const name = element.name.text;
|
|
108
110
|
const propertyName = element.propertyName
|
|
109
111
|
? element.propertyName.text
|
|
110
112
|
: name;
|
|
111
|
-
const importedSource =
|
|
112
|
-
?
|
|
113
|
+
const importedSource = parent?.moduleSpecifier
|
|
114
|
+
? parent.moduleSpecifier.getText(sourceFile)
|
|
113
115
|
: undefined;
|
|
114
116
|
|
|
115
117
|
if (importedSource) {
|
|
116
118
|
const directImportPath = importedSource?.replace(/['"]/g, '');
|
|
117
119
|
const directImport = (
|
|
118
|
-
|
|
120
|
+
parent?.exportClause as ts.NamedExports | undefined
|
|
119
121
|
)?.elements?.find(
|
|
120
122
|
(e) => (e.propertyName || e.name).text === propertyName,
|
|
121
123
|
);
|