@codeyam/codeyam-cli 0.1.0-staging.c90f8c9 → 0.1.0-staging.c9dc00c
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 +7 -7
- package/analyzer-template/packages/ai/index.ts +10 -2
- package/analyzer-template/packages/ai/package.json +2 -2
- package/analyzer-template/packages/ai/src/lib/analyzeScope.ts +86 -18
- package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +67 -9
- package/analyzer-template/packages/ai/src/lib/astScopes/methodSemantics.ts +41 -17
- package/analyzer-template/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.ts +10 -17
- package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +308 -50
- package/analyzer-template/packages/ai/src/lib/astScopes/types.ts +15 -6
- package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +837 -243
- package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.ts +5 -1
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.ts +16 -3
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.ts +6 -4
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.ts +54 -3
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.ts +60 -15
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.ts +70 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.ts +80 -5
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.ts +179 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.ts +40 -30
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts +393 -97
- package/analyzer-template/packages/ai/src/lib/generateEntityDataStructure.ts +58 -3
- package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +283 -1
- package/analyzer-template/packages/ai/src/lib/generateEntityScenarios.ts +9 -5
- package/analyzer-template/packages/ai/src/lib/generateExecutionFlows.ts +11 -3
- package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.ts +1 -1
- package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionals.ts +297 -7
- package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.ts +1 -1
- package/analyzer-template/packages/ai/src/lib/isolateScopes.ts +51 -3
- package/analyzer-template/packages/ai/src/lib/mergeStatements.ts +90 -96
- package/analyzer-template/packages/ai/src/lib/promptGenerators/gatherAttributesMap.ts +10 -7
- package/analyzer-template/packages/ai/src/lib/resolvePathToControllable.ts +25 -13
- package/analyzer-template/packages/ai/src/lib/worker/SerializableDataStructure.ts +4 -3
- package/analyzer-template/packages/ai/src/lib/worker/analyzeScopeWorker.ts +114 -2
- package/analyzer-template/packages/analyze/index.ts +2 -0
- package/analyzer-template/packages/analyze/src/lib/FileAnalyzer.ts +65 -59
- package/analyzer-template/packages/analyze/src/lib/ProjectAnalyzer.ts +113 -26
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.ts +19 -0
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.ts +19 -0
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllExports.ts +11 -0
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.ts +8 -0
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.ts +49 -1
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.ts +2 -1
- package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +71 -9
- package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +19 -4
- package/analyzer-template/packages/analyze/src/lib/files/analyze/dependencyResolver.ts +6 -0
- package/analyzer-template/packages/analyze/src/lib/files/analyze/gatherEntityMap.ts +4 -2
- package/analyzer-template/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.ts +0 -3
- package/analyzer-template/packages/analyze/src/lib/files/analyzeRemixRoute.ts +4 -5
- package/analyzer-template/packages/analyze/src/lib/files/getImportedExports.ts +14 -12
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/TransformationTracer.ts +1315 -0
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.ts +61 -13
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.ts +37 -0
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +229 -19
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.ts +117 -9
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +459 -39
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/propagateArrayItemSchemas.ts +474 -0
- package/analyzer-template/packages/analyze/src/lib/files/setImportedExports.ts +2 -1
- package/analyzer-template/packages/analyze/src/lib/index.ts +1 -0
- package/analyzer-template/packages/analyze/src/lib/utils/getFileByPath.ts +19 -0
- package/analyzer-template/packages/aws/package.json +1 -1
- package/analyzer-template/packages/database/package.json +1 -1
- package/analyzer-template/packages/database/src/lib/analysisBranchToDb.ts +1 -1
- package/analyzer-template/packages/database/src/lib/analysisToDb.ts +1 -1
- package/analyzer-template/packages/database/src/lib/branchToDb.ts +1 -1
- package/analyzer-template/packages/database/src/lib/commitBranchToDb.ts +1 -1
- package/analyzer-template/packages/database/src/lib/commitToDb.ts +1 -1
- package/analyzer-template/packages/database/src/lib/fileToDb.ts +1 -1
- package/analyzer-template/packages/database/src/lib/kysely/db.ts +14 -1
- package/analyzer-template/packages/database/src/lib/kysely/tables/commitsTable.ts +6 -0
- package/analyzer-template/packages/database/src/lib/kysely/tables/labsRequestsTable.ts +52 -0
- package/analyzer-template/packages/database/src/lib/loadAnalysis.ts +13 -0
- package/analyzer-template/packages/database/src/lib/loadBranch.ts +16 -1
- package/analyzer-template/packages/database/src/lib/loadCommit.ts +11 -0
- package/analyzer-template/packages/database/src/lib/loadCommits.ts +12 -0
- package/analyzer-template/packages/database/src/lib/loadEntityBranches.ts +12 -0
- package/analyzer-template/packages/database/src/lib/projectToDb.ts +1 -1
- package/analyzer-template/packages/database/src/lib/saveFiles.ts +1 -1
- package/analyzer-template/packages/database/src/lib/scenarioToDb.ts +1 -1
- package/analyzer-template/packages/database/src/lib/updateCommitMetadata.ts +7 -14
- package/analyzer-template/packages/database/src/lib/userScenarioToDb.ts +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.js +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.js +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.js +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.js +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.js +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.js +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts +2 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js +11 -1
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js +3 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.d.ts +23 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.js +35 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js +8 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js +11 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js +7 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js +9 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js +9 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.js +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.js +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.js +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts +2 -2
- package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js +5 -4
- package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js.map +1 -1
- package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts +2 -0
- package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts +7 -0
- package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts +5 -5
- package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
- package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.d.ts.map +1 -1
- package/analyzer-template/packages/github/package.json +1 -1
- package/analyzer-template/packages/types/src/types/Commit.ts +2 -0
- package/analyzer-template/packages/types/src/types/ProjectMetadata.ts +7 -0
- package/analyzer-template/packages/types/src/types/ScenariosDataStructure.ts +6 -5
- package/analyzer-template/packages/types/src/types/ScopeAnalysis.ts +6 -1
- package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts +2 -0
- package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts +7 -0
- package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts +5 -5
- package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
- package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.d.ts.map +1 -1
- package/analyzer-template/playwright/capture.ts +20 -8
- package/analyzer-template/playwright/captureStatic.ts +1 -1
- package/analyzer-template/project/analyzeBaselineCommit.ts +5 -0
- package/analyzer-template/project/analyzeRegularCommit.ts +5 -0
- package/analyzer-template/project/captureLibraryFunctionDirect.ts +29 -26
- package/analyzer-template/project/constructMockCode.ts +90 -10
- package/analyzer-template/project/createEntitiesAndSortFiles.ts +83 -0
- package/analyzer-template/project/loadReadyToBeCaptured.ts +65 -41
- package/analyzer-template/project/orchestrateCapture/AwsCaptureTaskRunner.ts +12 -4
- package/analyzer-template/project/orchestrateCapture/SequentialCaptureTaskRunner.ts +11 -6
- package/analyzer-template/project/orchestrateCapture/taskRunner.ts +4 -2
- package/analyzer-template/project/orchestrateCapture.ts +45 -6
- package/analyzer-template/project/start.ts +35 -11
- package/analyzer-template/project/writeMockDataTsx.ts +181 -8
- package/analyzer-template/project/writeScenarioComponents.ts +60 -12
- package/analyzer-template/project/writeSimpleRoot.ts +21 -11
- package/analyzer-template/scripts/comboWorkerLoop.cjs +98 -50
- package/background/src/lib/local/createLocalAnalyzer.js +1 -1
- package/background/src/lib/local/createLocalAnalyzer.js.map +1 -1
- package/background/src/lib/virtualized/project/analyzeBaselineCommit.js +5 -0
- package/background/src/lib/virtualized/project/analyzeBaselineCommit.js.map +1 -1
- package/background/src/lib/virtualized/project/analyzeRegularCommit.js +5 -0
- package/background/src/lib/virtualized/project/analyzeRegularCommit.js.map +1 -1
- package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js +3 -3
- package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js.map +1 -1
- package/background/src/lib/virtualized/project/constructMockCode.js +75 -4
- package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
- package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js +73 -1
- package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js.map +1 -1
- package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js +19 -8
- package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js.map +1 -1
- package/background/src/lib/virtualized/project/orchestrateCapture/AwsCaptureTaskRunner.js +2 -2
- package/background/src/lib/virtualized/project/orchestrateCapture/AwsCaptureTaskRunner.js.map +1 -1
- package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js +4 -4
- package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js.map +1 -1
- package/background/src/lib/virtualized/project/orchestrateCapture.js +38 -6
- package/background/src/lib/virtualized/project/orchestrateCapture.js.map +1 -1
- package/background/src/lib/virtualized/project/start.js +32 -11
- package/background/src/lib/virtualized/project/start.js.map +1 -1
- package/background/src/lib/virtualized/project/writeMockDataTsx.js +162 -4
- package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
- package/background/src/lib/virtualized/project/writeScenarioComponents.js +60 -15
- package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
- package/background/src/lib/virtualized/project/writeSimpleRoot.js +21 -11
- package/background/src/lib/virtualized/project/writeSimpleRoot.js.map +1 -1
- package/codeyam-cli/scripts/apply-setup.js +180 -0
- package/codeyam-cli/scripts/apply-setup.js.map +1 -1
- package/codeyam-cli/src/cli.js +4 -0
- package/codeyam-cli/src/cli.js.map +1 -1
- package/codeyam-cli/src/commands/analyze.js +2 -0
- package/codeyam-cli/src/commands/analyze.js.map +1 -1
- package/codeyam-cli/src/commands/baseline.js +2 -0
- package/codeyam-cli/src/commands/baseline.js.map +1 -1
- package/codeyam-cli/src/commands/debug.js +9 -5
- package/codeyam-cli/src/commands/debug.js.map +1 -1
- package/codeyam-cli/src/commands/default.js +14 -4
- package/codeyam-cli/src/commands/default.js.map +1 -1
- package/codeyam-cli/src/commands/detect-universal-mocks.js +2 -0
- package/codeyam-cli/src/commands/detect-universal-mocks.js.map +1 -1
- package/codeyam-cli/src/commands/init.js +42 -184
- package/codeyam-cli/src/commands/init.js.map +1 -1
- package/codeyam-cli/src/commands/memory.js +264 -0
- package/codeyam-cli/src/commands/memory.js.map +1 -0
- package/codeyam-cli/src/commands/recapture.js +2 -0
- package/codeyam-cli/src/commands/recapture.js.map +1 -1
- package/codeyam-cli/src/commands/setup-sandbox.js +2 -0
- package/codeyam-cli/src/commands/setup-sandbox.js.map +1 -1
- package/codeyam-cli/src/commands/setup-simulations.js +284 -0
- package/codeyam-cli/src/commands/setup-simulations.js.map +1 -0
- package/codeyam-cli/src/commands/test-startup.js +2 -0
- package/codeyam-cli/src/commands/test-startup.js.map +1 -1
- package/codeyam-cli/src/commands/verify.js +2 -0
- package/codeyam-cli/src/commands/verify.js.map +1 -1
- package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +128 -86
- package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
- package/codeyam-cli/src/utils/analysisRunner.js +1 -1
- package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
- package/codeyam-cli/src/utils/analyzer.js +7 -0
- package/codeyam-cli/src/utils/analyzer.js.map +1 -1
- package/codeyam-cli/src/utils/backgroundServer.js +4 -0
- package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
- package/codeyam-cli/src/utils/install-skills.js +71 -46
- package/codeyam-cli/src/utils/install-skills.js.map +1 -1
- package/codeyam-cli/src/utils/labsAutoCheck.js +48 -0
- package/codeyam-cli/src/utils/labsAutoCheck.js.map +1 -0
- package/codeyam-cli/src/utils/progress.js +7 -0
- package/codeyam-cli/src/utils/progress.js.map +1 -1
- package/codeyam-cli/src/utils/queue/job.js +4 -0
- package/codeyam-cli/src/utils/queue/job.js.map +1 -1
- package/codeyam-cli/src/utils/requireSimulations.js +10 -0
- package/codeyam-cli/src/utils/requireSimulations.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/confusionDetector.test.js +82 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/confusionDetector.test.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js +230 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js +67 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/captureFixture.js +105 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/captureFixture.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/loadCapturedFixture.js +34 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/loadCapturedFixture.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/runClaude.js +162 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/runClaude.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js +75 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js +378 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js +115 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/transcriptParser.test.js +127 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/transcriptParser.test.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/confusionDetector.js +50 -0
- package/codeyam-cli/src/utils/ruleReflection/confusionDetector.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js +116 -0
- package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/index.js +5 -0
- package/codeyam-cli/src/utils/ruleReflection/index.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/promptBuilder.js +44 -0
- package/codeyam-cli/src/utils/ruleReflection/promptBuilder.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/transcriptParser.js +85 -0
- package/codeyam-cli/src/utils/ruleReflection/transcriptParser.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/types.js +5 -0
- package/codeyam-cli/src/utils/ruleReflection/types.js.map +1 -0
- package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js +293 -0
- package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js.map +1 -0
- package/codeyam-cli/src/utils/rules/index.js +6 -0
- package/codeyam-cli/src/utils/rules/index.js.map +1 -0
- package/codeyam-cli/src/utils/rules/parser.js +83 -0
- package/codeyam-cli/src/utils/rules/parser.js.map +1 -0
- package/codeyam-cli/src/utils/rules/pathMatcher.js +18 -0
- package/codeyam-cli/src/utils/rules/pathMatcher.js.map +1 -0
- package/codeyam-cli/src/utils/rules/ruleState.js +150 -0
- package/codeyam-cli/src/utils/rules/ruleState.js.map +1 -0
- package/codeyam-cli/src/utils/rules/staleness.js +137 -0
- package/codeyam-cli/src/utils/rules/staleness.js.map +1 -0
- package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +20 -43
- package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
- package/codeyam-cli/src/webserver/app/lib/database.js +15 -3
- package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
- package/codeyam-cli/src/webserver/backgroundServer.js +31 -0
- package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/CopyButton-CA3JxPb7.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/EntityItem-B86KKU7e.js +11 -0
- package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeBadge-DLqD3qNt.js → EntityTypeBadge-B5ctlSYt.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeIcon-Ba2JVPzP.js → EntityTypeIcon-BqY8gDAW.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{InlineSpinner-C8lyxW9k.js → InlineSpinner-ClaLpuOo.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{InteractivePreview-aht4aafF.js → InteractivePreview-BDhPilK7.js} +2 -2
- package/codeyam-cli/src/webserver/build/client/assets/{LibraryFunctionPreview-CVtiBnY5.js → LibraryFunctionPreview-VeqEBv9v.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{LoadingDots-B0GLXMsr.js → LoadingDots-Bs7Nn1Jr.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{LogViewer-xgeCVgSM.js → LogViewer-Bm3PmcCz.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{ReportIssueModal-D4TZhLuw.js → ReportIssueModal-C6PKeMYR.js} +3 -13
- package/codeyam-cli/src/webserver/build/client/assets/{SafeScreenshot-DuDvi0jm.js → SafeScreenshot-Gq3Ocjo6.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{ScenarioViewer-DEx02QDa.js → ScenarioViewer-BNLaXBHR.js} +3 -3
- package/codeyam-cli/src/webserver/build/client/assets/{TruncatedFilePath-DyFZkK0l.js → TruncatedFilePath-CiwXDxLh.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{_index-BwqWJOgH.js → _index-B3TDXxnk.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{activity.(_tab)-DoLIqZX2.js → activity.(_tab)-BtBFH820.js} +6 -16
- package/codeyam-cli/src/webserver/build/client/assets/agent-transcripts-CN61MOMa.js +11 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.labs-survey-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.labs-unlock-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.memory-profile-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.save-fixture-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/book-open-PttOB2SF.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/{chevron-down-Cx24_aWc.js → chevron-down-TJp6ofnp.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{chunk-EPOLDU6W-CXRTFQ3F.js → chunk-JZWAC4HX-JE9ZIoBl.js} +12 -12
- package/codeyam-cli/src/webserver/build/client/assets/{circle-check-BOARzkeR.js → circle-check-CXhHQYrI.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/copy-6y9ALfGT.js +11 -0
- package/codeyam-cli/src/webserver/build/client/assets/{createLucideIcon-BdhJEx6B.js → createLucideIcon-Ca9fAY46.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/dev.empty-C5lqplTC.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-C2N4Op8e.js → entity._sha._-n38keI1k.js} +10 -10
- package/codeyam-cli/src/webserver/build/client/assets/{entity._sha.scenarios._scenarioId.fullscreen-DavjRmOY.js → entity._sha.scenarios._scenarioId.fullscreen-CBoafmVs.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.create-scenario-D1T4TGjf.js → entity._sha_.create-scenario-DGgZjdFg.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.edit._scenarioId-CTBG2mmz.js → entity._sha_.edit._scenarioId-38yPijoD.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{entry.client-CS2cb_eZ.js → entry.client-BSHEfydn.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{fileTableUtils-DMJ7zii9.js → fileTableUtils-DCPhhSMo.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/files-0N0YJQv7.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{git-B4RJRvYB.js → git-DXnyr8uP.js} +8 -8
- package/codeyam-cli/src/webserver/build/client/assets/globals-EVn6Z9pz.css +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{index-lzqtyFU8.js → index-CcsFv748.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{index-B1h680n5.js → index-ChN9-fAY.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/labs-CmBYA0PH.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{loader-circle-B7B9V-bu.js → loader-circle-CTqLEAGU.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/manifest-aa4ff97b.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/memory-BSlqS1QA.js +81 -0
- package/codeyam-cli/src/webserver/build/client/assets/pause-D6vreykR.js +11 -0
- package/codeyam-cli/src/webserver/build/client/assets/root-DVAbJY8B.js +62 -0
- package/codeyam-cli/src/webserver/build/client/assets/{search-CxXUmBSd.js → search-B8VUL8nl.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/settings-BK-cnzp-.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{simulations-DwFIBT09.js → simulations-CPoAg7Zo.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/terminal-BrCP7uQo.js +11 -0
- package/codeyam-cli/src/webserver/build/client/assets/{triangle-alert-B6LgvRJg.js → triangle-alert-BZz2NjYa.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{useCustomSizes-C1v1PQzo.js → useCustomSizes-DNwUduNu.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{useLastLogLine-aSv48UbS.js → useLastLogLine-COky1GVF.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{useReportContext-DYxHZQuP.js → useReportContext-CpZgwliL.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{useToast-mBRpZPiu.js → useToast-Bv9JFvUO.js} +1 -1
- package/codeyam-cli/src/webserver/build/server/assets/index-Cz2RkDCa.js +1 -0
- package/codeyam-cli/src/webserver/build/server/assets/server-build-CUVsWicu.js +260 -0
- package/codeyam-cli/src/webserver/build/server/index.js +1 -1
- package/codeyam-cli/src/webserver/build-info.json +5 -5
- package/codeyam-cli/templates/{codeyam-power-rules-hook.sh → codeyam-memory-hook.sh} +12 -13
- package/codeyam-cli/templates/codeyam:diagnose.md +195 -496
- package/codeyam-cli/templates/codeyam:memory.md +403 -0
- package/codeyam-cli/templates/codeyam:new-rule.md +2 -2
- package/codeyam-cli/templates/codeyam:setup.md +12 -0
- package/codeyam-cli/templates/rule-notification-hook.py +56 -0
- package/codeyam-cli/templates/rule-reflection-hook.py +627 -0
- package/codeyam-cli/templates/rules-instructions.md +136 -0
- package/package.json +8 -6
- package/packages/ai/index.js +3 -2
- package/packages/ai/index.js.map +1 -1
- package/packages/ai/src/lib/analyzeScope.js +68 -13
- package/packages/ai/src/lib/analyzeScope.js.map +1 -1
- package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +54 -8
- package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
- package/packages/ai/src/lib/astScopes/methodSemantics.js +41 -17
- package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
- package/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.js +10 -14
- package/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.js.map +1 -1
- package/packages/ai/src/lib/astScopes/processExpression.js +239 -43
- package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +654 -166
- package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js +5 -1
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js +13 -3
- package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js +6 -4
- package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js +52 -3
- package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js +55 -11
- package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.js +63 -0
- package/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js +73 -5
- package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js +173 -0
- package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js +37 -20
- package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +333 -86
- package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js.map +1 -1
- package/packages/ai/src/lib/generateEntityDataStructure.js +46 -2
- package/packages/ai/src/lib/generateEntityDataStructure.js.map +1 -1
- package/packages/ai/src/lib/generateEntityScenarioData.js +205 -1
- package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
- package/packages/ai/src/lib/generateEntityScenarios.js +7 -1
- package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
- package/packages/ai/src/lib/generateExecutionFlows.js +10 -2
- package/packages/ai/src/lib/generateExecutionFlows.js.map +1 -1
- package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js +209 -3
- package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js.map +1 -1
- package/packages/ai/src/lib/isolateScopes.js +39 -3
- package/packages/ai/src/lib/isolateScopes.js.map +1 -1
- package/packages/ai/src/lib/mergeStatements.js +70 -51
- package/packages/ai/src/lib/mergeStatements.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js +10 -4
- package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js.map +1 -1
- package/packages/ai/src/lib/resolvePathToControllable.js +24 -14
- package/packages/ai/src/lib/resolvePathToControllable.js.map +1 -1
- package/packages/ai/src/lib/worker/SerializableDataStructure.js.map +1 -1
- package/packages/ai/src/lib/worker/analyzeScopeWorker.js +94 -1
- package/packages/ai/src/lib/worker/analyzeScopeWorker.js.map +1 -1
- package/packages/analyze/index.js +1 -0
- package/packages/analyze/index.js.map +1 -1
- package/packages/analyze/src/lib/FileAnalyzer.js +60 -36
- package/packages/analyze/src/lib/FileAnalyzer.js.map +1 -1
- package/packages/analyze/src/lib/ProjectAnalyzer.js +96 -26
- package/packages/analyze/src/lib/ProjectAnalyzer.js.map +1 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js +14 -0
- package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js.map +1 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js +14 -0
- package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js.map +1 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js +6 -0
- package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js.map +1 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js +6 -0
- package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js.map +1 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js +39 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js.map +1 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js +2 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +54 -6
- package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +17 -4
- package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/dependencyResolver.js +5 -0
- package/packages/analyze/src/lib/files/analyze/dependencyResolver.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js +2 -1
- package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js +0 -3
- package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js.map +1 -1
- package/packages/analyze/src/lib/files/analyzeRemixRoute.js +3 -2
- package/packages/analyze/src/lib/files/analyzeRemixRoute.js.map +1 -1
- package/packages/analyze/src/lib/files/getImportedExports.js +11 -7
- package/packages/analyze/src/lib/files/getImportedExports.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js +880 -0
- package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js.map +1 -0
- package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js +56 -10
- package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js +33 -8
- package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +150 -17
- package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js +56 -8
- package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +399 -31
- package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
- package/packages/analyze/src/lib/files/setImportedExports.js +2 -1
- package/packages/analyze/src/lib/files/setImportedExports.js.map +1 -1
- package/packages/analyze/src/lib/index.js +1 -0
- package/packages/analyze/src/lib/index.js.map +1 -1
- package/packages/analyze/src/lib/utils/getFileByPath.js +12 -0
- package/packages/analyze/src/lib/utils/getFileByPath.js.map +1 -0
- package/packages/database/src/lib/analysisBranchToDb.js +1 -1
- package/packages/database/src/lib/analysisBranchToDb.js.map +1 -1
- package/packages/database/src/lib/analysisToDb.js +1 -1
- package/packages/database/src/lib/analysisToDb.js.map +1 -1
- package/packages/database/src/lib/branchToDb.js +1 -1
- package/packages/database/src/lib/branchToDb.js.map +1 -1
- package/packages/database/src/lib/commitBranchToDb.js +1 -1
- package/packages/database/src/lib/commitBranchToDb.js.map +1 -1
- package/packages/database/src/lib/commitToDb.js +1 -1
- package/packages/database/src/lib/commitToDb.js.map +1 -1
- package/packages/database/src/lib/fileToDb.js +1 -1
- package/packages/database/src/lib/fileToDb.js.map +1 -1
- package/packages/database/src/lib/kysely/db.js +11 -1
- package/packages/database/src/lib/kysely/db.js.map +1 -1
- package/packages/database/src/lib/kysely/tables/commitsTable.js +3 -0
- package/packages/database/src/lib/kysely/tables/commitsTable.js.map +1 -1
- package/packages/database/src/lib/kysely/tables/labsRequestsTable.js +35 -0
- package/packages/database/src/lib/kysely/tables/labsRequestsTable.js.map +1 -0
- package/packages/database/src/lib/loadAnalysis.js +8 -0
- package/packages/database/src/lib/loadAnalysis.js.map +1 -1
- package/packages/database/src/lib/loadBranch.js +11 -1
- package/packages/database/src/lib/loadBranch.js.map +1 -1
- package/packages/database/src/lib/loadCommit.js +7 -0
- package/packages/database/src/lib/loadCommit.js.map +1 -1
- package/packages/database/src/lib/loadCommits.js +9 -0
- package/packages/database/src/lib/loadCommits.js.map +1 -1
- package/packages/database/src/lib/loadEntityBranches.js +9 -0
- package/packages/database/src/lib/loadEntityBranches.js.map +1 -1
- package/packages/database/src/lib/projectToDb.js +1 -1
- package/packages/database/src/lib/projectToDb.js.map +1 -1
- package/packages/database/src/lib/saveFiles.js +1 -1
- package/packages/database/src/lib/saveFiles.js.map +1 -1
- package/packages/database/src/lib/scenarioToDb.js +1 -1
- package/packages/database/src/lib/scenarioToDb.js.map +1 -1
- package/packages/database/src/lib/updateCommitMetadata.js +5 -4
- package/packages/database/src/lib/updateCommitMetadata.js.map +1 -1
- package/scripts/finalize-analyzer.cjs +8 -76
- package/codeyam-cli/src/webserver/build/client/assets/EntityItem-BXhEawa3.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/dev.empty-BRb-0kQl.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/files-Cs4MdYtv.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/git-commit-horizontal-CysbcZxi.js +0 -6
- package/codeyam-cli/src/webserver/build/client/assets/globals-DMUaGAqV.css +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/manifest-f874c610.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/root-Bz5TunQg.js +0 -57
- package/codeyam-cli/src/webserver/build/client/assets/rules-hEkvVw2-.js +0 -97
- package/codeyam-cli/src/webserver/build/client/assets/settings-CS5f3WzT.js +0 -1
- package/codeyam-cli/src/webserver/build/server/assets/index-uNNbimct.js +0 -1
- package/codeyam-cli/src/webserver/build/server/assets/server-build-B08qC4Y7.js +0 -257
- package/codeyam-cli/templates/codeyam:power-rules.md +0 -449
- /package/codeyam-cli/src/webserver/build/client/assets/{api.rules-l0sNRNKZ.js → api.agent-transcripts-l0sNRNKZ.js} +0 -0
|
@@ -9,6 +9,7 @@ import { analyzeScopeLocal } from "../analyzeScope.js";
|
|
|
9
9
|
import { resetScopeDataStructureMetrics, } from "../dataStructure/ScopeDataStructure.js";
|
|
10
10
|
import { setThreadContext } from "../../../../../packages/utils/index.js";
|
|
11
11
|
import { threadId } from 'worker_threads';
|
|
12
|
+
import v8 from 'v8';
|
|
12
13
|
// Set thread context for logging
|
|
13
14
|
setThreadContext(`<worker-${threadId}>`);
|
|
14
15
|
// Long-lived state within the worker
|
|
@@ -16,6 +17,68 @@ let projectAnalyzer = null;
|
|
|
16
17
|
let projectAnalyzerKey = null;
|
|
17
18
|
let fileAnalyzer = null;
|
|
18
19
|
let fileAnalyzerPath = null;
|
|
20
|
+
// Memory tracking
|
|
21
|
+
let entitiesProcessed = 0;
|
|
22
|
+
let lastMemoryLogAt = 0;
|
|
23
|
+
const MEMORY_LOG_INTERVAL = 100; // Log every N entities
|
|
24
|
+
const MEMORY_LOG_TIME_INTERVAL = 60000; // Or every 60 seconds
|
|
25
|
+
/**
|
|
26
|
+
* Get memory stats for logging
|
|
27
|
+
*/
|
|
28
|
+
function getWorkerMemoryStats() {
|
|
29
|
+
const mem = process.memoryUsage();
|
|
30
|
+
const heapStats = v8.getHeapStatistics();
|
|
31
|
+
return {
|
|
32
|
+
rss: `${Math.round(mem.rss / 1024 / 1024)}MB`,
|
|
33
|
+
heapUsed: `${Math.round(mem.heapUsed / 1024 / 1024)}MB`,
|
|
34
|
+
heapTotal: `${Math.round(mem.heapTotal / 1024 / 1024)}MB`,
|
|
35
|
+
external: `${Math.round(mem.external / 1024 / 1024)}MB`,
|
|
36
|
+
// V8 heap stats give more detail
|
|
37
|
+
v8TotalHeapSize: `${Math.round(heapStats.total_heap_size / 1024 / 1024)}MB`,
|
|
38
|
+
v8UsedHeapSize: `${Math.round(heapStats.used_heap_size / 1024 / 1024)}MB`,
|
|
39
|
+
v8HeapSizeLimit: `${Math.round(heapStats.heap_size_limit / 1024 / 1024)}MB`,
|
|
40
|
+
v8MallocedMemory: `${Math.round(heapStats.malloced_memory / 1024 / 1024)}MB`,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Get ts.Program stats for understanding TypeScript memory usage
|
|
45
|
+
*/
|
|
46
|
+
function getTsProgramStats(pa) {
|
|
47
|
+
const sourceFiles = pa.program.getSourceFiles();
|
|
48
|
+
const projectSourceFiles = sourceFiles.filter((sf) => !sf.fileName.includes('node_modules'));
|
|
49
|
+
const nodeModulesFiles = sourceFiles.filter((sf) => sf.fileName.includes('node_modules'));
|
|
50
|
+
// Estimate AST size by sampling text length (rough proxy)
|
|
51
|
+
let totalProjectTextLength = 0;
|
|
52
|
+
for (const sf of projectSourceFiles) {
|
|
53
|
+
totalProjectTextLength += sf.getFullText().length;
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
totalSourceFiles: sourceFiles.length,
|
|
57
|
+
projectSourceFiles: projectSourceFiles.length,
|
|
58
|
+
nodeModulesFiles: nodeModulesFiles.length,
|
|
59
|
+
projectTextSizeMB: `${(totalProjectTextLength / 1024 / 1024).toFixed(1)}MB`,
|
|
60
|
+
// Note: Actual AST memory is typically 10-20x the source text size
|
|
61
|
+
estimatedAstSizeMB: `${((totalProjectTextLength * 15) / 1024 / 1024).toFixed(0)}MB`,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Write a heap snapshot for detailed profiling.
|
|
66
|
+
* The snapshot can be loaded in Chrome DevTools for analysis.
|
|
67
|
+
*
|
|
68
|
+
* TODO: Once we understand memory usage, change this back to env-var controlled
|
|
69
|
+
*/
|
|
70
|
+
const HEAP_SNAPSHOT_MODE = 'off';
|
|
71
|
+
function maybeWriteHeapSnapshot(label) {
|
|
72
|
+
if (HEAP_SNAPSHOT_MODE === 'off')
|
|
73
|
+
return;
|
|
74
|
+
try {
|
|
75
|
+
const filename = v8.writeHeapSnapshot();
|
|
76
|
+
console.log(`CodeYam Worker: Heap snapshot written (${label}): ${filename}`);
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
console.error('CodeYam Worker: Failed to write heap snapshot:', error);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
19
82
|
/**
|
|
20
83
|
* Main worker function called by Piscina
|
|
21
84
|
*/
|
|
@@ -28,8 +91,22 @@ export default async function runAnalyzeScope(input) {
|
|
|
28
91
|
// Create or reuse ProjectAnalyzer
|
|
29
92
|
const paKey = `${dirPath}`;
|
|
30
93
|
if (!projectAnalyzer || projectAnalyzerKey !== paKey) {
|
|
31
|
-
|
|
94
|
+
const memBefore = process.memoryUsage();
|
|
95
|
+
console.log('CodeYam Worker: Creating ProjectAnalyzer (ts.Program)...', {
|
|
96
|
+
memBefore: getWorkerMemoryStats(),
|
|
97
|
+
});
|
|
98
|
+
projectAnalyzer = ProjectAnalyzer.from({ project, dirPath });
|
|
32
99
|
projectAnalyzerKey = paKey;
|
|
100
|
+
const memAfter = process.memoryUsage();
|
|
101
|
+
const tsProgramStats = getTsProgramStats(projectAnalyzer);
|
|
102
|
+
console.log('CodeYam Worker: ProjectAnalyzer created', {
|
|
103
|
+
memAfter: getWorkerMemoryStats(),
|
|
104
|
+
rssDelta: `+${Math.round((memAfter.rss - memBefore.rss) / 1024 / 1024)}MB`,
|
|
105
|
+
heapDelta: `+${Math.round((memAfter.heapUsed - memBefore.heapUsed) / 1024 / 1024)}MB`,
|
|
106
|
+
tsProgramStats,
|
|
107
|
+
});
|
|
108
|
+
// Optionally write heap snapshot after ts.Program creation
|
|
109
|
+
maybeWriteHeapSnapshot('after-ts-program');
|
|
33
110
|
}
|
|
34
111
|
// Create or reuse FileAnalyzer
|
|
35
112
|
if (!fileAnalyzer || fileAnalyzerPath !== filePath) {
|
|
@@ -55,6 +132,22 @@ export default async function runAnalyzeScope(input) {
|
|
|
55
132
|
if (!dataStructure) {
|
|
56
133
|
throw new Error(`CodeYam Worker: analyzeScopeLocal returned null for ${entity.name} in ${entity.filePath}`);
|
|
57
134
|
}
|
|
135
|
+
// Periodic memory logging
|
|
136
|
+
entitiesProcessed++;
|
|
137
|
+
const now = Date.now();
|
|
138
|
+
const shouldLogMemory = entitiesProcessed % MEMORY_LOG_INTERVAL === 0 ||
|
|
139
|
+
now - lastMemoryLogAt > MEMORY_LOG_TIME_INTERVAL;
|
|
140
|
+
if (shouldLogMemory) {
|
|
141
|
+
lastMemoryLogAt = now;
|
|
142
|
+
console.log('CodeYam Worker: Memory stats', {
|
|
143
|
+
entitiesProcessed,
|
|
144
|
+
...getWorkerMemoryStats(),
|
|
145
|
+
});
|
|
146
|
+
// Optionally write periodic heap snapshots
|
|
147
|
+
if (HEAP_SNAPSHOT_MODE === 'periodic' && entitiesProcessed % 500 === 0) {
|
|
148
|
+
maybeWriteHeapSnapshot(`after-${entitiesProcessed}-entities`);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
58
151
|
return { dataStructure: dataStructure.toSerializable() };
|
|
59
152
|
}
|
|
60
153
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyzeScopeWorker.js","sourceRoot":"","sources":["../../../../../../../packages/ai/src/lib/worker/analyzeScopeWorker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,
|
|
1
|
+
{"version":3,"file":"analyzeScopeWorker.js","sourceRoot":"","sources":["../../../../../../../packages/ai/src/lib/worker/analyzeScopeWorker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EACL,8BAA8B,GAE/B,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,iCAAiC;AACjC,gBAAgB,CAAC,WAAW,QAAQ,GAAG,CAAC,CAAC;AAoBzC,qCAAqC;AACrC,IAAI,eAAe,GAA2B,IAAI,CAAC;AACnD,IAAI,kBAAkB,GAAkB,IAAI,CAAC;AAE7C,IAAI,YAAY,GAAwB,IAAI,CAAC;AAC7C,IAAI,gBAAgB,GAAkB,IAAI,CAAC;AAE3C,kBAAkB;AAClB,IAAI,iBAAiB,GAAG,CAAC,CAAC;AAC1B,IAAI,eAAe,GAAG,CAAC,CAAC;AACxB,MAAM,mBAAmB,GAAG,GAAG,CAAC,CAAC,uBAAuB;AACxD,MAAM,wBAAwB,GAAG,KAAM,CAAC,CAAC,sBAAsB;AAE/D;;GAEG;AACH,SAAS,oBAAoB;IAC3B,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAClC,MAAM,SAAS,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAC;IACzC,OAAO;QACL,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI;QAC7C,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI;QACvD,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI;QACzD,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI;QACvD,iCAAiC;QACjC,eAAe,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,eAAe,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI;QAC3E,cAAc,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI;QACzE,eAAe,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,eAAe,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI;QAC3E,gBAAgB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,eAAe,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI;KAC7E,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,EAAmB;IAC5C,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;IAChD,MAAM,kBAAkB,GAAG,WAAW,CAAC,MAAM,CAC3C,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAC9C,CAAC;IACF,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CACjD,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CACrC,CAAC;IAEF,0DAA0D;IAC1D,IAAI,sBAAsB,GAAG,CAAC,CAAC;IAC/B,KAAK,MAAM,EAAE,IAAI,kBAAkB,EAAE,CAAC;QACpC,sBAAsB,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC;IACpD,CAAC;IAED,OAAO;QACL,gBAAgB,EAAE,WAAW,CAAC,MAAM;QACpC,kBAAkB,EAAE,kBAAkB,CAAC,MAAM;QAC7C,gBAAgB,EAAE,gBAAgB,CAAC,MAAM;QACzC,iBAAiB,EAAE,GAAG,CAAC,sBAAsB,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QAC3E,mEAAmE;QACnE,kBAAkB,EAAE,GAAG,CAAC,CAAC,sBAAsB,GAAG,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;KACpF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,kBAAkB,GAAgC,KAAK,CAAC;AAE9D,SAAS,sBAAsB,CAAC,KAAa;IAC3C,IAAI,kBAAkB,KAAK,KAAK;QAAE,OAAO;IAEzC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CACT,0CAA0C,KAAK,MAAM,QAAQ,EAAE,CAChE,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,KAAK,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,eAAe,CAC3C,KAA8B;IAE9B,yEAAyE;IACzE,oEAAoE;IACpE,8BAA8B,EAAE,CAAC;IAEjC,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QAEzE,kCAAkC;QAClC,MAAM,KAAK,GAAG,GAAG,OAAO,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,IAAI,kBAAkB,KAAK,KAAK,EAAE,CAAC;YACrD,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,0DAA0D,EAAE;gBACtE,SAAS,EAAE,oBAAoB,EAAE;aAClC,CAAC,CAAC;YAEH,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAC7D,kBAAkB,GAAG,KAAK,CAAC;YAE3B,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YACvC,MAAM,cAAc,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,yCAAyC,EAAE;gBACrD,QAAQ,EAAE,oBAAoB,EAAE;gBAChC,QAAQ,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI;gBAC1E,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI;gBACrF,cAAc;aACf,CAAC,CAAC;YAEH,2DAA2D;YAC3D,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;QAC7C,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,YAAY,IAAI,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YACnD,YAAY,GAAG,IAAI,YAAY,CAAC;gBAC9B,eAAe;gBACf,IAAI;aACL,CAAC,CAAC;YACH,gBAAgB,GAAG,QAAQ,CAAC;QAC9B,CAAC;QAED,8CAA8C;QAC9C,MAAM,SAAS,GAAc;YAC3B,GAAG,KAAK;YACR,yDAAyD;SAC1D,CAAC;QAEF,qEAAqE;QACrE,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC;YAC5C,MAAM;YACN,YAAY;YACZ,KAAK,EAAE,SAAS;YAChB,KAAK;SACN,CAAC,CAAC;QAEH,0CAA0C;QAC1C,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,uDAAuD,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,QAAQ,EAAE,CAC3F,CAAC;QACJ,CAAC;QAED,0BAA0B;QAC1B,iBAAiB,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,eAAe,GACnB,iBAAiB,GAAG,mBAAmB,KAAK,CAAC;YAC7C,GAAG,GAAG,eAAe,GAAG,wBAAwB,CAAC;QAEnD,IAAI,eAAe,EAAE,CAAC;YACpB,eAAe,GAAG,GAAG,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE;gBAC1C,iBAAiB;gBACjB,GAAG,oBAAoB,EAAE;aAC1B,CAAC,CAAC;YAEH,2CAA2C;YAC3C,IAAI,kBAAkB,KAAK,UAAU,IAAI,iBAAiB,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC;gBACvE,sBAAsB,CAAC,SAAS,iBAAiB,WAAW,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAED,OAAO,EAAE,aAAa,EAAE,aAAa,CAAC,cAAc,EAAE,EAAE,CAAC;IAC3D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,yCAAyC,KAAK,CAAC,MAAM,CAAC,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAG,EACzF,KAAK,CACN,CAAC;QACF,MAAM,KAAK,CAAC,CAAC,oCAAoC;IACnD,CAAC;AACH,CAAC"}
|
|
@@ -28,6 +28,7 @@ export { default as isolateDataStructure } from "./src/lib/files/scenarios/isola
|
|
|
28
28
|
export { default as mergeInDependentDataStructure } from "./src/lib/files/scenarios/mergeInDependentDataStructure.js";
|
|
29
29
|
export { default as mergeValidatedDataStructures } from "./src/lib/files/scenarios/mergeValidatedDataStructures.js";
|
|
30
30
|
export { discoverDirectDependencies } from "./src/lib/files/analyze/dependencyResolver.js";
|
|
31
|
+
export { transformationTracer } from "./src/lib/files/scenarios/TransformationTracer.js";
|
|
31
32
|
export { default as getAnalysisError } from "./src/lib/utils/getAnalysisError.js";
|
|
32
33
|
export { default as measureAndReportExecutionTime } from "./src/lib/utils/measureAndReportExecutionTime.js";
|
|
33
34
|
// Rough mocks to help debug build failures.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/analyze/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,+EAA+E;AAC/E,oCAAoC;AACpC,EAAE;AACF,wDAAwD;AACxD,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,iBAAiB;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACL,OAAO,IAAI,aAAa,GAEzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,eAAe,GAEhB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAEnF,yCAAyC;AACzC,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,oDAAoD,CAAC;AAC3G,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAErF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AAEjF,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAEvF,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AACjG,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,yDAAyD,CAAC;AACnH,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,wDAAwD,CAAC;AAEjH,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AAExF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,+CAA+C,CAAC;AAEzG,4CAA4C;AAC5C,EAAE;AACF,2EAA2E;AAC3E,wDAAwD;AACxD,EAAE;AACF,8BAA8B;AAC9B,8CAA8C;AAC9C,gDAAgD;AAChD,mCAAmC;AACnC,4CAA4C;AAC5C,+BAA+B;AAC/B,mCAAmC;AACnC,+BAA+B;AAC/B,mDAAmD;AACnD,qDAAqD;AACrD,IAAI;AACJ,iCAAiC;AACjC,wCAAwC;AACxC,kCAAkC;AAClC,uEAAuE;AACvE,sEAAsE;AACtE,IAAI;AACJ,wCAAwC;AACxC,wCAAwC;AACxC,aAAa;AACb,uBAAuB;AACvB,6CAA6C;AAC7C,uCAAuC;AACvC,gBAAgB;AAChB,oBAAoB;AACpB,oBAAoB;AACpB,0CAA0C;AAC1C,MAAM;AACN,KAAK;AACL,kDAAkD;AAClD,aAAa;AACb,6CAA6C;AAC7C,uBAAuB;AACvB,MAAM;AACN,KAAK;AACL,6CAA6C;AAC7C,oCAAoC;AACpC,KAAK;AACL,0CAA0C;AAC1C,sCAAsC;AACtC,KAAK;AACL,6CAA6C;AAC7C,aAAa;AACb,0BAA0B;AAC1B,uBAAuB;AACvB,MAAM;AACN,KAAK;AACL,6CAA6C;AAC7C,iBAAiB;AACjB,KAAK;AACL,6CAA6C;AAC7C,aAAa;AACb,oBAAoB;AACpB,6CAA6C;AAC7C,MAAM;AACN,KAAK;AACL,yCAAyC;AACzC,yCAAyC;AACzC,6CAA6C;AAC7C,0CAA0C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/analyze/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,+EAA+E;AAC/E,oCAAoC;AACpC,EAAE;AACF,wDAAwD;AACxD,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,iBAAiB;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACL,OAAO,IAAI,aAAa,GAEzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,eAAe,GAEhB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAEnF,yCAAyC;AACzC,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,oDAAoD,CAAC;AAC3G,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAErF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AAEjF,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAEvF,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AACjG,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,yDAAyD,CAAC;AACnH,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,wDAAwD,CAAC;AAEjH,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AAExF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAEtF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,+CAA+C,CAAC;AAEzG,4CAA4C;AAC5C,EAAE;AACF,2EAA2E;AAC3E,wDAAwD;AACxD,EAAE;AACF,8BAA8B;AAC9B,8CAA8C;AAC9C,gDAAgD;AAChD,mCAAmC;AACnC,4CAA4C;AAC5C,+BAA+B;AAC/B,mCAAmC;AACnC,+BAA+B;AAC/B,mDAAmD;AACnD,qDAAqD;AACrD,IAAI;AACJ,iCAAiC;AACjC,wCAAwC;AACxC,kCAAkC;AAClC,uEAAuE;AACvE,sEAAsE;AACtE,IAAI;AACJ,wCAAwC;AACxC,wCAAwC;AACxC,aAAa;AACb,uBAAuB;AACvB,6CAA6C;AAC7C,uCAAuC;AACvC,gBAAgB;AAChB,oBAAoB;AACpB,oBAAoB;AACpB,0CAA0C;AAC1C,MAAM;AACN,KAAK;AACL,kDAAkD;AAClD,aAAa;AACb,6CAA6C;AAC7C,uBAAuB;AACvB,MAAM;AACN,KAAK;AACL,6CAA6C;AAC7C,oCAAoC;AACpC,KAAK;AACL,0CAA0C;AAC1C,sCAAsC;AACtC,KAAK;AACL,6CAA6C;AAC7C,aAAa;AACb,0BAA0B;AAC1B,uBAAuB;AACvB,MAAM;AACN,KAAK;AACL,6CAA6C;AAC7C,iBAAiB;AACjB,KAAK;AACL,6CAA6C;AAC7C,aAAa;AACb,oBAAoB;AACpB,6CAA6C;AAC7C,MAAM;AACN,KAAK;AACL,yCAAyC;AACzC,yCAAyC;AACzC,6CAA6C;AAC7C,0CAA0C"}
|
|
@@ -3,6 +3,7 @@ import * as lib from "./index.js";
|
|
|
3
3
|
import { getAllExports, } from "./asts/sourceFiles/getAllExports.js";
|
|
4
4
|
import getEntityType from "./files/getEntityType.js";
|
|
5
5
|
import getEntityCode from "./files/getEntityCode.js";
|
|
6
|
+
import { getFileByPathSafe } from "./utils/getFileByPath.js";
|
|
6
7
|
export class FileAnalyzer {
|
|
7
8
|
constructor({ projectAnalyzer, file, }) {
|
|
8
9
|
this.projectAnalyzer = projectAnalyzer;
|
|
@@ -33,16 +34,21 @@ export class FileAnalyzer {
|
|
|
33
34
|
getAllEntityNodesOnlyAliases() {
|
|
34
35
|
if (!this.sourceFile)
|
|
35
36
|
return {};
|
|
37
|
+
if (this.allEntityNodesOnlyAliasesCache) {
|
|
38
|
+
return this.allEntityNodesOnlyAliasesCache;
|
|
39
|
+
}
|
|
36
40
|
try {
|
|
37
41
|
const allEntityNodes = lib.asts.sourceFiles.getAllEntityNodes({
|
|
38
42
|
sourceFile: this.sourceFile,
|
|
39
43
|
});
|
|
40
|
-
|
|
41
|
-
|
|
44
|
+
const aliasesOnly = { ...allEntityNodes };
|
|
45
|
+
if (aliasesOnly.default) {
|
|
46
|
+
const namedDefault = Object.entries(aliasesOnly).find(([otherEntityName, node]) => otherEntityName !== 'default' && node === aliasesOnly.default);
|
|
42
47
|
if (namedDefault)
|
|
43
|
-
delete
|
|
48
|
+
delete aliasesOnly.default;
|
|
44
49
|
}
|
|
45
|
-
|
|
50
|
+
this.allEntityNodesOnlyAliasesCache = aliasesOnly;
|
|
51
|
+
return aliasesOnly;
|
|
46
52
|
}
|
|
47
53
|
catch (error) {
|
|
48
54
|
console.log('CodeYam ERROR: getAllEntityNodesOnlyAliases failed:', {
|
|
@@ -166,17 +172,19 @@ export class FileAnalyzer {
|
|
|
166
172
|
const resolvedPath = this.projectAnalyzer.getRelativePath(resolvedModule.resolvedFileName);
|
|
167
173
|
// Handle dist -> src mapping for workspace packages
|
|
168
174
|
let targetPath = resolvedPath;
|
|
169
|
-
let targetFile = this.projectAnalyzer
|
|
175
|
+
let targetFile = getFileByPathSafe(this.projectAnalyzer, targetPath);
|
|
170
176
|
if (!targetFile && targetPath.includes('/dist/')) {
|
|
171
177
|
const srcPath = targetPath.replace('/dist/', '/src/');
|
|
172
|
-
targetFile = this.projectAnalyzer
|
|
178
|
+
targetFile = getFileByPathSafe(this.projectAnalyzer, srcPath);
|
|
173
179
|
if (targetFile) {
|
|
174
180
|
targetPath = srcPath;
|
|
175
181
|
}
|
|
176
182
|
// Try with different extensions if still not found
|
|
177
183
|
if (!targetFile) {
|
|
178
184
|
const basePath = srcPath.replace(/\.d\.ts$/, '').replace(/\.js$/, '');
|
|
179
|
-
targetFile =
|
|
185
|
+
targetFile =
|
|
186
|
+
getFileByPathSafe(this.projectAnalyzer, basePath + '.ts') ??
|
|
187
|
+
getFileByPathSafe(this.projectAnalyzer, basePath + '.tsx');
|
|
180
188
|
if (targetFile) {
|
|
181
189
|
targetPath = targetFile.path;
|
|
182
190
|
}
|
|
@@ -225,19 +233,21 @@ export class FileAnalyzer {
|
|
|
225
233
|
getLocalEntitiesUsedInFunction(functionName) {
|
|
226
234
|
if (!this.sourceFile)
|
|
227
235
|
return [];
|
|
228
|
-
const entityNodes =
|
|
229
|
-
sourceFile: this.sourceFile,
|
|
230
|
-
});
|
|
236
|
+
const entityNodes = this.getAllEntityNodes();
|
|
231
237
|
// Defensive check: ensure the function exists in entityNodes
|
|
232
|
-
|
|
238
|
+
const functionNode = entityNodes[functionName];
|
|
239
|
+
if (!functionNode) {
|
|
233
240
|
return [];
|
|
234
241
|
}
|
|
235
242
|
try {
|
|
236
|
-
const identifiers = this.getIdentifiersInNode(
|
|
243
|
+
const identifiers = this.getIdentifiersInNode(functionNode);
|
|
237
244
|
return identifiers
|
|
238
|
-
.filter((identifier
|
|
239
|
-
|
|
240
|
-
|
|
245
|
+
.filter((identifier) => {
|
|
246
|
+
const node = entityNodes[identifier];
|
|
247
|
+
return (!!node &&
|
|
248
|
+
node !== functionNode &&
|
|
249
|
+
typeof node.kind === 'number');
|
|
250
|
+
})
|
|
241
251
|
.map((identifier) => ({
|
|
242
252
|
name: identifier,
|
|
243
253
|
node: entityNodes[identifier],
|
|
@@ -263,10 +273,11 @@ export class FileAnalyzer {
|
|
|
263
273
|
sourceFile: this.sourceFile,
|
|
264
274
|
});
|
|
265
275
|
const identifiersInRelevantNode = this.getIdentifiersInNode(relevantNode);
|
|
276
|
+
const identifiersSet = new Set(identifiersInRelevantNode);
|
|
266
277
|
const entries = Object.entries(importsAnalysis)
|
|
267
278
|
.map(([importedFilePath, importedExpressions]) => {
|
|
268
279
|
const relevantExpressions = importedExpressions.filter((importedExpression) => {
|
|
269
|
-
return
|
|
280
|
+
return identifiersSet.has(importedExpression.importAlias);
|
|
270
281
|
});
|
|
271
282
|
// Remove duplicate 'default' if present
|
|
272
283
|
const uniqueRelevantExpressions = [...new Set(relevantExpressions)];
|
|
@@ -327,13 +338,13 @@ export class FileAnalyzer {
|
|
|
327
338
|
}
|
|
328
339
|
const relativePath = this.projectAnalyzer.getRelativePath(importPath);
|
|
329
340
|
let projectPath = this.projectAnalyzer.getRelativePath(resolvedImport.resolvedFileName);
|
|
330
|
-
let importedFile = this.projectAnalyzer
|
|
341
|
+
let importedFile = getFileByPathSafe(this.projectAnalyzer, projectPath);
|
|
331
342
|
// Workspace packages often resolve to dist/ paths (from package.json "types" or "main"),
|
|
332
343
|
// but our project.files contains source files in src/. Try mapping dist -> src.
|
|
333
344
|
if (!importedFile && projectPath.includes('/dist/')) {
|
|
334
345
|
const srcPath = projectPath.replace('/dist/', '/src/');
|
|
335
346
|
// Try exact match first (e.g., dist/index.d.ts -> src/index.ts)
|
|
336
|
-
importedFile = this.projectAnalyzer
|
|
347
|
+
importedFile = getFileByPathSafe(this.projectAnalyzer, srcPath);
|
|
337
348
|
if (importedFile) {
|
|
338
349
|
projectPath = srcPath;
|
|
339
350
|
}
|
|
@@ -342,7 +353,9 @@ export class FileAnalyzer {
|
|
|
342
353
|
const basePath = srcPath
|
|
343
354
|
.replace(/\.d\.ts$/, '')
|
|
344
355
|
.replace(/\.js$/, '');
|
|
345
|
-
importedFile =
|
|
356
|
+
importedFile =
|
|
357
|
+
getFileByPathSafe(this.projectAnalyzer, basePath + '.ts') ??
|
|
358
|
+
getFileByPathSafe(this.projectAnalyzer, basePath + '.tsx');
|
|
346
359
|
if (importedFile) {
|
|
347
360
|
projectPath = importedFile.path;
|
|
348
361
|
}
|
|
@@ -439,19 +452,33 @@ export class FileAnalyzer {
|
|
|
439
452
|
}
|
|
440
453
|
getNamespaceIdentifiersInNode(node, namespaceIdentifier) {
|
|
441
454
|
const identifiers = [];
|
|
455
|
+
const seen = new Set();
|
|
442
456
|
const identifierVisitor = (child) => {
|
|
443
457
|
if (ts.isPropertyAccessExpression(child)) {
|
|
444
458
|
if (child.expression.getText() === namespaceIdentifier) {
|
|
445
|
-
|
|
459
|
+
const name = child.name.getText();
|
|
460
|
+
if (!seen.has(name)) {
|
|
461
|
+
seen.add(name);
|
|
462
|
+
identifiers.push(name);
|
|
463
|
+
}
|
|
446
464
|
}
|
|
447
465
|
}
|
|
448
466
|
ts.forEachChild(child, identifierVisitor);
|
|
449
467
|
};
|
|
450
468
|
ts.forEachChild(node, identifierVisitor);
|
|
451
|
-
return identifiers
|
|
469
|
+
return identifiers;
|
|
452
470
|
}
|
|
453
471
|
getIdentifiersInNode(node) {
|
|
454
472
|
const identifiers = [];
|
|
473
|
+
const seen = new Set();
|
|
474
|
+
const addIdentifier = (text, allowDefault = false) => {
|
|
475
|
+
if (!allowDefault && text === 'default')
|
|
476
|
+
return;
|
|
477
|
+
if (seen.has(text))
|
|
478
|
+
return;
|
|
479
|
+
seen.add(text);
|
|
480
|
+
identifiers.push(text);
|
|
481
|
+
};
|
|
455
482
|
// Helper to safely get text from an identifier or string literal
|
|
456
483
|
const getNodeText = (node) => {
|
|
457
484
|
try {
|
|
@@ -479,65 +506,62 @@ export class FileAnalyzer {
|
|
|
479
506
|
}
|
|
480
507
|
};
|
|
481
508
|
if (ts.isIdentifier(node)) {
|
|
482
|
-
|
|
509
|
+
addIdentifier(getNodeText(node));
|
|
483
510
|
}
|
|
484
511
|
const identifierVisitor = (child) => {
|
|
485
512
|
if (ts.isIdentifier(child)) {
|
|
486
|
-
|
|
487
|
-
if (text === 'default')
|
|
488
|
-
return;
|
|
489
|
-
identifiers.push(text);
|
|
513
|
+
addIdentifier(getNodeText(child));
|
|
490
514
|
}
|
|
491
515
|
else if (ts.isExportDeclaration(child)) {
|
|
492
516
|
if (child.exportClause && ts.isNamedExports(child.exportClause)) {
|
|
493
517
|
child.exportClause.elements.forEach((element) => {
|
|
494
|
-
|
|
518
|
+
addIdentifier(getNodeText(element.name), true);
|
|
495
519
|
});
|
|
496
520
|
}
|
|
497
521
|
else if (child.exportClause &&
|
|
498
522
|
ts.isNamespaceExport(child.exportClause)) {
|
|
499
|
-
|
|
523
|
+
addIdentifier(getNodeText(child.exportClause.name));
|
|
500
524
|
}
|
|
501
525
|
}
|
|
502
526
|
else if (ts.isExportAssignment(child)) {
|
|
503
527
|
if (ts.isIdentifier(child.expression)) {
|
|
504
|
-
|
|
528
|
+
addIdentifier(getNodeText(child.expression));
|
|
505
529
|
}
|
|
506
530
|
}
|
|
507
531
|
else if (ts.isExportSpecifier(child)) {
|
|
508
|
-
|
|
532
|
+
addIdentifier(getNodeText(child.name), true);
|
|
509
533
|
return;
|
|
510
534
|
}
|
|
511
535
|
else if (ts.isFunctionDeclaration(child) && child.name) {
|
|
512
|
-
|
|
536
|
+
addIdentifier(getNodeText(child.name));
|
|
513
537
|
}
|
|
514
538
|
else if (ts.isVariableStatement(child)) {
|
|
515
539
|
child.declarationList.declarations.forEach((declaration) => {
|
|
516
540
|
if (ts.isIdentifier(declaration.name)) {
|
|
517
|
-
|
|
541
|
+
addIdentifier(getNodeText(declaration.name));
|
|
518
542
|
}
|
|
519
543
|
});
|
|
520
544
|
}
|
|
521
545
|
else if (ts.isImportDeclaration(child)) {
|
|
522
546
|
if (child.importClause && child.importClause.namedBindings) {
|
|
523
547
|
if (ts.isNamespaceImport(child.importClause.namedBindings)) {
|
|
524
|
-
|
|
548
|
+
addIdentifier(getNodeText(child.importClause.namedBindings.name));
|
|
525
549
|
}
|
|
526
550
|
else if (ts.isNamedImports(child.importClause.namedBindings)) {
|
|
527
551
|
child.importClause.namedBindings.elements.forEach((element) => {
|
|
528
|
-
|
|
552
|
+
addIdentifier(getNodeText(element.name));
|
|
529
553
|
});
|
|
530
554
|
}
|
|
531
555
|
}
|
|
532
556
|
}
|
|
533
557
|
else if (ts.isImportSpecifier(child)) {
|
|
534
|
-
|
|
558
|
+
addIdentifier(getNodeText(child.name), true);
|
|
535
559
|
return;
|
|
536
560
|
}
|
|
537
561
|
ts.forEachChild(child, identifierVisitor);
|
|
538
562
|
};
|
|
539
563
|
ts.forEachChild(node, identifierVisitor);
|
|
540
|
-
return identifiers
|
|
564
|
+
return identifiers;
|
|
541
565
|
}
|
|
542
566
|
resolveNamespaceImport(entityNode, namespaceIdentifier, importedFilePath) {
|
|
543
567
|
const exportInfos = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileAnalyzer.js","sourceRoot":"","sources":["../../../../../../packages/analyze/src/lib/FileAnalyzer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FileAnalyzer.js","sourceRoot":"","sources":["../../../../../../packages/analyze/src/lib/FileAnalyzer.ts"],"names":[],"mappings":"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"}
|