@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.
Files changed (485) hide show
  1. package/analyzer-template/.build-info.json +7 -7
  2. package/analyzer-template/log.txt +3 -3
  3. package/analyzer-template/package.json +8 -7
  4. package/analyzer-template/packages/ai/index.ts +6 -2
  5. package/analyzer-template/packages/ai/package.json +2 -2
  6. package/analyzer-template/packages/ai/scripts/ai-test-matrix.mjs +424 -0
  7. package/analyzer-template/packages/ai/src/lib/analyzeScope.ts +24 -0
  8. package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +6 -16
  9. package/analyzer-template/packages/ai/src/lib/astScopes/methodSemantics.ts +197 -0
  10. package/analyzer-template/packages/ai/src/lib/astScopes/paths.ts +28 -2
  11. package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +145 -4
  12. package/analyzer-template/packages/ai/src/lib/checkAllAttributes.ts +1 -3
  13. package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +1877 -542
  14. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.ts +138 -0
  15. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.ts +1 -1
  16. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.ts +139 -0
  17. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/DebugTracer.ts +224 -0
  18. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/PathManager.ts +203 -0
  19. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/README.md +294 -0
  20. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.ts +161 -0
  21. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/VisitedTracker.ts +235 -0
  22. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.ts +64 -1
  23. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts +14 -6
  24. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/selectBestValue.ts +70 -0
  25. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/uniqueIdUtils.ts +113 -0
  26. package/analyzer-template/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.ts +36 -0
  27. package/analyzer-template/packages/ai/src/lib/generateChangesEntityDocumentation.ts +20 -2
  28. package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarioData.ts +56 -160
  29. package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarios.ts +79 -265
  30. package/analyzer-template/packages/ai/src/lib/generateEntityDocumentation.ts +16 -2
  31. package/analyzer-template/packages/ai/src/lib/generateEntityKeyAttributes.ts +32 -8
  32. package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +53 -154
  33. package/analyzer-template/packages/ai/src/lib/generateEntityScenarios.ts +84 -254
  34. package/analyzer-template/packages/ai/src/lib/generateStatementAnalysis.ts +48 -71
  35. package/analyzer-template/packages/ai/src/lib/getConditionalUsagesFromCode.ts +27 -6
  36. package/analyzer-template/packages/ai/src/lib/getLLMCallStats.ts +0 -14
  37. package/analyzer-template/packages/ai/src/lib/modelInfo.ts +15 -0
  38. package/analyzer-template/packages/ai/src/lib/promptGenerators/gatherAttributesMap.ts +42 -4
  39. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityDocumentationGenerator.ts +8 -33
  40. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.ts +54 -62
  41. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.ts +93 -109
  42. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityDocumentationGenerator.ts +8 -27
  43. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.ts +33 -38
  44. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.ts +30 -30
  45. package/analyzer-template/packages/ai/src/lib/types/index.ts +2 -0
  46. package/analyzer-template/packages/ai/src/lib/worker/SerializableDataStructure.ts +41 -0
  47. package/analyzer-template/packages/analyze/src/lib/FileAnalyzer.ts +47 -8
  48. package/analyzer-template/packages/analyze/src/lib/asts/nodes/getNodeType.ts +1 -1
  49. package/analyzer-template/packages/analyze/src/lib/asts/nodes/index.ts +2 -1
  50. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllExportedNodes.ts +4 -2
  51. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllExports.ts +5 -3
  52. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +8 -10
  53. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +6 -1
  54. package/analyzer-template/packages/analyze/src/lib/files/analyze/gatherEntityMap.ts +8 -6
  55. package/analyzer-template/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.ts +5 -13
  56. package/analyzer-template/packages/analyze/src/lib/files/analyzeChange.ts +34 -15
  57. package/analyzer-template/packages/analyze/src/lib/files/analyzeEntity.ts +17 -3
  58. package/analyzer-template/packages/analyze/src/lib/files/analyzeInitial.ts +35 -16
  59. package/analyzer-template/packages/analyze/src/lib/files/analyzeRemixRoute.ts +21 -33
  60. package/analyzer-template/packages/analyze/src/lib/files/getImportedExports.ts +75 -10
  61. package/analyzer-template/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.ts +26 -0
  62. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +7 -1
  63. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.ts +9 -1
  64. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarioData.ts +6 -1
  65. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarios.ts +9 -1
  66. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +15 -7
  67. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.ts +12 -2
  68. package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.d.ts +23 -0
  69. package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.d.ts.map +1 -0
  70. package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.js +30 -0
  71. package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.js.map +1 -0
  72. package/analyzer-template/packages/aws/package.json +5 -4
  73. package/analyzer-template/packages/aws/s3/index.ts +4 -0
  74. package/analyzer-template/packages/aws/src/lib/s3/getPresignedUrl.ts +62 -0
  75. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.ts +28 -21
  76. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.ts +18 -11
  77. package/analyzer-template/packages/generate/src/lib/scenarioComponent.ts +6 -3
  78. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.d.ts.map +1 -1
  79. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +28 -21
  80. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
  81. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.d.ts.map +1 -1
  82. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js +18 -11
  83. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js.map +1 -1
  84. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponent.d.ts.map +1 -1
  85. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponent.js +5 -3
  86. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponent.js.map +1 -1
  87. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.d.ts +2 -0
  88. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.d.ts.map +1 -1
  89. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.js +3 -0
  90. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.js.map +1 -1
  91. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelations.d.ts +2 -0
  92. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelations.d.ts.map +1 -1
  93. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/debugReportsTable.d.ts +37 -0
  94. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/debugReportsTable.d.ts.map +1 -0
  95. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/debugReportsTable.js +27 -0
  96. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/debugReportsTable.js.map +1 -0
  97. package/analyzer-template/packages/github/dist/supabase/src/lib/scenarioToDb.d.ts.map +1 -1
  98. package/analyzer-template/packages/github/dist/supabase/src/lib/scenarioToDb.js +1 -1
  99. package/analyzer-template/packages/github/dist/supabase/src/lib/scenarioToDb.js.map +1 -1
  100. package/analyzer-template/packages/github/dist/utils/index.d.ts +2 -0
  101. package/analyzer-template/packages/github/dist/utils/index.d.ts.map +1 -1
  102. package/analyzer-template/packages/github/dist/utils/index.js +2 -0
  103. package/analyzer-template/packages/github/dist/utils/index.js.map +1 -1
  104. package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.d.ts +25 -0
  105. package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.d.ts.map +1 -0
  106. package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.js +40 -0
  107. package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.js.map +1 -0
  108. package/analyzer-template/packages/github/dist/utils/src/lib/applyUniversalMocks.d.ts.map +1 -1
  109. package/analyzer-template/packages/github/dist/utils/src/lib/applyUniversalMocks.js +39 -5
  110. package/analyzer-template/packages/github/dist/utils/src/lib/applyUniversalMocks.js.map +1 -1
  111. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getNextRoutePath.d.ts.map +1 -1
  112. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getNextRoutePath.js +2 -1
  113. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getNextRoutePath.js.map +1 -1
  114. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getRemixRoutePath.d.ts.map +1 -1
  115. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getRemixRoutePath.js +2 -1
  116. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getRemixRoutePath.js.map +1 -1
  117. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.d.ts.map +1 -1
  118. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +2 -1
  119. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
  120. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.d.ts.map +1 -1
  121. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js +1 -0
  122. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js.map +1 -1
  123. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts +12 -0
  124. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts.map +1 -0
  125. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +32 -0
  126. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -0
  127. package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.d.ts.map +1 -1
  128. package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.js +17 -0
  129. package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
  130. package/analyzer-template/packages/supabase/src/lib/kysely/db.ts +6 -0
  131. package/analyzer-template/packages/supabase/src/lib/kysely/tableRelations.ts +3 -0
  132. package/analyzer-template/packages/supabase/src/lib/kysely/tables/debugReportsTable.ts +61 -0
  133. package/analyzer-template/packages/supabase/src/lib/scenarioToDb.ts +1 -0
  134. package/analyzer-template/packages/ui-components/src/scenario-editor/components/DataItemEditor.tsx +1 -1
  135. package/analyzer-template/packages/utils/dist/utils/index.d.ts +2 -0
  136. package/analyzer-template/packages/utils/dist/utils/index.d.ts.map +1 -1
  137. package/analyzer-template/packages/utils/dist/utils/index.js +2 -0
  138. package/analyzer-template/packages/utils/dist/utils/index.js.map +1 -1
  139. package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.d.ts +25 -0
  140. package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.d.ts.map +1 -0
  141. package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.js +40 -0
  142. package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.js.map +1 -0
  143. package/analyzer-template/packages/utils/dist/utils/src/lib/applyUniversalMocks.d.ts.map +1 -1
  144. package/analyzer-template/packages/utils/dist/utils/src/lib/applyUniversalMocks.js +39 -5
  145. package/analyzer-template/packages/utils/dist/utils/src/lib/applyUniversalMocks.js.map +1 -1
  146. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getNextRoutePath.d.ts.map +1 -1
  147. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getNextRoutePath.js +2 -1
  148. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getNextRoutePath.js.map +1 -1
  149. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getRemixRoutePath.d.ts.map +1 -1
  150. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getRemixRoutePath.js +2 -1
  151. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getRemixRoutePath.js.map +1 -1
  152. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.d.ts.map +1 -1
  153. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +2 -1
  154. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
  155. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.d.ts.map +1 -1
  156. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js +1 -0
  157. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js.map +1 -1
  158. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts +12 -0
  159. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts.map +1 -0
  160. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +32 -0
  161. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -0
  162. package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.d.ts.map +1 -1
  163. package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.js +17 -0
  164. package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
  165. package/analyzer-template/packages/utils/index.ts +2 -0
  166. package/analyzer-template/packages/utils/src/lib/Semaphore.ts +42 -0
  167. package/analyzer-template/packages/utils/src/lib/applyUniversalMocks.ts +46 -7
  168. package/analyzer-template/packages/utils/src/lib/frameworks/getNextRoutePath.ts +2 -1
  169. package/analyzer-template/packages/utils/src/lib/frameworks/getRemixRoutePath.ts +2 -1
  170. package/analyzer-template/packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.ts +2 -1
  171. package/analyzer-template/packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.ts +1 -0
  172. package/analyzer-template/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.ts +33 -0
  173. package/analyzer-template/packages/utils/src/lib/lightweightEntityExtractor.ts +16 -0
  174. package/analyzer-template/project/constructMockCode.ts +199 -9
  175. package/analyzer-template/project/reconcileMockDataKeys.ts +13 -0
  176. package/analyzer-template/project/runMultiScenarioServer.ts +0 -4
  177. package/analyzer-template/project/runScenarioServer.ts +0 -4
  178. package/analyzer-template/project/start.ts +1 -11
  179. package/analyzer-template/project/startScenarioCapture.ts +24 -0
  180. package/analyzer-template/project/startServer.ts +50 -70
  181. package/analyzer-template/project/trackGeneratedFiles.ts +41 -0
  182. package/analyzer-template/project/writeMockDataTsx.ts +191 -7
  183. package/analyzer-template/project/writeScenarioComponents.ts +643 -63
  184. package/analyzer-template/project/writeUniversalMocks.ts +66 -8
  185. package/analyzer-template/scripts/postbuild.cjs +12 -1
  186. package/background/src/lib/virtualized/project/constructMockCode.js +183 -11
  187. package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
  188. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +12 -0
  189. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
  190. package/background/src/lib/virtualized/project/runMultiScenarioServer.js +0 -3
  191. package/background/src/lib/virtualized/project/runMultiScenarioServer.js.map +1 -1
  192. package/background/src/lib/virtualized/project/start.js +1 -8
  193. package/background/src/lib/virtualized/project/start.js.map +1 -1
  194. package/background/src/lib/virtualized/project/startScenarioCapture.js +18 -0
  195. package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
  196. package/background/src/lib/virtualized/project/startServer.js +40 -68
  197. package/background/src/lib/virtualized/project/startServer.js.map +1 -1
  198. package/background/src/lib/virtualized/project/trackGeneratedFiles.js +30 -0
  199. package/background/src/lib/virtualized/project/trackGeneratedFiles.js.map +1 -0
  200. package/background/src/lib/virtualized/project/writeMockDataTsx.js +156 -6
  201. package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
  202. package/background/src/lib/virtualized/project/writeScenarioComponents.js +433 -41
  203. package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
  204. package/background/src/lib/virtualized/project/writeUniversalMocks.js +56 -7
  205. package/background/src/lib/virtualized/project/writeUniversalMocks.js.map +1 -1
  206. package/codeyam-cli/src/cli.js +6 -0
  207. package/codeyam-cli/src/cli.js.map +1 -1
  208. package/codeyam-cli/src/codeyam-cli.js +0 -0
  209. package/codeyam-cli/src/commands/debug.js +222 -0
  210. package/codeyam-cli/src/commands/debug.js.map +1 -0
  211. package/codeyam-cli/src/commands/init.js +4 -23
  212. package/codeyam-cli/src/commands/init.js.map +1 -1
  213. package/codeyam-cli/src/commands/report.js +102 -0
  214. package/codeyam-cli/src/commands/report.js.map +1 -0
  215. package/codeyam-cli/src/commands/setup-sandbox.js +165 -0
  216. package/codeyam-cli/src/commands/setup-sandbox.js.map +1 -0
  217. package/codeyam-cli/src/commands/test-startup.js +14 -5
  218. package/codeyam-cli/src/commands/test-startup.js.map +1 -1
  219. package/codeyam-cli/src/utils/__tests__/cleanupAnalysisFiles.test.js +6 -6
  220. package/codeyam-cli/src/utils/__tests__/cleanupAnalysisFiles.test.js.map +1 -1
  221. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +8 -0
  222. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
  223. package/codeyam-cli/src/utils/analysisRunner.js +2 -1
  224. package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
  225. package/codeyam-cli/src/utils/analyzer.js +24 -2
  226. package/codeyam-cli/src/utils/analyzer.js.map +1 -1
  227. package/codeyam-cli/src/utils/cleanupAnalysisFiles.js +2 -2
  228. package/codeyam-cli/src/utils/cleanupAnalysisFiles.js.map +1 -1
  229. package/codeyam-cli/src/utils/generateReport.js +219 -0
  230. package/codeyam-cli/src/utils/generateReport.js.map +1 -0
  231. package/codeyam-cli/src/utils/install-skills.js +7 -0
  232. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  233. package/codeyam-cli/src/utils/queue/__tests__/job.pidTracking.test.js +1 -0
  234. package/codeyam-cli/src/utils/queue/__tests__/job.pidTracking.test.js.map +1 -1
  235. package/codeyam-cli/src/utils/queue/job.js +10 -5
  236. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  237. package/codeyam-cli/src/utils/sandbox.js +190 -0
  238. package/codeyam-cli/src/utils/sandbox.js.map +1 -0
  239. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +4 -0
  240. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
  241. package/codeyam-cli/src/utils/webappDetection.js +2 -1
  242. package/codeyam-cli/src/utils/webappDetection.js.map +1 -1
  243. package/codeyam-cli/src/webserver/app/lib/database.js +50 -2
  244. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  245. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-Dp_FTAs1.js +1 -0
  246. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-TlHocYno.js +26 -0
  247. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-CVMmGuIc.js +3 -0
  248. package/codeyam-cli/src/webserver/build/client/assets/{LogViewer-BKKG1s2B.js → LogViewer-JkfQ-VaI.js} +1 -1
  249. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-Cqce0_KG.js +1 -0
  250. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-BrMAP1nP.js +1 -0
  251. package/codeyam-cli/src/webserver/build/client/assets/ScenarioPreview-Bi-__7HT.js +6 -0
  252. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-XmIpHcLJ.js +5 -0
  253. package/codeyam-cli/src/webserver/build/client/assets/_index-BmfhU6CA.js +1 -0
  254. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-Dm8lM73z.js +10 -0
  255. package/codeyam-cli/src/webserver/build/client/assets/api.generate-report-l0sNRNKZ.js +1 -0
  256. package/codeyam-cli/src/webserver/build/client/assets/chart-column-kA4jn9if.js +1 -0
  257. package/codeyam-cli/src/webserver/build/client/assets/chunk-WWGJGFF6-CgXbbZRx.js +26 -0
  258. package/codeyam-cli/src/webserver/build/client/assets/circle-check-B2oHQ-zo.js +1 -0
  259. package/codeyam-cli/src/webserver/build/client/assets/clock-BAfbP_iK.js +1 -0
  260. package/codeyam-cli/src/webserver/build/client/assets/codeyam-name-logo-CvKwUgHo.svg +9 -0
  261. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-BBYuR56H.js +1 -0
  262. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-BgPXZbm0.js +1 -0
  263. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-BHiWkb_W.js → entity._sha._-BkoAXaOa.js} +10 -10
  264. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-Bj5GHkhb.js +1 -0
  265. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-eW5z9AyZ.js +5 -0
  266. package/codeyam-cli/src/webserver/build/client/assets/entityStatus-C5Okl18j.js +1 -0
  267. package/codeyam-cli/src/webserver/build/client/assets/{entityVersioning-Bk_YB1jM.js → entityVersioning-CU_Lchhc.js} +1 -1
  268. package/codeyam-cli/src/webserver/build/client/assets/entry.client-B9tSboXM.js +5 -0
  269. package/codeyam-cli/src/webserver/build/client/assets/file-text-18aYHZGd.js +1 -0
  270. package/codeyam-cli/src/webserver/build/client/assets/files-Df79EyEb.js +1 -0
  271. package/codeyam-cli/src/webserver/build/client/assets/git-CDEwTVH_.js +12 -0
  272. package/codeyam-cli/src/webserver/build/client/assets/globals-DXRB6jBc.css +1 -0
  273. package/codeyam-cli/src/webserver/build/client/assets/html2canvas-pro.esm-XQCGvadH.js +5 -0
  274. package/codeyam-cli/src/webserver/build/client/assets/index-_LjBsTxX.js +8 -0
  275. package/codeyam-cli/src/webserver/build/client/assets/loader-circle-D_EGChhq.js +1 -0
  276. package/codeyam-cli/src/webserver/build/client/assets/manifest-3e0ffbcc.js +1 -0
  277. package/codeyam-cli/src/webserver/build/client/assets/root-CGyT4J4b.js +16 -0
  278. package/codeyam-cli/src/webserver/build/client/assets/settings-CEPbAsom.js +1 -0
  279. package/codeyam-cli/src/webserver/build/client/assets/settings-R8QF_mHX.js +1 -0
  280. package/codeyam-cli/src/webserver/build/client/assets/simulations-B_PXvFom.js +1 -0
  281. package/codeyam-cli/src/webserver/build/client/assets/triangle-alert-BthANBVv.js +1 -0
  282. package/codeyam-cli/src/webserver/build/client/assets/{useLastLogLine-Lumm1t01.js → useLastLogLine-Blr5oZDE.js} +1 -1
  283. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-CANr3QJ5.js +1 -0
  284. package/codeyam-cli/src/webserver/build/client/assets/useToast-Bbf4Hokd.js +1 -0
  285. package/codeyam-cli/src/webserver/build/server/assets/index-vf1FETCO.js +1 -0
  286. package/codeyam-cli/src/webserver/build/server/assets/server-build-B5s58TvB.js +169 -0
  287. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  288. package/codeyam-cli/src/webserver/build-info.json +5 -5
  289. package/codeyam-cli/src/webserver/server.js +1 -1
  290. package/codeyam-cli/src/webserver/server.js.map +1 -1
  291. package/codeyam-cli/templates/codeyam-setup-skill.md +70 -85
  292. package/codeyam-cli/templates/debug-command.md +125 -0
  293. package/package.json +9 -11
  294. package/packages/ai/index.js +2 -3
  295. package/packages/ai/index.js.map +1 -1
  296. package/packages/ai/src/lib/analyzeScope.js +13 -0
  297. package/packages/ai/src/lib/analyzeScope.js.map +1 -1
  298. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +6 -15
  299. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
  300. package/packages/ai/src/lib/astScopes/methodSemantics.js +134 -0
  301. package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
  302. package/packages/ai/src/lib/astScopes/paths.js +28 -3
  303. package/packages/ai/src/lib/astScopes/paths.js.map +1 -1
  304. package/packages/ai/src/lib/astScopes/processExpression.js +123 -3
  305. package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
  306. package/packages/ai/src/lib/checkAllAttributes.js +1 -3
  307. package/packages/ai/src/lib/checkAllAttributes.js.map +1 -1
  308. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +1358 -396
  309. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  310. package/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.js +137 -1
  311. package/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.js.map +1 -1
  312. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js +1 -1
  313. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js.map +1 -1
  314. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js +112 -0
  315. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js.map +1 -0
  316. package/packages/ai/src/lib/dataStructure/helpers/DebugTracer.js +176 -0
  317. package/packages/ai/src/lib/dataStructure/helpers/DebugTracer.js.map +1 -0
  318. package/packages/ai/src/lib/dataStructure/helpers/PathManager.js +178 -0
  319. package/packages/ai/src/lib/dataStructure/helpers/PathManager.js.map +1 -0
  320. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js +138 -0
  321. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js.map +1 -0
  322. package/packages/ai/src/lib/dataStructure/helpers/VisitedTracker.js +199 -0
  323. package/packages/ai/src/lib/dataStructure/helpers/VisitedTracker.js.map +1 -0
  324. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js +55 -1
  325. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js.map +1 -1
  326. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +14 -6
  327. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js.map +1 -1
  328. package/packages/ai/src/lib/dataStructure/helpers/selectBestValue.js +62 -0
  329. package/packages/ai/src/lib/dataStructure/helpers/selectBestValue.js.map +1 -0
  330. package/packages/ai/src/lib/dataStructure/helpers/uniqueIdUtils.js +90 -0
  331. package/packages/ai/src/lib/dataStructure/helpers/uniqueIdUtils.js.map +1 -0
  332. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js +22 -0
  333. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js.map +1 -1
  334. package/packages/ai/src/lib/generateChangesEntityDocumentation.js +19 -1
  335. package/packages/ai/src/lib/generateChangesEntityDocumentation.js.map +1 -1
  336. package/packages/ai/src/lib/generateChangesEntityScenarioData.js +55 -156
  337. package/packages/ai/src/lib/generateChangesEntityScenarioData.js.map +1 -1
  338. package/packages/ai/src/lib/generateChangesEntityScenarios.js +79 -262
  339. package/packages/ai/src/lib/generateChangesEntityScenarios.js.map +1 -1
  340. package/packages/ai/src/lib/generateEntityDocumentation.js +15 -1
  341. package/packages/ai/src/lib/generateEntityDocumentation.js.map +1 -1
  342. package/packages/ai/src/lib/generateEntityKeyAttributes.js +32 -8
  343. package/packages/ai/src/lib/generateEntityKeyAttributes.js.map +1 -1
  344. package/packages/ai/src/lib/generateEntityScenarioData.js +52 -152
  345. package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
  346. package/packages/ai/src/lib/generateEntityScenarios.js +88 -258
  347. package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
  348. package/packages/ai/src/lib/generateStatementAnalysis.js +46 -71
  349. package/packages/ai/src/lib/generateStatementAnalysis.js.map +1 -1
  350. package/packages/ai/src/lib/getConditionalUsagesFromCode.js +13 -8
  351. package/packages/ai/src/lib/getConditionalUsagesFromCode.js.map +1 -1
  352. package/packages/ai/src/lib/getLLMCallStats.js +0 -14
  353. package/packages/ai/src/lib/getLLMCallStats.js.map +1 -1
  354. package/packages/ai/src/lib/modelInfo.js +15 -0
  355. package/packages/ai/src/lib/modelInfo.js.map +1 -1
  356. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js +36 -3
  357. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js.map +1 -1
  358. package/packages/ai/src/lib/promptGenerators/generateChangesEntityDocumentationGenerator.js +8 -33
  359. package/packages/ai/src/lib/promptGenerators/generateChangesEntityDocumentationGenerator.js.map +1 -1
  360. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js +35 -41
  361. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js.map +1 -1
  362. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js +59 -72
  363. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js.map +1 -1
  364. package/packages/ai/src/lib/promptGenerators/generateEntityDocumentationGenerator.js +8 -27
  365. package/packages/ai/src/lib/promptGenerators/generateEntityDocumentationGenerator.js.map +1 -1
  366. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js +24 -27
  367. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js.map +1 -1
  368. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js +21 -22
  369. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js.map +1 -1
  370. package/packages/ai/src/lib/types/index.js +2 -0
  371. package/packages/ai/src/lib/types/index.js.map +1 -1
  372. package/packages/ai/src/lib/worker/SerializableDataStructure.js +7 -0
  373. package/packages/ai/src/lib/worker/SerializableDataStructure.js.map +1 -1
  374. package/packages/analyze/src/lib/FileAnalyzer.js +39 -7
  375. package/packages/analyze/src/lib/FileAnalyzer.js.map +1 -1
  376. package/packages/analyze/src/lib/asts/nodes/getNodeType.js +1 -1
  377. package/packages/analyze/src/lib/asts/nodes/getNodeType.js.map +1 -1
  378. package/packages/analyze/src/lib/asts/nodes/index.js +2 -1
  379. package/packages/analyze/src/lib/asts/nodes/index.js.map +1 -1
  380. package/packages/analyze/src/lib/asts/sourceFiles/getAllExportedNodes.js +3 -2
  381. package/packages/analyze/src/lib/asts/sourceFiles/getAllExportedNodes.js.map +1 -1
  382. package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js +4 -3
  383. package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js.map +1 -1
  384. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +6 -8
  385. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
  386. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +5 -1
  387. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
  388. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js +8 -2
  389. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js.map +1 -1
  390. package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js +5 -8
  391. package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js.map +1 -1
  392. package/packages/analyze/src/lib/files/analyzeChange.js +21 -9
  393. package/packages/analyze/src/lib/files/analyzeChange.js.map +1 -1
  394. package/packages/analyze/src/lib/files/analyzeEntity.js +10 -4
  395. package/packages/analyze/src/lib/files/analyzeEntity.js.map +1 -1
  396. package/packages/analyze/src/lib/files/analyzeInitial.js +21 -9
  397. package/packages/analyze/src/lib/files/analyzeInitial.js.map +1 -1
  398. package/packages/analyze/src/lib/files/analyzeRemixRoute.js +18 -23
  399. package/packages/analyze/src/lib/files/analyzeRemixRoute.js.map +1 -1
  400. package/packages/analyze/src/lib/files/getImportedExports.js +56 -4
  401. package/packages/analyze/src/lib/files/getImportedExports.js.map +1 -1
  402. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js +24 -0
  403. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js.map +1 -1
  404. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +6 -1
  405. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
  406. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js +9 -1
  407. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js.map +1 -1
  408. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js +5 -1
  409. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js.map +1 -1
  410. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js +9 -1
  411. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js.map +1 -1
  412. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +16 -7
  413. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
  414. package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js +8 -2
  415. package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js.map +1 -1
  416. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +28 -21
  417. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
  418. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js +18 -11
  419. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js.map +1 -1
  420. package/packages/generate/src/lib/scenarioComponent.js +5 -3
  421. package/packages/generate/src/lib/scenarioComponent.js.map +1 -1
  422. package/packages/supabase/src/lib/kysely/db.js +3 -0
  423. package/packages/supabase/src/lib/kysely/db.js.map +1 -1
  424. package/packages/supabase/src/lib/kysely/tables/debugReportsTable.js +27 -0
  425. package/packages/supabase/src/lib/kysely/tables/debugReportsTable.js.map +1 -0
  426. package/packages/supabase/src/lib/scenarioToDb.js +1 -1
  427. package/packages/supabase/src/lib/scenarioToDb.js.map +1 -1
  428. package/packages/utils/index.js +2 -0
  429. package/packages/utils/index.js.map +1 -1
  430. package/packages/utils/src/lib/Semaphore.js +40 -0
  431. package/packages/utils/src/lib/Semaphore.js.map +1 -0
  432. package/packages/utils/src/lib/applyUniversalMocks.js +39 -5
  433. package/packages/utils/src/lib/applyUniversalMocks.js.map +1 -1
  434. package/packages/utils/src/lib/frameworks/getNextRoutePath.js +2 -1
  435. package/packages/utils/src/lib/frameworks/getNextRoutePath.js.map +1 -1
  436. package/packages/utils/src/lib/frameworks/getRemixRoutePath.js +2 -1
  437. package/packages/utils/src/lib/frameworks/getRemixRoutePath.js.map +1 -1
  438. package/packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +2 -1
  439. package/packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
  440. package/packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.js +1 -0
  441. package/packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.js.map +1 -1
  442. package/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +32 -0
  443. package/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -0
  444. package/packages/utils/src/lib/lightweightEntityExtractor.js +17 -0
  445. package/packages/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
  446. package/analyzer-template/packages/ai/src/lib/generateEntityDataMap.ts +0 -375
  447. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-rqv54FUY.js +0 -1
  448. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-B0oiPem-.js +0 -26
  449. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-DqXXjAJ7.js +0 -3
  450. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-DU_jxCPD.js +0 -1
  451. package/codeyam-cli/src/webserver/build/client/assets/ScenarioPreview-5DY-YIxu.js +0 -6
  452. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-DmjXUj6m.js +0 -5
  453. package/codeyam-cli/src/webserver/build/client/assets/_index-DvSrcxsk.js +0 -1
  454. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-CsaMd9mb.js +0 -10
  455. package/codeyam-cli/src/webserver/build/client/assets/chart-column-VXBS6qOn.js +0 -1
  456. package/codeyam-cli/src/webserver/build/client/assets/circle-alert-n5GUC2AS.js +0 -1
  457. package/codeyam-cli/src/webserver/build/client/assets/clock-DKqtX8js.js +0 -1
  458. package/codeyam-cli/src/webserver/build/client/assets/components-Dj-Ggnl2.js +0 -40
  459. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-BbR3FwNc.js +0 -1
  460. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-L7M9Vr5z.js +0 -1
  461. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-C9w-q7P3.js +0 -5
  462. package/codeyam-cli/src/webserver/build/client/assets/entry.client-CdGoUs8A.js +0 -1
  463. package/codeyam-cli/src/webserver/build/client/assets/file-text-B6Er7j5k.js +0 -1
  464. package/codeyam-cli/src/webserver/build/client/assets/files-KcDVw1FY.js +0 -1
  465. package/codeyam-cli/src/webserver/build/client/assets/git-B9uZ8eSJ.js +0 -12
  466. package/codeyam-cli/src/webserver/build/client/assets/globals-B0f88RTV.css +0 -1
  467. package/codeyam-cli/src/webserver/build/client/assets/loader-circle-v3c6DFp4.js +0 -1
  468. package/codeyam-cli/src/webserver/build/client/assets/manifest-fca08d7e.js +0 -1
  469. package/codeyam-cli/src/webserver/build/client/assets/root-Cf8VBqIb.js +0 -16
  470. package/codeyam-cli/src/webserver/build/client/assets/search-DA14wXpu.js +0 -1
  471. package/codeyam-cli/src/webserver/build/client/assets/settings-COJUrwGu.js +0 -1
  472. package/codeyam-cli/src/webserver/build/client/assets/settings-NU_ZquhK.js +0 -1
  473. package/codeyam-cli/src/webserver/build/client/assets/simulations-CNaMJ-nR.js +0 -1
  474. package/codeyam-cli/src/webserver/build/client/assets/useToast-BRShB17p.js +0 -1
  475. package/codeyam-cli/src/webserver/build/client/assets/zap-BvukH0eN.js +0 -1
  476. package/codeyam-cli/src/webserver/build/client/cy-logo-cli.svg +0 -13
  477. package/codeyam-cli/src/webserver/build/client/favicon.svg +0 -13
  478. package/codeyam-cli/src/webserver/build/server/assets/index-DHr4rT4u.js +0 -1
  479. package/codeyam-cli/src/webserver/build/server/assets/server-build-Bi1mj14J.js +0 -166
  480. package/codeyam-cli/src/webserver/public/cy-logo-cli.svg +0 -13
  481. package/codeyam-cli/src/webserver/public/favicon.svg +0 -13
  482. package/packages/ai/src/lib/generateEntityDataMap.js +0 -335
  483. package/packages/ai/src/lib/generateEntityDataMap.js.map +0 -1
  484. package/packages/ai/src/lib/promptGenerators/generateEntityDataMapGenerator.js +0 -17
  485. package/packages/ai/src/lib/promptGenerators/generateEntityDataMapGenerator.js.map +0 -1
