@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
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ScopeTreeManager
|
|
3
|
+
*
|
|
4
|
+
* Manages the hierarchical tree structure of scopes in the analysis.
|
|
5
|
+
* Tracks parent-child relationships between function scopes.
|
|
6
|
+
*
|
|
7
|
+
* ## Purpose
|
|
8
|
+
*
|
|
9
|
+
* When analyzing nested functions, we need to track which functions
|
|
10
|
+
* are defined inside other functions. This affects:
|
|
11
|
+
* - Variable scope inheritance (inner functions can access outer variables)
|
|
12
|
+
* - Equivalency propagation (data flows between parent and child scopes)
|
|
13
|
+
* - Schema merging (combining schemas from nested call hierarchies)
|
|
14
|
+
*
|
|
15
|
+
* ## Tree Structure Example
|
|
16
|
+
*
|
|
17
|
+
* For code like:
|
|
18
|
+
* ```typescript
|
|
19
|
+
* function outer(data) {
|
|
20
|
+
* function inner(item) {
|
|
21
|
+
* return item.name;
|
|
22
|
+
* }
|
|
23
|
+
* return data.map(inner);
|
|
24
|
+
* }
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* The tree would be:
|
|
28
|
+
* ```
|
|
29
|
+
* outer
|
|
30
|
+
* └── inner
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* ## Key Operations
|
|
34
|
+
*
|
|
35
|
+
* - `addPath(['outer', 'inner'])` - Builds tree as scopes are discovered
|
|
36
|
+
* - `findNode('inner')` - Locates scope node for equivalency lookups
|
|
37
|
+
* - `getTree()` - Returns full tree for debugging/visualization
|
|
38
|
+
*
|
|
39
|
+
* ## Related Modules
|
|
40
|
+
*
|
|
41
|
+
* - `ScopeDataStructure.addScopeAnalysis()` - Adds paths when processing scopes
|
|
42
|
+
* - `ScopeDataStructure.getAnalysisTree()` - Exposes tree to callers
|
|
43
|
+
*/
|
|
44
|
+
export const ROOT_SCOPE_NAME = 'root';
|
|
45
|
+
export class ScopeTreeManager {
|
|
46
|
+
constructor(rootName = ROOT_SCOPE_NAME) {
|
|
47
|
+
this.tree = { name: rootName, children: [] };
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Gets the name of the root scope.
|
|
51
|
+
* This is frequently used as the default scope name throughout the analysis.
|
|
52
|
+
*/
|
|
53
|
+
getRootName() {
|
|
54
|
+
return this.tree.name;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Sets the name of the root scope.
|
|
58
|
+
* Called during initialization when the actual root scope name is known.
|
|
59
|
+
*/
|
|
60
|
+
setRootName(name) {
|
|
61
|
+
this.tree.name = name;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Gets the entire tree structure.
|
|
65
|
+
* Used by getAnalysisTree() to return the scope hierarchy.
|
|
66
|
+
*/
|
|
67
|
+
getTree() {
|
|
68
|
+
return this.tree;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Adds a scope path to the tree.
|
|
72
|
+
* Creates intermediate nodes as needed.
|
|
73
|
+
*
|
|
74
|
+
* @param pathParts - Array of scope names representing the path from root
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* // For a nested function: root -> parentFunc -> childFunc
|
|
78
|
+
* addPath(['root', 'parentFunc', 'childFunc'])
|
|
79
|
+
*/
|
|
80
|
+
addPath(pathParts) {
|
|
81
|
+
let currentNode = { children: [this.tree] };
|
|
82
|
+
for (const pathPart of pathParts) {
|
|
83
|
+
const existingChild = currentNode.children.find((child) => child.name === pathPart);
|
|
84
|
+
if (existingChild) {
|
|
85
|
+
currentNode = existingChild;
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
const newChild = {
|
|
89
|
+
name: pathPart,
|
|
90
|
+
children: [],
|
|
91
|
+
};
|
|
92
|
+
currentNode.children.push(newChild);
|
|
93
|
+
currentNode = newChild;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Finds a node by name in the tree (breadth-first search).
|
|
99
|
+
* Returns undefined if not found.
|
|
100
|
+
*/
|
|
101
|
+
findNode(name) {
|
|
102
|
+
const queue = [this.tree];
|
|
103
|
+
while (queue.length > 0) {
|
|
104
|
+
const node = queue.shift();
|
|
105
|
+
if (node.name === name) {
|
|
106
|
+
return node;
|
|
107
|
+
}
|
|
108
|
+
queue.push(...node.children);
|
|
109
|
+
}
|
|
110
|
+
return undefined;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Gets all scope names in the tree (flattened).
|
|
114
|
+
*/
|
|
115
|
+
getAllNames() {
|
|
116
|
+
const names = [];
|
|
117
|
+
const queue = [this.tree];
|
|
118
|
+
while (queue.length > 0) {
|
|
119
|
+
const node = queue.shift();
|
|
120
|
+
names.push(node.name);
|
|
121
|
+
queue.push(...node.children);
|
|
122
|
+
}
|
|
123
|
+
return names;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Returns the depth of the tree (for debugging/metrics).
|
|
127
|
+
*/
|
|
128
|
+
getDepth() {
|
|
129
|
+
const getNodeDepth = (node) => {
|
|
130
|
+
if (node.children.length === 0) {
|
|
131
|
+
return 1;
|
|
132
|
+
}
|
|
133
|
+
return 1 + Math.max(...node.children.map(getNodeDepth));
|
|
134
|
+
};
|
|
135
|
+
return getNodeDepth(this.tree);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=ScopeTreeManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScopeTreeManager.js","sourceRoot":"","sources":["../../../../../../../../packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAOH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC;AAEtC,MAAM,OAAO,gBAAgB;IAG3B,YAAY,WAAmB,eAAe;QAC5C,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,IAAY;QACtB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;;;;;;;;OASG;IACH,OAAO,CAAC,SAAmB;QACzB,IAAI,WAAW,GAAkC,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAE3E,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAC7C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CACnC,CAAC;YAEF,IAAI,aAAa,EAAE,CAAC;gBAClB,WAAW,GAAG,aAAa,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAkB;oBAC9B,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,EAAE;iBACb,CAAC;gBACF,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpC,WAAW,GAAG,QAAQ,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,IAAY;QACnB,MAAM,KAAK,GAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE3C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;YAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,WAAW;QACT,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE3C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,MAAM,YAAY,GAAG,CAAC,IAAmB,EAAU,EAAE;YACnD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,CAAC;YACX,CAAC;YACD,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC;QAEF,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACF"}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VisitedTracker
|
|
3
|
+
*
|
|
4
|
+
* Manages visited state tracking for the ScopeDataStructure analysis.
|
|
5
|
+
* Prevents infinite loops and redundant processing by tracking which
|
|
6
|
+
* scope/path/value combinations have already been processed.
|
|
7
|
+
*
|
|
8
|
+
* ## Why This Exists
|
|
9
|
+
*
|
|
10
|
+
* The schema building process recursively follows equivalencies between
|
|
11
|
+
* data paths. Without cycle detection, circular references like:
|
|
12
|
+
* `user.profile` → `currentUser` → `user.profile`
|
|
13
|
+
* would cause infinite loops.
|
|
14
|
+
*
|
|
15
|
+
* ## Two Tracking Modes
|
|
16
|
+
*
|
|
17
|
+
* ### 1. Global Visited (scope::path::value)
|
|
18
|
+
* Fine-grained deduplication for `addToSchema()`. Tracks the complete
|
|
19
|
+
* tuple so the same path can be visited with different type values.
|
|
20
|
+
*
|
|
21
|
+
* Example: `myFunc::user.id::string` and `myFunc::user.id::number`
|
|
22
|
+
* are tracked separately, allowing both types to be recorded.
|
|
23
|
+
*
|
|
24
|
+
* ### 2. Complex Source Visited (scope::path)
|
|
25
|
+
* Coarser deduplication for `addComplexSourcePathVariables()`. Ignores
|
|
26
|
+
* the type value because complex source processing should happen once
|
|
27
|
+
* per path regardless of type.
|
|
28
|
+
*
|
|
29
|
+
* ## Lifecycle
|
|
30
|
+
*
|
|
31
|
+
* - Global visited is **reset** at the start of `captureCompleteSchema()`
|
|
32
|
+
* to allow re-processing in the schema building phase.
|
|
33
|
+
* - Complex source visited is **never reset** during normal operation.
|
|
34
|
+
*
|
|
35
|
+
* ## Related Modules
|
|
36
|
+
*
|
|
37
|
+
* - `ScopeDataStructure.addToSchema()` - Primary consumer of global visited
|
|
38
|
+
* - `ScopeDataStructure.addComplexSourcePathVariables()` - Uses complex source visited
|
|
39
|
+
*/
|
|
40
|
+
/**
|
|
41
|
+
* Tracks visited state to prevent infinite loops during schema building.
|
|
42
|
+
*/
|
|
43
|
+
export class VisitedTracker {
|
|
44
|
+
constructor() {
|
|
45
|
+
/**
|
|
46
|
+
* Fine-grained visited tracking using scope::path::value.
|
|
47
|
+
* Used by addToSchema to skip already-processed combinations.
|
|
48
|
+
*/
|
|
49
|
+
this.globalVisited = new Set();
|
|
50
|
+
/**
|
|
51
|
+
* Coarser visited tracking using scope::path only (without value).
|
|
52
|
+
* Used by addComplexSourcePathVariables to allow each unique
|
|
53
|
+
* scope+path combo to be processed once, regardless of value.
|
|
54
|
+
*/
|
|
55
|
+
this.complexSourceVisited = new Set();
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Creates a unique key for global visited tracking.
|
|
59
|
+
* @param scopeNodeName - Name of the scope
|
|
60
|
+
* @param path - Schema path
|
|
61
|
+
* @param value - Type value
|
|
62
|
+
*/
|
|
63
|
+
makeGlobalKey(scopeNodeName, path, value) {
|
|
64
|
+
return `${scopeNodeName}::${path}::${value}`;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Creates a unique key for complex source visited tracking.
|
|
68
|
+
* @param scopeNodeName - Name of the scope
|
|
69
|
+
* @param path - Schema path
|
|
70
|
+
*/
|
|
71
|
+
makeComplexKey(scopeNodeName, path) {
|
|
72
|
+
return `${scopeNodeName}::${path}`;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Checks if a scope/path/value combination has been globally visited.
|
|
76
|
+
* Does NOT mark it as visited - use markGlobalVisited for that.
|
|
77
|
+
*
|
|
78
|
+
* @returns true if already visited
|
|
79
|
+
*/
|
|
80
|
+
hasGlobalVisited(scopeNodeName, path, value) {
|
|
81
|
+
return this.globalVisited.has(this.makeGlobalKey(scopeNodeName, path, value));
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Marks a scope/path/value combination as globally visited.
|
|
85
|
+
*/
|
|
86
|
+
markGlobalVisited(scopeNodeName, path, value) {
|
|
87
|
+
this.globalVisited.add(this.makeGlobalKey(scopeNodeName, path, value));
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Checks and marks a scope/path/value combination as globally visited.
|
|
91
|
+
* This is a convenience method that combines check and mark.
|
|
92
|
+
*
|
|
93
|
+
* @returns true if was already visited (should skip processing)
|
|
94
|
+
*/
|
|
95
|
+
checkAndMarkGlobalVisited(scopeNodeName, path, value) {
|
|
96
|
+
const key = this.makeGlobalKey(scopeNodeName, path, value);
|
|
97
|
+
if (this.globalVisited.has(key)) {
|
|
98
|
+
return true; // Already visited
|
|
99
|
+
}
|
|
100
|
+
this.globalVisited.add(key);
|
|
101
|
+
return false; // Not visited, now marked
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Checks if a scope/path combination has been visited for complex sources.
|
|
105
|
+
* Does NOT mark it as visited - use markComplexSourceVisited for that.
|
|
106
|
+
*
|
|
107
|
+
* @returns true if already visited
|
|
108
|
+
*/
|
|
109
|
+
hasComplexSourceVisited(scopeNodeName, path) {
|
|
110
|
+
return this.complexSourceVisited.has(this.makeComplexKey(scopeNodeName, path));
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Marks a scope/path combination as visited for complex sources.
|
|
114
|
+
*/
|
|
115
|
+
markComplexSourceVisited(scopeNodeName, path) {
|
|
116
|
+
this.complexSourceVisited.add(this.makeComplexKey(scopeNodeName, path));
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Checks and marks a scope/path combination as visited for complex sources.
|
|
120
|
+
* This is a convenience method that combines check and mark.
|
|
121
|
+
*
|
|
122
|
+
* @returns true if was already visited (should skip processing)
|
|
123
|
+
*/
|
|
124
|
+
checkAndMarkComplexSourceVisited(scopeNodeName, path) {
|
|
125
|
+
const key = this.makeComplexKey(scopeNodeName, path);
|
|
126
|
+
if (this.complexSourceVisited.has(key)) {
|
|
127
|
+
return true; // Already visited
|
|
128
|
+
}
|
|
129
|
+
this.complexSourceVisited.add(key);
|
|
130
|
+
return false; // Not visited, now marked
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Resets the global visited set.
|
|
134
|
+
* Called at the start of captureCompleteSchema() to allow
|
|
135
|
+
* re-processing in the second phase.
|
|
136
|
+
*/
|
|
137
|
+
resetGlobalVisited() {
|
|
138
|
+
this.globalVisited.clear();
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Resets the complex source visited set.
|
|
142
|
+
* Note: In the original code, this was never reset.
|
|
143
|
+
*/
|
|
144
|
+
resetComplexSourceVisited() {
|
|
145
|
+
this.complexSourceVisited.clear();
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Resets all visited tracking.
|
|
149
|
+
*/
|
|
150
|
+
resetAll() {
|
|
151
|
+
this.globalVisited.clear();
|
|
152
|
+
this.complexSourceVisited.clear();
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Returns statistics about the visited sets for debugging/monitoring.
|
|
156
|
+
*/
|
|
157
|
+
getStats() {
|
|
158
|
+
return {
|
|
159
|
+
globalVisited: this.globalVisited.size,
|
|
160
|
+
complexSourceVisited: this.complexSourceVisited.size,
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Checks if ANY variant of a scope/path was ever visited (ignores value).
|
|
165
|
+
* Useful for debugging to see if a path was processed at all.
|
|
166
|
+
*
|
|
167
|
+
* @returns true if any variant of this scope/path was visited
|
|
168
|
+
*/
|
|
169
|
+
wasVisited(scopeNodeName, path) {
|
|
170
|
+
const prefix = `${scopeNodeName}::${path}::`;
|
|
171
|
+
for (const key of this.globalVisited) {
|
|
172
|
+
if (key.startsWith(prefix)) {
|
|
173
|
+
return true;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
return this.hasComplexSourceVisited(scopeNodeName, path);
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Gets all visited entries for a scope (for debugging).
|
|
180
|
+
* Returns an array of {path, value} objects.
|
|
181
|
+
*/
|
|
182
|
+
getVisitedForScope(scopeNodeName) {
|
|
183
|
+
const prefix = `${scopeNodeName}::`;
|
|
184
|
+
const results = [];
|
|
185
|
+
for (const key of this.globalVisited) {
|
|
186
|
+
if (key.startsWith(prefix)) {
|
|
187
|
+
const parts = key.slice(prefix.length).split('::');
|
|
188
|
+
if (parts.length >= 2) {
|
|
189
|
+
results.push({
|
|
190
|
+
path: parts.slice(0, -1).join('::'), // Everything except last part
|
|
191
|
+
value: parts[parts.length - 1], // Last part is value
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
return results;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=VisitedTracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VisitedTracker.js","sourceRoot":"","sources":["../../../../../../../../packages/ai/src/lib/dataStructure/helpers/VisitedTracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,13 @@ export const nonTransformingArrayMethodsSet = new Set([
|
|
|
23
23
|
'reverse',
|
|
24
24
|
'entries',
|
|
25
25
|
]);
|
|
26
|
-
const isolatingArrayMethodsSet = new Set([
|
|
26
|
+
const isolatingArrayMethodsSet = new Set([
|
|
27
|
+
'find',
|
|
28
|
+
'findLast', // Returns element like find, but from end
|
|
29
|
+
'at',
|
|
30
|
+
'pop',
|
|
31
|
+
'shift',
|
|
32
|
+
]);
|
|
27
33
|
// Methods that are ambiguous - used on both arrays and non-arrays (e.g., router.push, history.pop)
|
|
28
34
|
// Don't infer array type from these alone without additional evidence
|
|
29
35
|
const ambiguousArrayMethodsSet = new Set(['push', 'pop']);
|
|
@@ -34,6 +40,12 @@ export const transformingArrayMethodsSet = new Set([
|
|
|
34
40
|
'concat',
|
|
35
41
|
'join',
|
|
36
42
|
'some',
|
|
43
|
+
'every', // Returns boolean
|
|
44
|
+
'findIndex', // Returns number (index)
|
|
45
|
+
'findLastIndex', // Returns number (index from end)
|
|
46
|
+
'indexOf', // Returns number (index)
|
|
47
|
+
'lastIndexOf', // Returns number (index from end)
|
|
48
|
+
'includes', // Returns boolean
|
|
37
49
|
]);
|
|
38
50
|
export const arrayMethodsSet = new Set([
|
|
39
51
|
...nonTransformingArrayMethodsSet,
|
|
@@ -174,6 +186,46 @@ export function clearAttributesFromMapping(mapping) {
|
|
|
174
186
|
const knownBasePaths = new Set();
|
|
175
187
|
clearAttributes(mapping, knownBasePaths);
|
|
176
188
|
}
|
|
189
|
+
/**
|
|
190
|
+
* Remove duplicate function calls (same function with different arguments) that have no return data.
|
|
191
|
+
* Example: setSelectedFilter(arg1) and setSelectedFilter(arg2) where neither has functionCallReturnValue
|
|
192
|
+
* These create invalid mock code when spread together (orphan spread statements).
|
|
193
|
+
*
|
|
194
|
+
* This is a targeted fix that can be called independently without the full clearAttributes logic,
|
|
195
|
+
* which was disabled in constructMockCode.ts due to side effects on array method calls.
|
|
196
|
+
*/
|
|
197
|
+
export function removeDuplicateFunctionCalls(mapping) {
|
|
198
|
+
const allKeys = Object.keys(mapping);
|
|
199
|
+
const functionCallGroups = {};
|
|
200
|
+
for (const key of allKeys) {
|
|
201
|
+
// Only process paths that:
|
|
202
|
+
// 1. Are marked as 'function'
|
|
203
|
+
// 2. END with a function call (parentheses) - not just contain one somewhere
|
|
204
|
+
// 3. Are on an object path (contain '.')
|
|
205
|
+
if (mapping[key] === 'function' && key.endsWith(')') && key.includes('.')) {
|
|
206
|
+
// Extract base path + function name (without the arguments)
|
|
207
|
+
// e.g., "returnValue.setSelectedFilter(arg)" -> "returnValue.setSelectedFilter"
|
|
208
|
+
const baseName = key.replace(/\([^)]*\)$/, '');
|
|
209
|
+
functionCallGroups[baseName] || (functionCallGroups[baseName] = []);
|
|
210
|
+
functionCallGroups[baseName].push(key);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
// For groups with multiple calls (same function, different args), remove those without return data
|
|
214
|
+
for (const baseName in functionCallGroups) {
|
|
215
|
+
const calls = functionCallGroups[baseName];
|
|
216
|
+
if (calls.length > 1) {
|
|
217
|
+
// Multiple calls to the same function with different arguments
|
|
218
|
+
for (const callPath of calls) {
|
|
219
|
+
// Check if this call has return data
|
|
220
|
+
const hasReturnData = allKeys.some((k) => k.startsWith(callPath + '.functionCallReturnValue') ||
|
|
221
|
+
k.startsWith(callPath + '.signature['));
|
|
222
|
+
if (!hasReturnData) {
|
|
223
|
+
delete mapping[callPath];
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
177
229
|
function transformPath({ oldPath, newPath, scopeNode, scopeDataStructure, }) {
|
|
178
230
|
const oldPathParts = splitOutsideParenthesesAndArrays(oldPath);
|
|
179
231
|
for (const schemaPath in scopeNode.schema) {
|
|
@@ -638,6 +690,8 @@ function clearAttributes(mapping, knownBasePaths) {
|
|
|
638
690
|
}
|
|
639
691
|
}
|
|
640
692
|
}
|
|
693
|
+
// Remove duplicate function calls (same function with different arguments) that have no return data
|
|
694
|
+
removeDuplicateFunctionCalls(mapping);
|
|
641
695
|
for (const key in mapping) {
|
|
642
696
|
const value = mapping[key];
|
|
643
697
|
if (knownTypes.has(value)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleanNonObjectFunctions.js","sourceRoot":"","sources":["../../../../../../../../packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cleanNonObjectFunctions.js","sourceRoot":"","sources":["../../../../../../../../packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.ts"],"names":[],"mappings":"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"}
|
|
@@ -280,8 +280,10 @@ export function fillInDirectSchemaGapsAndUnknowns({ scopeName, schema, attempts
|
|
|
280
280
|
const isPreviousAsync = schema[previousSubPath] === 'async-function';
|
|
281
281
|
// Don't set to 'function' if this is a promise method on an async function
|
|
282
282
|
// (we want the awaited value, not the promise)
|
|
283
|
+
// Also don't overwrite 'array' - the function might return an array (e.g., getAll())
|
|
283
284
|
if (schema[functionReturnValuePath] &&
|
|
284
285
|
schema[functionReturnValuePath] !== 'function' &&
|
|
286
|
+
schema[functionReturnValuePath] !== 'array' &&
|
|
285
287
|
!(isPromiseMethod && isPreviousAsync)) {
|
|
286
288
|
schema[functionReturnValuePath] = 'function';
|
|
287
289
|
changeMade = true;
|
|
@@ -322,16 +324,25 @@ function checkIfObjectOrFunction(path, schema) {
|
|
|
322
324
|
}
|
|
323
325
|
}
|
|
324
326
|
}
|
|
325
|
-
// Methods that are ambiguous - used on both arrays and non-arrays
|
|
327
|
+
// Methods that are ambiguous - used on both arrays and non-arrays
|
|
328
|
+
// These methods exist on arrays but also on Map, Set, Headers, FormData, URLSearchParams, etc.
|
|
326
329
|
// Don't infer array type from these alone without additional evidence
|
|
327
|
-
const AMBIGUOUS_ARRAY_METHODS = new Set([
|
|
330
|
+
const AMBIGUOUS_ARRAY_METHODS = new Set([
|
|
331
|
+
'push',
|
|
332
|
+
'pop',
|
|
333
|
+
'entries',
|
|
334
|
+
'keys',
|
|
335
|
+
'values',
|
|
336
|
+
'forEach',
|
|
337
|
+
]);
|
|
328
338
|
// Methods that are strongly indicative of arrays - only arrays have these
|
|
339
|
+
// Note: entries, keys, values, forEach are NOT in this list because they also exist
|
|
340
|
+
// on Map, Set, Headers, FormData, URLSearchParams, and other iterable types
|
|
329
341
|
const STRONG_ARRAY_METHODS = new Set([
|
|
330
342
|
'map',
|
|
331
343
|
'filter',
|
|
332
344
|
'reduce',
|
|
333
345
|
'reduceRight',
|
|
334
|
-
'forEach',
|
|
335
346
|
'every',
|
|
336
347
|
'some',
|
|
337
348
|
'find',
|
|
@@ -342,9 +353,6 @@ const STRONG_ARRAY_METHODS = new Set([
|
|
|
342
353
|
'flatMap',
|
|
343
354
|
'fill',
|
|
344
355
|
'copyWithin',
|
|
345
|
-
'entries',
|
|
346
|
-
'keys',
|
|
347
|
-
'values',
|
|
348
356
|
'toReversed',
|
|
349
357
|
'toSorted',
|
|
350
358
|
'toSpliced',
|