@@ -41,7 +41,7 @@ export default function generateChangesEntityScenariosGenerator({
41
41
  const filePath = (attr as any).filePath;
42
42
  const entityName = (attr as any).originalEntityName;
43
43
 
44
- if (!filePath || !entityName) continue; // Skip if missing required fields
44
+ if (!filePath || !entityName) continue;
45
45
 
46
46
  if (!relevantDependentKeyAttributes[filePath]) {
47
47
  relevantDependentKeyAttributes[filePath] = {};
@@ -52,128 +52,112 @@ export default function generateChangesEntityScenariosGenerator({
52
52
  relevantDependentKeyAttributes[filePath][entityName].push(attr);
53
53
  }
54
54
 
55
- return `Added Key Attributes:
56
-
57
- \`\`\`
58
- ${
59
- addedKeyAttributes && addedKeyAttributes.length > 0
60
- ? JSON.stringify(
61
- addedKeyAttributes.map((ka) => ({
62
- dataStructurePath: ka.dataStructurePath, // Full path in mockData
63
- localVariable: ka.internalPath, // Local variable name
64
- description: ka.description,
65
- validValueOptions: ka.validValueOptions,
66
- })),
67
- null,
68
- 2,
69
- )
70
- : 'None'
71
- }
72
- \`\`\`
73
-
74
- Removed Key Attributes:
75
-
76
- \`\`\`
77
- ${removedKeyAttributes && removedKeyAttributes.length > 0 ? JSON.stringify(removedKeyAttributes, null, 2) : 'None'}
78
- \`\`\`
79
-
80
- ${
81
- changedDataStructureFields.length > 0
82
- ? `Changed Data Structure Fields:
83
-
84
- The following fields in the data structure have changed (type changed, added, or removed):
85
-
86
- \`\`\`
55
+ const formatKeyAttrs = (attrs: Analysis['metadata']['keyAttributes']) =>
56
+ attrs.map((ka) => ({
57
+ dataStructurePath: ka.dataStructurePath,
58
+ localVariable: ka.internalPath,
59
+ description: ka.description,
60
+ validValueOptions: ka.validValueOptions,
61
+ }));
62
+
63
+ const addedSection =
64
+ addedKeyAttributes?.length > 0
65
+ ? JSON.stringify(formatKeyAttrs(addedKeyAttributes), null, 2)
66
+ : 'None';
67
+
68
+ const removedSection =
69
+ removedKeyAttributes?.length > 0
70
+ ? JSON.stringify(removedKeyAttributes, null, 2)
71
+ : 'None';
72
+
73
+ const changedFieldsSection =
74
+ changedDataStructureFields.length > 0
75
+ ? `
76
+ ## Changed Data Structure Fields
77
+ Fields that changed type, were added, or removed:
78
+ \`\`\`json
87
79
  ${JSON.stringify(changedDataStructureFields, null, 2)}
88
80
  \`\`\`
89
81
 
90
- **IMPORTANT**: For scenarios that reference these changed fields in their keyAttributeInstructions, you MUST regenerate those specific instructions to match the new data structure. For example:
91
- - If "stats.visualEntities" changed from an array to a number, update keyAttributeInstructions from "Array of 10 objects" to "10 (count of visual entities)"
92
- - If a field was removed, remove it from keyAttributeInstructions
93
- - If a field was added, you may add it to keyAttributeInstructions if relevant for the scenario
94
-
95
- Fields that did NOT change can retain their existing keyAttributeInstructions.
96
-
82
+ **Update keyAttributeInstructions for affected scenarios** (e.g., if "stats.visualEntities" changed from array to number).
97
83
  `
98
- : ''
99
- }
100
- Existing Key Attributes:
101
-
102
- \`\`\`
84
+ : '';
85
+
86
+ const existingScenariosJson = JSON.stringify(
87
+ existingScenarios
88
+ .filter((s) => (error ? !!s.metadata.error : !s.metadata.error))
89
+ .map((s) => ({
90
+ name: s.name,
91
+ description: s.description,
92
+ keyAttributeInstructions: s.metadata.keyAttributeInstructions,
93
+ playwrightInstructions: s.metadata.playwrightInstructions,
94
+ })),
95
+ null,
96
+ 2,
97
+ );
98
+
99
+ const diffSection = commitDiff
100
+ ? `
101
+ ## Code Change (Diff)
102
+ \`\`\`diff
103
+ ${commitDiff}
104
+ \`\`\``
105
+ : '';
106
+
107
+ const dependencySection =
108
+ !error &&
109
+ relevantDependentKeyAttributes &&
110
+ Object.keys(relevantDependentKeyAttributes).length > 0
111
+ ? `
112
+ ## Dependency Key Attributes
113
+ \`\`\`json
103
114
  ${JSON.stringify(
104
- keyAttributes.map((ka) => ({
105
- dataStructurePath: ka.dataStructurePath, // Full path in mockData
106
- localVariable: ka.internalPath, // Local variable name
107
- description: ka.description,
108
- validValueOptions: ka.validValueOptions,
109
- })),
115
+ Object.keys(relevantDependentKeyAttributes).reduce((acc: any, path) => {
116
+ acc[path] = Object.keys(relevantDependentKeyAttributes[path]).reduce(
117
+ (entityAcc: any, entityName) => {
118
+ entityAcc[entityName] = relevantDependentKeyAttributes[path][
119
+ entityName
120
+ ].map((ka: any) => ({
121
+ dataStructurePath: ka.dataStructurePath,
122
+ localVariable: ka.path || ka.internalPath,
123
+ description: ka.description,
124
+ validValueOptions: ka.validValueOptions,
125
+ }));
126
+ return entityAcc;
127
+ },
128
+ {},
129
+ );
130
+ return acc;
131
+ }, {}),
110
132
  null,
111
133
  2,
112
134
  )}
113
- \`\`\`
114
-
115
- Existing Scenarios:
135
+ \`\`\``
136
+ : '';
116
137
 
138
+ return `## Added Key Attributes
139
+ \`\`\`json
140
+ ${addedSection}
117
141
  \`\`\`
118
- ${JSON.stringify(
119
- existingScenarios
120
- .filter((s) => (error ? !!s.metadata.error : !s.metadata.error))
121
- .map((s) => ({
122
- name: s.name,
123
- description: s.description,
124
- keyAttributeInstructions: s.metadata.keyAttributeInstructions,
125
- playwrightInstructions: s.metadata.playwrightInstructions,
126
- })),
127
- null,
128
- 2,
129
- )}
130
- \`\`\`
131
-
132
- ${
133
- commitDiff
134
- ? `
135
- Code Change:
136
142
 
143
+ ## Removed Key Attributes
144
+ \`\`\`json
145
+ ${removedSection}
137
146
  \`\`\`
138
- ${commitDiff}
147
+ ${changedFieldsSection}
148
+ ## Current Key Attributes
149
+ \`\`\`json
150
+ ${JSON.stringify(formatKeyAttrs(keyAttributes), null, 2)}
139
151
  \`\`\`
140
- `
141
- : ''
142
- }
143
- Function Code:
144
152
 
153
+ ## Existing Scenarios
154
+ \`\`\`json
155
+ ${existingScenariosJson}
145
156
  \`\`\`
146
- ${entity.code}
147
- \`\`\`
157
+ ${diffSection}
148
158
 
149
- ${
150
- !error &&
151
- relevantDependentKeyAttributes &&
152
- Object.keys(relevantDependentKeyAttributes).length > 0
153
- ? `Key Attributes for Dependencies:
154
- \`\`\`
155
- ${JSON.stringify(
156
- Object.keys(relevantDependentKeyAttributes).reduce((acc: any, path) => {
157
- acc[path] = Object.keys(
158
- (relevantDependentKeyAttributes as any)[path],
159
- ).reduce((entityAcc: any, entityName) => {
160
- entityAcc[entityName] = (relevantDependentKeyAttributes as any)[path][
161
- entityName
162
- ].map((ka: any) => ({
163
- dataStructurePath: ka.dataStructurePath, // Full path in mockData
164
- localVariable: ka.path || ka.internalPath, // Local variable name
165
- description: ka.description,
166
- validValueOptions: ka.validValueOptions,
167
- }));
168
- return entityAcc;
169
- }, {});
170
- return acc;
171
- }, {}),
172
- null,
173
- 2,
174
- )}
175
- \`\`\``
176
- : ''
177
- }
178
- `;
159
+ ## Current Code
160
+ \`\`\`typescript
161
+ ${entity.code}
162
+ \`\`\`${dependencySection}`;
179
163
  }
@@ -1,35 +1,16 @@
1
1
  import { Entity } from '~codeyam/types';
2
2
 
3
3
  export default function generateEntityDocumentationGenerator(entity: Entity) {
4
- return `Here is the code for ${entity.name}:
5
-
6
- """
7
- ${entity.code}
8
- """
9
-
10
- What does this code do? Please create documentation for this code.
11
-
12
- - Start with an overview that describes the overall intent of the code. Be concise in your language. Immediately start with the intent of the code. Here is an example Overview:
4
+ return `## Task
5
+ Document the following code.
13
6
 
14
- \`\`\` Overview
15
- Displays details about a specific Git commit. It shows the commit message, author, date, and provides a link to the commit on GitHub. Users can copy the commit SHA to their clipboard, with a visual indication of the copy action.
7
+ ## Code
8
+ \`\`\`typescript
9
+ ${entity.code}
16
10
  \`\`\`
17
11
 
18
- Note that it does not mention the name of the function but dives directly into what the code does in concise language followed by a small amount of detail.
19
-
20
- - Next, specify the inputs (with details about types, how the input is used, and examples) and expected outputs (with details about types and examples).
21
-
22
- - Finally, provide examples of how the code can be used with clear inputs and outputs for each example. Provide diverse examples (there's no need to include repetitive examples).
23
-
24
- Write the documentation as markdown. Be concise. Use bullets when possible. No one wants to read long paragraphs of text.
25
-
26
- Provide no other text than the documentation in proper markdown using the headers below.
27
-
28
- ## Overview
29
-
30
- ## Inputs
31
-
32
- ## Output
12
+ ## Overview Example
13
+ Good: "Displays details about a specific Git commit. Shows the commit message, author, date, and provides a link to GitHub. Users can copy the commit SHA to clipboard."
33
14
 
34
- ## Examples`;
15
+ Bad: "The CommitDetails function takes a commit object..." (mentions the function name)`;
35
16
  }
@@ -11,50 +11,45 @@ export default function generateEntityScenarioDataGenerator(
11
11
  return incompleteResponse;
12
12
  }
13
13
 
14
- return `## Scenarios
14
+ const scenarioJson = JSON.stringify(
15
+ {
16
+ name: scenario.name,
17
+ description: scenario.description,
18
+ keyAttributeInstructions: scenario.metadata.keyAttributeInstructions,
19
+ },
20
+ null,
21
+ 2,
22
+ );
15
23
 
16
- This scenario needs mock data to support it:
17
- \`\`\`
18
- ${JSON.stringify(
19
- {
20
- name: scenario.name,
21
- description: scenario.description,
22
- keyAttributeInstructions: scenario.metadata.keyAttributeInstructions,
23
- },
24
- null,
25
- 2,
26
- )}
27
- \`\`\`
28
- ${
29
- defaultScenarioData
24
+ const defaultDataSection = defaultScenarioData
30
25
  ? `
31
- ## Default Scenario Data
32
-
33
- Here is the Default Scenario data. The data generated for this scenario will be merged into this Default Scenario data.
34
- \`\`\`
26
+ ## Default Scenario Data (merge base)
27
+ \`\`\`json
35
28
  ${JSON.stringify(defaultScenarioData.data, null, 2)}
36
29
  \`\`\`
37
-
38
30
  `
39
- : ''
40
- }
41
- ${
42
- structure.dataForMocks
43
- ? `The mockData structure (for the default scenario provide robust values for the entire structure, excluding error attributes unless specifically requested):
44
- \`\`\`
31
+ : '';
32
+
33
+ const mockDataSection = structure.dataForMocks
34
+ ? `## mockData Structure
35
+ \`\`\`json
45
36
  ${JSON.stringify(noErrorAttributes(structure.dataForMocks), null, 2)}
46
- \`\`\`
47
- `
48
- : 'There is no mockData for this file. Return {} for the mockData.'
49
- }
50
-
51
- ${
52
- structure.arguments
53
- ? `The argumentsData structure (for the default scenario provide robust values for the entire structure, excluding error attributes unless specifically requested):
54
- \`\`\`
37
+ \`\`\``
38
+ : '## mockData Structure\nNone—return `{}` for mockData.';
39
+
40
+ const argumentsSection = structure.arguments
41
+ ? `## argumentsData Structure
42
+ \`\`\`json
55
43
  ${JSON.stringify(noErrorAttributes(structure.arguments), null, 2)}
44
+ \`\`\``
45
+ : '## argumentsData Structure\nNone—return `[]` for argumentsData.';
46
+
47
+ return `## Scenario
48
+ \`\`\`json
49
+ ${scenarioJson}
56
50
  \`\`\`
57
- `
58
- : 'There is no argumentsData for this file. Return [] for the argumentsData.'
59
- }`;
51
+ ${defaultDataSection}
52
+ ${mockDataSection}
53
+
54
+ ${argumentsSection}`;
60
55
  }
@@ -19,36 +19,28 @@ export default function generateEntityScenariosGenerator({
19
19
  (ka) => ka.dependentEntityName,
20
20
  );
21
21
 
22
- return `Key Attributes:
23
-
24
- \`\`\`
25
- ${JSON.stringify(
26
- thisEntityKeyAttributes.map((ka) => ({
27
- dataStructurePath: ka.dataStructurePath, // Full path in mockData (e.g., "useDiffModal().diffView")
28
- localVariable: ka.internalPath, // Local variable name (e.g., "diffView")
29
- description: ka.description,
30
- validValueOptions: ka.validValueOptions,
31
- })),
32
- null,
33
- 2,
34
- )}
35
- \`\`\`
36
-
37
- Code:
38
- \`\`\`
39
- ${entity.code}
40
- \`\`\`
22
+ const keyAttrsJson = JSON.stringify(
23
+ thisEntityKeyAttributes.map((ka) => ({
24
+ dataStructurePath: ka.dataStructurePath,
25
+ localVariable: ka.internalPath,
26
+ description: ka.description,
27
+ validValueOptions: ka.validValueOptions,
28
+ })),
29
+ null,
30
+ 2,
31
+ );
41
32
 
42
- ${
43
- !error &&
44
- relevantDependentKeyAttributes &&
45
- Object.keys(relevantDependentKeyAttributes).length > 0
46
- ? `Key Attributes for Dependencies:
47
- \`\`\`
33
+ const dependencySection =
34
+ !error &&
35
+ relevantDependentKeyAttributes &&
36
+ relevantDependentKeyAttributes.length > 0
37
+ ? `
38
+ ## Dependency Key Attributes
39
+ \`\`\`json
48
40
  ${JSON.stringify(
49
41
  relevantDependentKeyAttributes.map((ka) => ({
50
- dataStructurePath: ka.dataStructurePath, // Full path in mockData
51
- localVariable: ka.internalPath, // Local variable name
42
+ dataStructurePath: ka.dataStructurePath,
43
+ localVariable: ka.internalPath,
52
44
  forDependency: ka.dependentEntityName,
53
45
  description: ka.description,
54
46
  validValueOptions: ka.validValueOptions,
@@ -57,7 +49,15 @@ ${JSON.stringify(
57
49
  2,
58
50
  )}
59
51
  \`\`\``
60
- : ''
61
- }
62
- `;
52
+ : '';
53
+
54
+ return `## Key Attributes
55
+ \`\`\`json
56
+ ${keyAttrsJson}
57
+ \`\`\`
58
+
59
+ ## Code
60
+ \`\`\`typescript
61
+ ${entity.code}
62
+ \`\`\`${dependencySection}`;
63
63
  }
@@ -55,6 +55,7 @@ export namespace AI {
55
55
  */
56
56
  export enum Model {
57
57
  // OpenAI
58
+ OPENAI_GPT5_1 = 'openai/gpt-5.1',
58
59
  OPENAI_GPT5 = 'openai/gpt-5',
59
60
  OPENAI_GPT5_MINI = 'openai/gpt-5-mini',
60
61
  OPENAI_GPT5_NANO = 'openai/gpt-5-nano',
@@ -83,6 +84,7 @@ export namespace AI {
83
84
  // Anthropic
84
85
  ANTHROPIC_CLAUDE_4_5_HAIKU = 'anthropic/claude-4.5-haiku',
85
86
  ANTHROPIC_CLAUDE_4_5_SONNET = 'anthropic/claude-4.5-sonnet',
87
+ ANTHROPIC_CLAUDE_4_5_OPUS = 'anthropic/claude-4.5-opus',
86
88
 
87
89
  // Deprecated models (kept for backward compatibility)
88
90
  PHIND_CODELLAMA = 'phind/codellama',
@@ -22,6 +22,8 @@ export interface SerializableFunctionCallInfo {
22
22
  callScope: string;
23
23
  schema?: Record<string, string>;
24
24
  equivalencies?: Record<string, SerializableScopeVariable[]>;
25
+ /** All call signatures merged into this entry (e.g., logger.info, logger.debug) */
26
+ allCallSignatures?: string[];
25
27
  }
26
28
 
27
29
  export interface SerializableFunctionResult {
@@ -34,6 +36,28 @@ export interface SerializableFunctionResult {
34
36
  environmentVariables: string[];
35
37
  }
36
38
 
39
+ /**
40
+ * Enriched conditional usage that includes traced source data path.
41
+ * The sourceDataPath connects a local variable (used in conditionals) back to
42
+ * the original data attribute from the attributes map.
43
+ */
44
+ export interface EnrichedConditionalUsage {
45
+ /** The local variable path (e.g., "activeTab") */
46
+ path: string;
47
+ /** The type of condition this attribute is used in */
48
+ conditionType: 'truthiness' | 'comparison' | 'switch';
49
+ /** For comparison conditions, the literal values being compared against */
50
+ comparedValues?: string[];
51
+ /** Where this conditional usage occurs */
52
+ location: 'if' | 'ternary' | 'logical-and' | 'switch';
53
+ /**
54
+ * The traced source data path in the format "scopeName.path"
55
+ * e.g., "useParams().functionCallReturnValue['*']"
56
+ * This connects the local variable to the original data attribute.
57
+ */
58
+ sourceDataPath?: string;
59
+ }
60
+
37
61
  export interface SerializableDataStructure {
38
62
  // External function calls array
39
63
  externalFunctionCalls: SerializableFunctionCallInfo[];
@@ -48,6 +72,13 @@ export interface SerializableDataStructure {
48
72
  equivalentSignatureVariables: Record<string, string>;
49
73
 
50
74
  environmentVariables: string[];
75
+
76
+ /**
77
+ * Conditional usages with source tracing.
78
+ * Maps local variable path to array of enriched usages that include
79
+ * the traced source data path.
80
+ */
81
+ conditionalUsages?: Record<string, EnrichedConditionalUsage[]>;
51
82
  }
52
83
 
53
84
  /**
@@ -182,3 +213,13 @@ export function getEquivalentSignatureVariables(
182
213
  ): Record<string, string> {
183
214
  return dataStructure.equivalentSignatureVariables;
184
215
  }
216
+
217
+ /**
218
+ * Get enriched conditional usages with source tracing.
219
+ * Returns the conditional usages map, or empty object if not available.
220
+ */
221
+ export function getConditionalUsages(
222
+ dataStructure: SerializableDataStructure,
223
+ ): Record<string, EnrichedConditionalUsage[]> {
224
+ return dataStructure.conditionalUsages ?? {};
225
+ }
@@ -278,11 +278,16 @@ export class FileAnalyzer {
278
278
 
279
279
  for (let i = 0; i < uniqueRelevantExpressions.length; i++) {
280
280
  const relevantExpression = uniqueRelevantExpressions[i];
281
- if (
282
- relevantExpression.exportName === '*' &&
281
+ // Resolve namespace imports for local packages (not external libraries).
282
+ // A module is local if it's not external OR if it resolves to a path outside node_modules
283
+ // (handles local monorepo packages like @codeyam/ui-components).
284
+ // If resolvedFileName is undefined, we can't determine location, so treat as external.
285
+ const isLocalModule =
283
286
  resolvedModule &&
284
- !resolvedModule.isExternalLibraryImport
285
- ) {
287
+ (!resolvedModule.isExternalLibraryImport ||
288
+ (resolvedModule.resolvedFileName &&
289
+ !resolvedModule.resolvedFileName.includes('node_modules')));
290
+ if (relevantExpression.exportName === '*' && isLocalModule) {
286
291
  uniqueRelevantExpressions.splice(i, 1);
287
292
  uniqueRelevantExpressions.push(
288
293
  ...this.resolveNamespaceImport(
@@ -295,11 +300,18 @@ export class FileAnalyzer {
295
300
  }
296
301
 
297
302
  if (uniqueRelevantExpressions.length > 0) {
298
- // Debug logging for ./types imports
303
+ // A module is external if TypeScript says so AND the resolved path is in node_modules.
304
+ // This handles local monorepo packages (like @codeyam/ui-components) which TypeScript
305
+ // marks as isExternalLibraryImport=true because they're symlinked, but actually
306
+ // resolve to files inside the project (not in node_modules).
307
+ const isExternalLibrary =
308
+ (resolvedModule?.isExternalLibraryImport ?? true) &&
309
+ (resolvedModule?.resolvedFileName?.includes('node_modules') ??
310
+ true);
299
311
  return [
300
312
  importedFilePath,
301
313
  {
302
- externalLibrary: resolvedModule?.isExternalLibraryImport ?? true,
314
+ externalLibrary: isExternalLibrary,
303
315
  resolvedPath: resolvedModule?.resolvedFileName,
304
316
  exportInfos: uniqueRelevantExpressions,
305
317
  },
@@ -336,14 +348,41 @@ export class FileAnalyzer {
336
348
  }
337
349
 
338
350
  const relativePath = this.projectAnalyzer.getRelativePath(importPath);
339
- const projectPath = this.projectAnalyzer.getRelativePath(
351
+ let projectPath = this.projectAnalyzer.getRelativePath(
340
352
  resolvedImport.resolvedFileName,
341
353
  );
342
354
 
343
- const importedFile = this.projectAnalyzer.project.files.find(
355
+ let importedFile = this.projectAnalyzer.project.files.find(
344
356
  (f) => f.path === projectPath,
345
357
  );
346
358
 
359
+ // Workspace packages often resolve to dist/ paths (from package.json "types" or "main"),
360
+ // but our project.files contains source files in src/. Try mapping dist -> src.
361
+ if (!importedFile && projectPath.includes('/dist/')) {
362
+ const srcPath = projectPath.replace('/dist/', '/src/');
363
+ // Try exact match first (e.g., dist/index.d.ts -> src/index.ts)
364
+ importedFile = this.projectAnalyzer.project.files.find(
365
+ (f) => f.path === srcPath,
366
+ );
367
+ if (importedFile) {
368
+ projectPath = srcPath;
369
+ }
370
+
371
+ // If not found, try with different extensions
372
+ if (!importedFile) {
373
+ const basePath = srcPath
374
+ .replace(/\.d\.ts$/, '')
375
+ .replace(/\.js$/, '');
376
+ importedFile = this.projectAnalyzer.project.files.find(
377
+ (f) =>
378
+ f.path === basePath + '.ts' || f.path === basePath + '.tsx',
379
+ );
380
+ if (importedFile) {
381
+ projectPath = importedFile.path;
382
+ }
383
+ }
384
+ }
385
+
347
386
  if (!importedFile) {
348
387
  // File not found in project.files, but still preserve resolvedPath
349
388
  return [
@@ -17,7 +17,7 @@ export function getNodeType(node: ts.Node, sourceFile: ts.SourceFile) {
17
17
  nodeType = 'function';
18
18
  break;
19
19
  case 'ClassDeclaration':
20
- nodeType = 'function';
20
+ nodeType = 'class';
21
21
  break;
22
22
  case 'ExportDeclaration':
23
23
  case 'ExportAssignment':
@@ -163,7 +163,8 @@ export function isFunction(
163
163
  ts.isFunctionDeclaration(node) ||
164
164
  ts.isFunctionExpression(node) ||
165
165
  ts.isArrowFunction(node) ||
166
- ts.isCallExpression(node)
166
+ ts.isCallExpression(node) ||
167
+ ts.isClassDeclaration(node)
167
168
  );
168
169
  }
169
170
 
@@ -54,13 +54,15 @@ export function getAllExportedNodes(
54
54
  }
55
55
 
56
56
  function processNamedExports(node: ts.NamedExports) {
57
+ const parent = node.parent as ts.ExportDeclaration | undefined;
58
+
57
59
  node.elements.forEach((element) => {
58
60
  const name = element.name.text;
59
61
  const propertyName = element.propertyName
60
62
  ? element.propertyName.text
61
63
  : name;
62
- const importedSource = node.parent.moduleSpecifier
63
- ? node.parent.moduleSpecifier.getText(sourceFile)
64
+ const importedSource = parent?.moduleSpecifier
65
+ ? parent.moduleSpecifier.getText(sourceFile)
64
66
  : undefined;
65
67
 
66
68
  if (importedSource) {
@@ -103,19 +103,21 @@ export function getAllExports(
103
103
  }
104
104
 
105
105
  function processNamedExports(node: ts.NamedExports) {
106
+ const parent = node.parent as ts.ExportDeclaration | undefined;
107
+
106
108
  node.elements.forEach((element) => {
107
109
  const name = element.name.text;
108
110
  const propertyName = element.propertyName
109
111
  ? element.propertyName.text
110
112
  : name;
111
- const importedSource = node.parent.moduleSpecifier
112
- ? node.parent.moduleSpecifier.getText(sourceFile)
113
+ const importedSource = parent?.moduleSpecifier
114
+ ? parent.moduleSpecifier.getText(sourceFile)
113
115
  : undefined;
114
116
 
115
117
  if (importedSource) {
116
118
  const directImportPath = importedSource?.replace(/['"]/g, '');
117
119
  const directImport = (
118
- node.parent.exportClause as ts.NamedExports
120
+ parent?.exportClause as ts.NamedExports | undefined
119
121
  )?.elements?.find(
120
122
  (e) => (e.propertyName || e.name).text === propertyName,
121
123
  );