@codeyam/codeyam-cli 0.1.0-staging.1 → 0.1.0-staging.28f73cf

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 (440) 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 +2 -1
  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 +127 -4
  12. package/analyzer-template/packages/ai/src/lib/checkAllAttributes.ts +1 -3
  13. package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +1821 -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/fillInSchemaGapsAndUnknowns.ts +14 -6
  23. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/selectBestValue.ts +70 -0
  24. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/uniqueIdUtils.ts +113 -0
  25. package/analyzer-template/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.ts +36 -0
  26. package/analyzer-template/packages/ai/src/lib/generateChangesEntityDocumentation.ts +20 -2
  27. package/analyzer-template/packages/ai/src/lib/generateChangesEntityKeyAttributes.ts +51 -107
  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 +53 -176
  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 +39 -0
  47. package/analyzer-template/packages/analyze/src/lib/FileAnalyzer.ts +52 -6
  48. package/analyzer-template/packages/analyze/src/lib/asts/nodes/index.ts +2 -1
  49. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.ts +238 -0
  50. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getDeclaredEntityNode.ts +25 -0
  51. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/index.ts +2 -0
  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/scenarios/generateDataStructure.ts +7 -1
  60. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.ts +9 -1
  61. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarioData.ts +6 -1
  62. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarios.ts +9 -1
  63. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +15 -7
  64. package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.d.ts +23 -0
  65. package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.d.ts.map +1 -0
  66. package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.js +30 -0
  67. package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.js.map +1 -0
  68. package/analyzer-template/packages/aws/package.json +5 -4
  69. package/analyzer-template/packages/aws/s3/index.ts +4 -0
  70. package/analyzer-template/packages/aws/src/lib/s3/getPresignedUrl.ts +62 -0
  71. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.ts +28 -21
  72. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.ts +18 -11
  73. package/analyzer-template/packages/generate/src/lib/scenarioComponent.ts +6 -3
  74. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.d.ts.map +1 -1
  75. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +28 -21
  76. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
  77. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.d.ts.map +1 -1
  78. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js +18 -11
  79. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js.map +1 -1
  80. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponent.d.ts.map +1 -1
  81. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponent.js +5 -3
  82. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponent.js.map +1 -1
  83. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.d.ts +2 -0
  84. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.d.ts.map +1 -1
  85. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.js +3 -0
  86. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.js.map +1 -1
  87. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelations.d.ts +2 -0
  88. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelations.d.ts.map +1 -1
  89. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/debugReportsTable.d.ts +37 -0
  90. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/debugReportsTable.d.ts.map +1 -0
  91. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/debugReportsTable.js +27 -0
  92. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/debugReportsTable.js.map +1 -0
  93. package/analyzer-template/packages/github/dist/utils/index.d.ts +2 -0
  94. package/analyzer-template/packages/github/dist/utils/index.d.ts.map +1 -1
  95. package/analyzer-template/packages/github/dist/utils/index.js +2 -0
  96. package/analyzer-template/packages/github/dist/utils/index.js.map +1 -1
  97. package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.d.ts +25 -0
  98. package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.d.ts.map +1 -0
  99. package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.js +40 -0
  100. package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.js.map +1 -0
  101. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getNextRoutePath.d.ts.map +1 -1
  102. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getNextRoutePath.js +5 -3
  103. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getNextRoutePath.js.map +1 -1
  104. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getRemixRoutePath.d.ts.map +1 -1
  105. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getRemixRoutePath.js +2 -1
  106. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getRemixRoutePath.js.map +1 -1
  107. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.d.ts.map +1 -1
  108. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +2 -1
  109. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
  110. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.d.ts.map +1 -1
  111. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js +1 -0
  112. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js.map +1 -1
  113. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts +12 -0
  114. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts.map +1 -0
  115. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +32 -0
  116. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -0
  117. package/analyzer-template/packages/supabase/src/lib/kysely/db.ts +6 -0
  118. package/analyzer-template/packages/supabase/src/lib/kysely/tableRelations.ts +3 -0
  119. package/analyzer-template/packages/supabase/src/lib/kysely/tables/debugReportsTable.ts +61 -0
  120. package/analyzer-template/packages/ui-components/src/scenario-editor/components/DataItemEditor.tsx +1 -1
  121. package/analyzer-template/packages/utils/dist/utils/index.d.ts +2 -0
  122. package/analyzer-template/packages/utils/dist/utils/index.d.ts.map +1 -1
  123. package/analyzer-template/packages/utils/dist/utils/index.js +2 -0
  124. package/analyzer-template/packages/utils/dist/utils/index.js.map +1 -1
  125. package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.d.ts +25 -0
  126. package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.d.ts.map +1 -0
  127. package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.js +40 -0
  128. package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.js.map +1 -0
  129. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getNextRoutePath.d.ts.map +1 -1
  130. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getNextRoutePath.js +5 -3
  131. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getNextRoutePath.js.map +1 -1
  132. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getRemixRoutePath.d.ts.map +1 -1
  133. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getRemixRoutePath.js +2 -1
  134. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getRemixRoutePath.js.map +1 -1
  135. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.d.ts.map +1 -1
  136. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +2 -1
  137. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
  138. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.d.ts.map +1 -1
  139. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js +1 -0
  140. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js.map +1 -1
  141. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts +12 -0
  142. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts.map +1 -0
  143. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +32 -0
  144. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -0
  145. package/analyzer-template/packages/utils/index.ts +2 -0
  146. package/analyzer-template/packages/utils/src/lib/Semaphore.ts +42 -0
  147. package/analyzer-template/packages/utils/src/lib/frameworks/getNextRoutePath.ts +8 -3
  148. package/analyzer-template/packages/utils/src/lib/frameworks/getRemixRoutePath.ts +2 -1
  149. package/analyzer-template/packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.ts +2 -1
  150. package/analyzer-template/packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.ts +1 -0
  151. package/analyzer-template/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.ts +33 -0
  152. package/analyzer-template/project/constructMockCode.ts +170 -6
  153. package/analyzer-template/project/reconcileMockDataKeys.ts +13 -0
  154. package/analyzer-template/project/start.ts +1 -11
  155. package/analyzer-template/project/startScenarioCapture.ts +24 -0
  156. package/analyzer-template/project/trackGeneratedFiles.ts +41 -0
  157. package/analyzer-template/project/writeMockDataTsx.ts +125 -4
  158. package/analyzer-template/project/writeScenarioComponents.ts +199 -45
  159. package/analyzer-template/project/writeUniversalMocks.ts +72 -10
  160. package/background/src/lib/virtualized/project/constructMockCode.js +158 -7
  161. package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
  162. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +12 -0
  163. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
  164. package/background/src/lib/virtualized/project/start.js +1 -8
  165. package/background/src/lib/virtualized/project/start.js.map +1 -1
  166. package/background/src/lib/virtualized/project/startScenarioCapture.js +18 -0
  167. package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
  168. package/background/src/lib/virtualized/project/trackGeneratedFiles.js +30 -0
  169. package/background/src/lib/virtualized/project/trackGeneratedFiles.js.map +1 -0
  170. package/background/src/lib/virtualized/project/writeMockDataTsx.js +95 -3
  171. package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
  172. package/background/src/lib/virtualized/project/writeScenarioComponents.js +144 -28
  173. package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
  174. package/background/src/lib/virtualized/project/writeUniversalMocks.js +59 -9
  175. package/background/src/lib/virtualized/project/writeUniversalMocks.js.map +1 -1
  176. package/codeyam-cli/scripts/apply-setup.js +288 -0
  177. package/codeyam-cli/scripts/apply-setup.js.map +1 -0
  178. package/codeyam-cli/scripts/extract-setup.js +130 -0
  179. package/codeyam-cli/scripts/extract-setup.js.map +1 -0
  180. package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js +238 -0
  181. package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js.map +1 -0
  182. package/codeyam-cli/src/cli.js +6 -0
  183. package/codeyam-cli/src/cli.js.map +1 -1
  184. package/codeyam-cli/src/codeyam-cli.js +0 -0
  185. package/codeyam-cli/src/commands/debug.js +221 -0
  186. package/codeyam-cli/src/commands/debug.js.map +1 -0
  187. package/codeyam-cli/src/commands/init.js +4 -23
  188. package/codeyam-cli/src/commands/init.js.map +1 -1
  189. package/codeyam-cli/src/commands/report.js +102 -0
  190. package/codeyam-cli/src/commands/report.js.map +1 -0
  191. package/codeyam-cli/src/commands/setup-sandbox.js +164 -0
  192. package/codeyam-cli/src/commands/setup-sandbox.js.map +1 -0
  193. package/codeyam-cli/src/utils/__tests__/cleanupAnalysisFiles.test.js +6 -6
  194. package/codeyam-cli/src/utils/__tests__/cleanupAnalysisFiles.test.js.map +1 -1
  195. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +8 -0
  196. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
  197. package/codeyam-cli/src/utils/analysisRunner.js +4 -3
  198. package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
  199. package/codeyam-cli/src/utils/analyzer.js +30 -0
  200. package/codeyam-cli/src/utils/analyzer.js.map +1 -1
  201. package/codeyam-cli/src/utils/backgroundServer.js +25 -5
  202. package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
  203. package/codeyam-cli/src/utils/cleanupAnalysisFiles.js +2 -2
  204. package/codeyam-cli/src/utils/cleanupAnalysisFiles.js.map +1 -1
  205. package/codeyam-cli/src/utils/fileWatcher.js +75 -5
  206. package/codeyam-cli/src/utils/fileWatcher.js.map +1 -1
  207. package/codeyam-cli/src/utils/generateReport.js +219 -0
  208. package/codeyam-cli/src/utils/generateReport.js.map +1 -0
  209. package/codeyam-cli/src/utils/install-skills.js +7 -0
  210. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  211. package/codeyam-cli/src/utils/queue/__tests__/job.pidTracking.test.js +1 -0
  212. package/codeyam-cli/src/utils/queue/__tests__/job.pidTracking.test.js.map +1 -1
  213. package/codeyam-cli/src/utils/queue/job.js +8 -3
  214. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  215. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +4 -0
  216. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
  217. package/codeyam-cli/src/utils/webappDetection.js +2 -1
  218. package/codeyam-cli/src/utils/webappDetection.js.map +1 -1
  219. package/codeyam-cli/src/webserver/app/lib/database.js +63 -2
  220. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  221. package/codeyam-cli/src/webserver/backgroundServer.js +15 -35
  222. package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
  223. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-D5ZHFomX.js +1 -0
  224. package/codeyam-cli/src/webserver/build/client/assets/{InteractivePreview-Dh-FldQK.js → InteractivePreview-XDSzQLOY.js} +3 -3
  225. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-BYVx9KFp.js +3 -0
  226. package/codeyam-cli/src/webserver/build/client/assets/{LogViewer-Dp6DC845.js → LogViewer-CRcT5fOZ.js} +1 -1
  227. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-BORLgi0X.js +1 -0
  228. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-Bual6h18.js +1 -0
  229. package/codeyam-cli/src/webserver/build/client/assets/ScenarioPreview-Bi-YUMa-.js +6 -0
  230. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-4D2vLLJz.js +5 -0
  231. package/codeyam-cli/src/webserver/build/client/assets/_index-BC200mfN.js +1 -0
  232. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-CxvZPkCv.js +10 -0
  233. package/codeyam-cli/src/webserver/build/client/assets/api.generate-report-l0sNRNKZ.js +1 -0
  234. package/codeyam-cli/src/webserver/build/client/assets/{chart-column-B2I7jQx2.js → chart-column-B8fb6wnw.js} +1 -1
  235. package/codeyam-cli/src/webserver/build/client/assets/chunk-WWGJGFF6-De6i8FUT.js +26 -0
  236. package/codeyam-cli/src/webserver/build/client/assets/{circle-alert-GwwOAbhw.js → circle-alert-IdsgAK39.js} +1 -1
  237. package/codeyam-cli/src/webserver/build/client/assets/circle-check-BACUUf75.js +1 -0
  238. package/codeyam-cli/src/webserver/build/client/assets/clock-vWeoCemX.js +1 -0
  239. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-CS7XDrKv.js +1 -0
  240. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-DIOEw_3i.js +1 -0
  241. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-1Z6D0fLM.js → entity._sha._-8Els_3Wb.js} +10 -10
  242. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-C3FZJx1w.js +1 -0
  243. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-YJz_igar.js +5 -0
  244. package/codeyam-cli/src/webserver/build/client/assets/entityStatus-BEqj2qBy.js +1 -0
  245. package/codeyam-cli/src/webserver/build/client/assets/{entityVersioning-DO2gCvXv.js → entityVersioning-Bk_YB1jM.js} +1 -1
  246. package/codeyam-cli/src/webserver/build/client/assets/entry.client-DiP0q291.js +5 -0
  247. package/codeyam-cli/src/webserver/build/client/assets/file-text-LM0mgxXE.js +1 -0
  248. package/codeyam-cli/src/webserver/build/client/assets/files-Dxh9CcaV.js +1 -0
  249. package/codeyam-cli/src/webserver/build/client/assets/git-BXmqrWCH.js +12 -0
  250. package/codeyam-cli/src/webserver/build/client/assets/globals-BGS74ED-.css +1 -0
  251. package/codeyam-cli/src/webserver/build/client/assets/html2canvas-pro.esm-XQCGvadH.js +5 -0
  252. package/codeyam-cli/src/webserver/build/client/assets/index-D-zYbzFZ.js +8 -0
  253. package/codeyam-cli/src/webserver/build/client/assets/{loader-circle-DN7Vr40D.js → loader-circle-BXPKbHEb.js} +1 -1
  254. package/codeyam-cli/src/webserver/build/client/assets/manifest-1af162d4.js +1 -0
  255. package/codeyam-cli/src/webserver/build/client/assets/root-DB7VgjCY.js +16 -0
  256. package/codeyam-cli/src/webserver/build/client/assets/{settings-MZc4XdmE.js → settings-5zF_GOcS.js} +1 -1
  257. package/codeyam-cli/src/webserver/build/client/assets/settings-Dc4MlMpK.js +1 -0
  258. package/codeyam-cli/src/webserver/build/client/assets/simulations-BQ-02-jB.js +1 -0
  259. package/codeyam-cli/src/webserver/build/client/assets/triangle-alert-D7k-ArFa.js +1 -0
  260. package/codeyam-cli/src/webserver/build/client/assets/{useLastLogLine-BBlyqxij.js → useLastLogLine-AlhS7g5F.js} +1 -1
  261. package/codeyam-cli/src/webserver/build/client/assets/useToast-Ddo4UQv7.js +1 -0
  262. package/codeyam-cli/src/webserver/build/client/assets/{zap-B4gsLUZQ.js → zap-_jw-9DCp.js} +1 -1
  263. package/codeyam-cli/src/webserver/build/server/assets/index-D4JpXSIO.js +1 -0
  264. package/codeyam-cli/src/webserver/build/server/assets/server-build-vwbN7n65.js +169 -0
  265. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  266. package/codeyam-cli/src/webserver/build-info.json +5 -5
  267. package/codeyam-cli/src/webserver/server.js +1 -1
  268. package/codeyam-cli/src/webserver/server.js.map +1 -1
  269. package/codeyam-cli/templates/codeyam-setup-skill.md +85 -94
  270. package/codeyam-cli/templates/debug-command.md +125 -0
  271. package/package.json +9 -11
  272. package/packages/ai/index.js +1 -2
  273. package/packages/ai/index.js.map +1 -1
  274. package/packages/ai/src/lib/analyzeScope.js +13 -0
  275. package/packages/ai/src/lib/analyzeScope.js.map +1 -1
  276. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +6 -15
  277. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
  278. package/packages/ai/src/lib/astScopes/methodSemantics.js +134 -0
  279. package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
  280. package/packages/ai/src/lib/astScopes/paths.js +28 -3
  281. package/packages/ai/src/lib/astScopes/paths.js.map +1 -1
  282. package/packages/ai/src/lib/astScopes/processExpression.js +111 -3
  283. package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
  284. package/packages/ai/src/lib/checkAllAttributes.js +1 -3
  285. package/packages/ai/src/lib/checkAllAttributes.js.map +1 -1
  286. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +1320 -396
  287. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  288. package/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.js +137 -1
  289. package/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.js.map +1 -1
  290. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js +1 -1
  291. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js.map +1 -1
  292. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js +112 -0
  293. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js.map +1 -0
  294. package/packages/ai/src/lib/dataStructure/helpers/DebugTracer.js +176 -0
  295. package/packages/ai/src/lib/dataStructure/helpers/DebugTracer.js.map +1 -0
  296. package/packages/ai/src/lib/dataStructure/helpers/PathManager.js +178 -0
  297. package/packages/ai/src/lib/dataStructure/helpers/PathManager.js.map +1 -0
  298. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js +138 -0
  299. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js.map +1 -0
  300. package/packages/ai/src/lib/dataStructure/helpers/VisitedTracker.js +199 -0
  301. package/packages/ai/src/lib/dataStructure/helpers/VisitedTracker.js.map +1 -0
  302. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +14 -6
  303. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js.map +1 -1
  304. package/packages/ai/src/lib/dataStructure/helpers/selectBestValue.js +62 -0
  305. package/packages/ai/src/lib/dataStructure/helpers/selectBestValue.js.map +1 -0
  306. package/packages/ai/src/lib/dataStructure/helpers/uniqueIdUtils.js +90 -0
  307. package/packages/ai/src/lib/dataStructure/helpers/uniqueIdUtils.js.map +1 -0
  308. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js +22 -0
  309. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js.map +1 -1
  310. package/packages/ai/src/lib/generateChangesEntityDocumentation.js +19 -1
  311. package/packages/ai/src/lib/generateChangesEntityDocumentation.js.map +1 -1
  312. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js +51 -107
  313. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js.map +1 -1
  314. package/packages/ai/src/lib/generateChangesEntityScenarioData.js +55 -156
  315. package/packages/ai/src/lib/generateChangesEntityScenarioData.js.map +1 -1
  316. package/packages/ai/src/lib/generateChangesEntityScenarios.js +79 -262
  317. package/packages/ai/src/lib/generateChangesEntityScenarios.js.map +1 -1
  318. package/packages/ai/src/lib/generateEntityDocumentation.js +15 -1
  319. package/packages/ai/src/lib/generateEntityDocumentation.js.map +1 -1
  320. package/packages/ai/src/lib/generateEntityKeyAttributes.js +53 -176
  321. package/packages/ai/src/lib/generateEntityKeyAttributes.js.map +1 -1
  322. package/packages/ai/src/lib/generateEntityScenarioData.js +52 -152
  323. package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
  324. package/packages/ai/src/lib/generateEntityScenarios.js +88 -258
  325. package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
  326. package/packages/ai/src/lib/generateStatementAnalysis.js +46 -71
  327. package/packages/ai/src/lib/generateStatementAnalysis.js.map +1 -1
  328. package/packages/ai/src/lib/getConditionalUsagesFromCode.js +13 -8
  329. package/packages/ai/src/lib/getConditionalUsagesFromCode.js.map +1 -1
  330. package/packages/ai/src/lib/getLLMCallStats.js +0 -14
  331. package/packages/ai/src/lib/getLLMCallStats.js.map +1 -1
  332. package/packages/ai/src/lib/modelInfo.js +15 -0
  333. package/packages/ai/src/lib/modelInfo.js.map +1 -1
  334. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js +36 -3
  335. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js.map +1 -1
  336. package/packages/ai/src/lib/promptGenerators/generateChangesEntityDocumentationGenerator.js +8 -33
  337. package/packages/ai/src/lib/promptGenerators/generateChangesEntityDocumentationGenerator.js.map +1 -1
  338. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js +35 -41
  339. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js.map +1 -1
  340. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js +59 -72
  341. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js.map +1 -1
  342. package/packages/ai/src/lib/promptGenerators/generateEntityDocumentationGenerator.js +8 -27
  343. package/packages/ai/src/lib/promptGenerators/generateEntityDocumentationGenerator.js.map +1 -1
  344. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js +24 -27
  345. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js.map +1 -1
  346. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js +21 -22
  347. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js.map +1 -1
  348. package/packages/ai/src/lib/types/index.js +2 -0
  349. package/packages/ai/src/lib/types/index.js.map +1 -1
  350. package/packages/ai/src/lib/worker/SerializableDataStructure.js +7 -0
  351. package/packages/ai/src/lib/worker/SerializableDataStructure.js.map +1 -1
  352. package/packages/analyze/src/lib/FileAnalyzer.js +45 -5
  353. package/packages/analyze/src/lib/FileAnalyzer.js.map +1 -1
  354. package/packages/analyze/src/lib/asts/nodes/index.js +2 -1
  355. package/packages/analyze/src/lib/asts/nodes/index.js.map +1 -1
  356. package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js +191 -0
  357. package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js.map +1 -0
  358. package/packages/analyze/src/lib/asts/sourceFiles/getDeclaredEntityNode.js +16 -0
  359. package/packages/analyze/src/lib/asts/sourceFiles/getDeclaredEntityNode.js.map +1 -0
  360. package/packages/analyze/src/lib/asts/sourceFiles/index.js +2 -0
  361. package/packages/analyze/src/lib/asts/sourceFiles/index.js.map +1 -1
  362. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +6 -8
  363. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
  364. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +5 -1
  365. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
  366. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js +8 -2
  367. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js.map +1 -1
  368. package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js +5 -8
  369. package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js.map +1 -1
  370. package/packages/analyze/src/lib/files/analyzeChange.js +21 -9
  371. package/packages/analyze/src/lib/files/analyzeChange.js.map +1 -1
  372. package/packages/analyze/src/lib/files/analyzeEntity.js +10 -4
  373. package/packages/analyze/src/lib/files/analyzeEntity.js.map +1 -1
  374. package/packages/analyze/src/lib/files/analyzeInitial.js +21 -9
  375. package/packages/analyze/src/lib/files/analyzeInitial.js.map +1 -1
  376. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +6 -1
  377. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
  378. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js +9 -1
  379. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js.map +1 -1
  380. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js +5 -1
  381. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js.map +1 -1
  382. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js +9 -1
  383. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js.map +1 -1
  384. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +16 -7
  385. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
  386. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +28 -21
  387. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
  388. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js +18 -11
  389. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js.map +1 -1
  390. package/packages/generate/src/lib/scenarioComponent.js +5 -3
  391. package/packages/generate/src/lib/scenarioComponent.js.map +1 -1
  392. package/packages/supabase/src/lib/kysely/db.js +3 -0
  393. package/packages/supabase/src/lib/kysely/db.js.map +1 -1
  394. package/packages/supabase/src/lib/kysely/tables/debugReportsTable.js +27 -0
  395. package/packages/supabase/src/lib/kysely/tables/debugReportsTable.js.map +1 -0
  396. package/packages/utils/index.js +2 -0
  397. package/packages/utils/index.js.map +1 -1
  398. package/packages/utils/src/lib/Semaphore.js +40 -0
  399. package/packages/utils/src/lib/Semaphore.js.map +1 -0
  400. package/packages/utils/src/lib/frameworks/getNextRoutePath.js +5 -3
  401. package/packages/utils/src/lib/frameworks/getNextRoutePath.js.map +1 -1
  402. package/packages/utils/src/lib/frameworks/getRemixRoutePath.js +2 -1
  403. package/packages/utils/src/lib/frameworks/getRemixRoutePath.js.map +1 -1
  404. package/packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +2 -1
  405. package/packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
  406. package/packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.js +1 -0
  407. package/packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.js.map +1 -1
  408. package/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +32 -0
  409. package/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -0
  410. package/analyzer-template/packages/ai/src/lib/generateEntityDataMap.ts +0 -375
  411. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-GqWwt5wG.js +0 -1
  412. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-p0fuyqGQ.js +0 -3
  413. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-xwuhwsZH.js +0 -1
  414. package/codeyam-cli/src/webserver/build/client/assets/ScenarioPreview-Bl2IRh55.js +0 -1
  415. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-M2QuSHKC.js +0 -5
  416. package/codeyam-cli/src/webserver/build/client/assets/_index-CAVtep9Q.js +0 -1
  417. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-CLmzsLsT.js +0 -10
  418. package/codeyam-cli/src/webserver/build/client/assets/components-CAx5ONX_.js +0 -40
  419. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-CgyOwWip.js +0 -1
  420. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-DGy3zrli.js +0 -1
  421. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-ChAdTrrU.js +0 -1
  422. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-D9L7267w.js +0 -5
  423. package/codeyam-cli/src/webserver/build/client/assets/entry.client-C6FRgjPr.js +0 -1
  424. package/codeyam-cli/src/webserver/build/client/assets/files-C3-cQjgv.js +0 -1
  425. package/codeyam-cli/src/webserver/build/client/assets/git-Dp4EB9nv.js +0 -12
  426. package/codeyam-cli/src/webserver/build/client/assets/globals-Da3jt49-.css +0 -1
  427. package/codeyam-cli/src/webserver/build/client/assets/manifest-172a4629.js +0 -1
  428. package/codeyam-cli/src/webserver/build/client/assets/root-COyVTsPq.js +0 -16
  429. package/codeyam-cli/src/webserver/build/client/assets/search-CvyP_1Lo.js +0 -1
  430. package/codeyam-cli/src/webserver/build/client/assets/settings-Hbf8b7J_.js +0 -1
  431. package/codeyam-cli/src/webserver/build/client/assets/simulations-BMBi0VzO.js +0 -1
  432. package/codeyam-cli/src/webserver/build/client/assets/useToast-C_VxoXTh.js +0 -1
  433. package/codeyam-cli/src/webserver/build/client/cy-logo-cli.svg +0 -13
  434. package/codeyam-cli/src/webserver/build/server/assets/index-eAULANMV.js +0 -1
  435. package/codeyam-cli/src/webserver/build/server/assets/server-build-lutv16q5.js +0 -161
  436. package/codeyam-cli/src/webserver/public/cy-logo-cli.svg +0 -13
  437. package/packages/ai/src/lib/generateEntityDataMap.js +0 -335
  438. package/packages/ai/src/lib/generateEntityDataMap.js.map +0 -1
  439. package/packages/ai/src/lib/promptGenerators/generateEntityDataMapGenerator.js +0 -17
  440. package/packages/ai/src/lib/promptGenerators/generateEntityDataMapGenerator.js.map +0 -1
@@ -0,0 +1,138 @@
1
+ /**
2
+ * ScopeTreeManager
3
+ *
4
+ * Manages the hierarchical tree structure of scopes in the analysis.
5
+ * Tracks parent-child relationships between function scopes.
6
+ *
7
+ * ## Purpose
8
+ *
9
+ * When analyzing nested functions, we need to track which functions
10
+ * are defined inside other functions. This affects:
11
+ * - Variable scope inheritance (inner functions can access outer variables)
12
+ * - Equivalency propagation (data flows between parent and child scopes)
13
+ * - Schema merging (combining schemas from nested call hierarchies)
14
+ *
15
+ * ## Tree Structure Example
16
+ *
17
+ * For code like:
18
+ * ```typescript
19
+ * function outer(data) {
20
+ * function inner(item) {
21
+ * return item.name;
22
+ * }
23
+ * return data.map(inner);
24
+ * }
25
+ * ```
26
+ *
27
+ * The tree would be:
28
+ * ```
29
+ * outer
30
+ * └── inner
31
+ * ```
32
+ *
33
+ * ## Key Operations
34
+ *
35
+ * - `addPath(['outer', 'inner'])` - Builds tree as scopes are discovered
36
+ * - `findNode('inner')` - Locates scope node for equivalency lookups
37
+ * - `getTree()` - Returns full tree for debugging/visualization
38
+ *
39
+ * ## Related Modules
40
+ *
41
+ * - `ScopeDataStructure.addScopeAnalysis()` - Adds paths when processing scopes
42
+ * - `ScopeDataStructure.getAnalysisTree()` - Exposes tree to callers
43
+ */
44
+ export const ROOT_SCOPE_NAME = 'root';
45
+ export class ScopeTreeManager {
46
+ constructor(rootName = ROOT_SCOPE_NAME) {
47
+ this.tree = { name: rootName, children: [] };
48
+ }
49
+ /**
50
+ * Gets the name of the root scope.
51
+ * This is frequently used as the default scope name throughout the analysis.
52
+ */
53
+ getRootName() {
54
+ return this.tree.name;
55
+ }
56
+ /**
57
+ * Sets the name of the root scope.
58
+ * Called during initialization when the actual root scope name is known.
59
+ */
60
+ setRootName(name) {
61
+ this.tree.name = name;
62
+ }
63
+ /**
64
+ * Gets the entire tree structure.
65
+ * Used by getAnalysisTree() to return the scope hierarchy.
66
+ */
67
+ getTree() {
68
+ return this.tree;
69
+ }
70
+ /**
71
+ * Adds a scope path to the tree.
72
+ * Creates intermediate nodes as needed.
73
+ *
74
+ * @param pathParts - Array of scope names representing the path from root
75
+ *
76
+ * @example
77
+ * // For a nested function: root -> parentFunc -> childFunc
78
+ * addPath(['root', 'parentFunc', 'childFunc'])
79
+ */
80
+ addPath(pathParts) {
81
+ let currentNode = { children: [this.tree] };
82
+ for (const pathPart of pathParts) {
83
+ const existingChild = currentNode.children.find((child) => child.name === pathPart);
84
+ if (existingChild) {
85
+ currentNode = existingChild;
86
+ }
87
+ else {
88
+ const newChild = {
89
+ name: pathPart,
90
+ children: [],
91
+ };
92
+ currentNode.children.push(newChild);
93
+ currentNode = newChild;
94
+ }
95
+ }
96
+ }
97
+ /**
98
+ * Finds a node by name in the tree (breadth-first search).
99
+ * Returns undefined if not found.
100
+ */
101
+ findNode(name) {
102
+ const queue = [this.tree];
103
+ while (queue.length > 0) {
104
+ const node = queue.shift();
105
+ if (node.name === name) {
106
+ return node;
107
+ }
108
+ queue.push(...node.children);
109
+ }
110
+ return undefined;
111
+ }
112
+ /**
113
+ * Gets all scope names in the tree (flattened).
114
+ */
115
+ getAllNames() {
116
+ const names = [];
117
+ const queue = [this.tree];
118
+ while (queue.length > 0) {
119
+ const node = queue.shift();
120
+ names.push(node.name);
121
+ queue.push(...node.children);
122
+ }
123
+ return names;
124
+ }
125
+ /**
126
+ * Returns the depth of the tree (for debugging/metrics).
127
+ */
128
+ getDepth() {
129
+ const getNodeDepth = (node) => {
130
+ if (node.children.length === 0) {
131
+ return 1;
132
+ }
133
+ return 1 + Math.max(...node.children.map(getNodeDepth));
134
+ };
135
+ return getNodeDepth(this.tree);
136
+ }
137
+ }
138
+ //# sourceMappingURL=ScopeTreeManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScopeTreeManager.js","sourceRoot":"","sources":["../../../../../../../../packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAOH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC;AAEtC,MAAM,OAAO,gBAAgB;IAG3B,YAAY,WAAmB,eAAe;QAC5C,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,IAAY;QACtB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;;;;;;;;OASG;IACH,OAAO,CAAC,SAAmB;QACzB,IAAI,WAAW,GAAkC,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAE3E,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAC7C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CACnC,CAAC;YAEF,IAAI,aAAa,EAAE,CAAC;gBAClB,WAAW,GAAG,aAAa,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAkB;oBAC9B,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,EAAE;iBACb,CAAC;gBACF,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpC,WAAW,GAAG,QAAQ,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,IAAY;QACnB,MAAM,KAAK,GAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE3C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;YAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,WAAW;QACT,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE3C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,MAAM,YAAY,GAAG,CAAC,IAAmB,EAAU,EAAE;YACnD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,CAAC;YACX,CAAC;YACD,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC;QAEF,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACF"}
@@ -0,0 +1,199 @@
1
+ /**
2
+ * VisitedTracker
3
+ *
4
+ * Manages visited state tracking for the ScopeDataStructure analysis.
5
+ * Prevents infinite loops and redundant processing by tracking which
6
+ * scope/path/value combinations have already been processed.
7
+ *
8
+ * ## Why This Exists
9
+ *
10
+ * The schema building process recursively follows equivalencies between
11
+ * data paths. Without cycle detection, circular references like:
12
+ * `user.profile` → `currentUser` → `user.profile`
13
+ * would cause infinite loops.
14
+ *
15
+ * ## Two Tracking Modes
16
+ *
17
+ * ### 1. Global Visited (scope::path::value)
18
+ * Fine-grained deduplication for `addToSchema()`. Tracks the complete
19
+ * tuple so the same path can be visited with different type values.
20
+ *
21
+ * Example: `myFunc::user.id::string` and `myFunc::user.id::number`
22
+ * are tracked separately, allowing both types to be recorded.
23
+ *
24
+ * ### 2. Complex Source Visited (scope::path)
25
+ * Coarser deduplication for `addComplexSourcePathVariables()`. Ignores
26
+ * the type value because complex source processing should happen once
27
+ * per path regardless of type.
28
+ *
29
+ * ## Lifecycle
30
+ *
31
+ * - Global visited is **reset** at the start of `captureCompleteSchema()`
32
+ * to allow re-processing in the schema building phase.
33
+ * - Complex source visited is **never reset** during normal operation.
34
+ *
35
+ * ## Related Modules
36
+ *
37
+ * - `ScopeDataStructure.addToSchema()` - Primary consumer of global visited
38
+ * - `ScopeDataStructure.addComplexSourcePathVariables()` - Uses complex source visited
39
+ */
40
+ /**
41
+ * Tracks visited state to prevent infinite loops during schema building.
42
+ */
43
+ export class VisitedTracker {
44
+ constructor() {
45
+ /**
46
+ * Fine-grained visited tracking using scope::path::value.
47
+ * Used by addToSchema to skip already-processed combinations.
48
+ */
49
+ this.globalVisited = new Set();
50
+ /**
51
+ * Coarser visited tracking using scope::path only (without value).
52
+ * Used by addComplexSourcePathVariables to allow each unique
53
+ * scope+path combo to be processed once, regardless of value.
54
+ */
55
+ this.complexSourceVisited = new Set();
56
+ }
57
+ /**
58
+ * Creates a unique key for global visited tracking.
59
+ * @param scopeNodeName - Name of the scope
60
+ * @param path - Schema path
61
+ * @param value - Type value
62
+ */
63
+ makeGlobalKey(scopeNodeName, path, value) {
64
+ return `${scopeNodeName}::${path}::${value}`;
65
+ }
66
+ /**
67
+ * Creates a unique key for complex source visited tracking.
68
+ * @param scopeNodeName - Name of the scope
69
+ * @param path - Schema path
70
+ */
71
+ makeComplexKey(scopeNodeName, path) {
72
+ return `${scopeNodeName}::${path}`;
73
+ }
74
+ /**
75
+ * Checks if a scope/path/value combination has been globally visited.
76
+ * Does NOT mark it as visited - use markGlobalVisited for that.
77
+ *
78
+ * @returns true if already visited
79
+ */
80
+ hasGlobalVisited(scopeNodeName, path, value) {
81
+ return this.globalVisited.has(this.makeGlobalKey(scopeNodeName, path, value));
82
+ }
83
+ /**
84
+ * Marks a scope/path/value combination as globally visited.
85
+ */
86
+ markGlobalVisited(scopeNodeName, path, value) {
87
+ this.globalVisited.add(this.makeGlobalKey(scopeNodeName, path, value));
88
+ }
89
+ /**
90
+ * Checks and marks a scope/path/value combination as globally visited.
91
+ * This is a convenience method that combines check and mark.
92
+ *
93
+ * @returns true if was already visited (should skip processing)
94
+ */
95
+ checkAndMarkGlobalVisited(scopeNodeName, path, value) {
96
+ const key = this.makeGlobalKey(scopeNodeName, path, value);
97
+ if (this.globalVisited.has(key)) {
98
+ return true; // Already visited
99
+ }
100
+ this.globalVisited.add(key);
101
+ return false; // Not visited, now marked
102
+ }
103
+ /**
104
+ * Checks if a scope/path combination has been visited for complex sources.
105
+ * Does NOT mark it as visited - use markComplexSourceVisited for that.
106
+ *
107
+ * @returns true if already visited
108
+ */
109
+ hasComplexSourceVisited(scopeNodeName, path) {
110
+ return this.complexSourceVisited.has(this.makeComplexKey(scopeNodeName, path));
111
+ }
112
+ /**
113
+ * Marks a scope/path combination as visited for complex sources.
114
+ */
115
+ markComplexSourceVisited(scopeNodeName, path) {
116
+ this.complexSourceVisited.add(this.makeComplexKey(scopeNodeName, path));
117
+ }
118
+ /**
119
+ * Checks and marks a scope/path combination as visited for complex sources.
120
+ * This is a convenience method that combines check and mark.
121
+ *
122
+ * @returns true if was already visited (should skip processing)
123
+ */
124
+ checkAndMarkComplexSourceVisited(scopeNodeName, path) {
125
+ const key = this.makeComplexKey(scopeNodeName, path);
126
+ if (this.complexSourceVisited.has(key)) {
127
+ return true; // Already visited
128
+ }
129
+ this.complexSourceVisited.add(key);
130
+ return false; // Not visited, now marked
131
+ }
132
+ /**
133
+ * Resets the global visited set.
134
+ * Called at the start of captureCompleteSchema() to allow
135
+ * re-processing in the second phase.
136
+ */
137
+ resetGlobalVisited() {
138
+ this.globalVisited.clear();
139
+ }
140
+ /**
141
+ * Resets the complex source visited set.
142
+ * Note: In the original code, this was never reset.
143
+ */
144
+ resetComplexSourceVisited() {
145
+ this.complexSourceVisited.clear();
146
+ }
147
+ /**
148
+ * Resets all visited tracking.
149
+ */
150
+ resetAll() {
151
+ this.globalVisited.clear();
152
+ this.complexSourceVisited.clear();
153
+ }
154
+ /**
155
+ * Returns statistics about the visited sets for debugging/monitoring.
156
+ */
157
+ getStats() {
158
+ return {
159
+ globalVisited: this.globalVisited.size,
160
+ complexSourceVisited: this.complexSourceVisited.size,
161
+ };
162
+ }
163
+ /**
164
+ * Checks if ANY variant of a scope/path was ever visited (ignores value).
165
+ * Useful for debugging to see if a path was processed at all.
166
+ *
167
+ * @returns true if any variant of this scope/path was visited
168
+ */
169
+ wasVisited(scopeNodeName, path) {
170
+ const prefix = `${scopeNodeName}::${path}::`;
171
+ for (const key of this.globalVisited) {
172
+ if (key.startsWith(prefix)) {
173
+ return true;
174
+ }
175
+ }
176
+ return this.hasComplexSourceVisited(scopeNodeName, path);
177
+ }
178
+ /**
179
+ * Gets all visited entries for a scope (for debugging).
180
+ * Returns an array of {path, value} objects.
181
+ */
182
+ getVisitedForScope(scopeNodeName) {
183
+ const prefix = `${scopeNodeName}::`;
184
+ const results = [];
185
+ for (const key of this.globalVisited) {
186
+ if (key.startsWith(prefix)) {
187
+ const parts = key.slice(prefix.length).split('::');
188
+ if (parts.length >= 2) {
189
+ results.push({
190
+ path: parts.slice(0, -1).join('::'), // Everything except last part
191
+ value: parts[parts.length - 1], // Last part is value
192
+ });
193
+ }
194
+ }
195
+ }
196
+ return results;
197
+ }
198
+ }
199
+ //# sourceMappingURL=VisitedTracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VisitedTracker.js","sourceRoot":"","sources":["../../../../../../../../packages/ai/src/lib/dataStructure/helpers/VisitedTracker.ts"],"names":[],"mappings":"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"}
@@ -280,8 +280,10 @@ export function fillInDirectSchemaGapsAndUnknowns({ scopeName, schema, attempts
280
280
  const isPreviousAsync = schema[previousSubPath] === 'async-function';
281
281
  // Don't set to 'function' if this is a promise method on an async function
282
282
  // (we want the awaited value, not the promise)
283
+ // Also don't overwrite 'array' - the function might return an array (e.g., getAll())
283
284
  if (schema[functionReturnValuePath] &&
284
285
  schema[functionReturnValuePath] !== 'function' &&
286
+ schema[functionReturnValuePath] !== 'array' &&
285
287
  !(isPromiseMethod && isPreviousAsync)) {
286
288
  schema[functionReturnValuePath] = 'function';
287
289
  changeMade = true;
@@ -322,16 +324,25 @@ function checkIfObjectOrFunction(path, schema) {
322
324
  }
323
325
  }
324
326
  }
325
- // Methods that are ambiguous - used on both arrays and non-arrays (e.g., router.push, history.pop)
327
+ // Methods that are ambiguous - used on both arrays and non-arrays
328
+ // These methods exist on arrays but also on Map, Set, Headers, FormData, URLSearchParams, etc.
326
329
  // Don't infer array type from these alone without additional evidence
327
- const AMBIGUOUS_ARRAY_METHODS = new Set(['push', 'pop']);
330
+ const AMBIGUOUS_ARRAY_METHODS = new Set([
331
+ 'push',
332
+ 'pop',
333
+ 'entries',
334
+ 'keys',
335
+ 'values',
336
+ 'forEach',
337
+ ]);
328
338
  // Methods that are strongly indicative of arrays - only arrays have these
339
+ // Note: entries, keys, values, forEach are NOT in this list because they also exist
340
+ // on Map, Set, Headers, FormData, URLSearchParams, and other iterable types
329
341
  const STRONG_ARRAY_METHODS = new Set([
330
342
  'map',
331
343
  'filter',
332
344
  'reduce',
333
345
  'reduceRight',
334
- 'forEach',
335
346
  'every',
336
347
  'some',
337
348
  'find',
@@ -342,9 +353,6 @@ const STRONG_ARRAY_METHODS = new Set([
342
353
  'flatMap',
343
354
  'fill',
344
355
  'copyWithin',
345
- 'entries',
346
- 'keys',
347
- 'values',
348
356
  'toReversed',
349
357
  'toSorted',
350
358
  'toSpliced',
@@ -1 +1 @@
1
- {"version":3,"file":"fillInSchemaGapsAndUnknowns.js","sourceRoot":"","sources":["../../../../../../../../packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAElD,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAEtD,MAAM,CAAC,OAAO,UAAU,2BAA2B,CACjD,SAA+D,EAC/D,cAAc,GAAG,KAAK,EACtB,QAAQ,GAAG,CAAC;IAEZ,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IAElD,MAAM,cAAc,GAAG,CAAC,IAAS,EAAE,EAAE;QACnC,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,IAAI,EAAE,CAAC,CAAC;QAC/D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACjD,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACd,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC;QACjE,MAAM,KAAK,GAAG,gCAAgC,CAAC,GAAG,CAAC,CAAC;QACpD,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;IACxD,CAAC,CAAC;SACD,MAAM,CACL,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACX,MAAM,KAAK,GAAG,gCAAgC,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,cAAc,GAAG,wBAAwB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,GAAG,CAAC,cAAc,MAAlB,GAAG,CAAC,cAAc,IAAM,EAAE,EAAC;QAC3B,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnC,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAA8B,CAC/B,CAAC;IAEJ,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,WAAW,GAAG,QAAQ,EAAE,EAAE;QAChE,IAAI,SAAS,GAAG,gBAAgB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAC5D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS,GAAG,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAC5C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,QAAQ,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE/C,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAC;QACnB,CAAC;aAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,OAAO,UAAU,CAAC;QACpB,CAAC;aAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,+DAA+D;YAC/D,sFAAsF;YACtF,OAAO,QAAQ,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,OAAO,WAAW,CAAC;QACrB,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,cAAc,EAAE,CAAC;QACnB,KAAK,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,IAAI,MAAM,CAAC,OAAO,CAC5D,aAAa,CACd,EAAE,CAAC;YACF,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE,CAAC;gBAC/C,IACE,MAAM,CAAC,aAAa,CAAC,KAAK,SAAS;oBACnC,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,SAAS,EAChD,CAAC;oBACD,MAAM,sBAAsB,GAAG,gBAAgB,CAC7C,eAAe,CAAC,UAAU,CAC3B,CAAC;oBACF,IAAI,sBAAsB,EAAE,CAAC;wBAC3B,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,sBAAsB,CAAC;wBAC5D,UAAU,GAAG,IAAI,CAAC;oBACpB,CAAC;gBACH,CAAC;gBAED,IACE,MAAM,CAAC,aAAa,CAAC,KAAK,SAAS;oBACnC,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC;oBAClC,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,SAAS,EAChD,CAAC;oBACD,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;oBAC3D,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;YAC1C,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACvC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;gBACpD,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;iBAAM,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChD,uDAAuD;gBACvD,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBACjE,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAChD,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,OAAO,MAAM,aAAa,EAAE,CAAC;oBAC9C,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBACrC,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAChD,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;oBACtB,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,gCAAgC,CAAC,GAAG,CAAC,CAAC;QACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9C,MAAM,eAAe,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAE9D,MAAM,oBAAoB,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACtD,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAEhD,MAAM,eAAe,GAAG,wBAAwB,CAAC,oBAAoB,CAAC,CAAC;YAEvE,IACE,gBAAgB,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;gBAClD,CAAC,eAAe,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAC1C,CAAC;gBACD,IAAI,MAAM,CAAC,eAAe,CAAC,KAAK,OAAO,EAAE,CAAC;oBACxC,MAAM,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC;oBAClC,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;YACH,CAAC;YAED,MAAM,UAAU,GACd,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAC7B,eAAe,KAAK,yBAAyB;gBAC7C,eAAe,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAE5C,IACE,CAAC,UAAU;gBACX,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CACzD,MAAM,CAAC,eAAe,CAAC,CACxB,EACD,CAAC;gBACD,MAAM,QAAQ,GACZ,gBAAgB,CAAC,eAAe,EAAE,mBAAmB,CAAC,IAAI,QAAQ,CAAC;gBAErE,IACE,CAAC,MAAM,CAAC,eAAe,CAAC;oBACxB,CAAC,cAAc,IAAI,MAAM,CAAC,eAAe,CAAC,KAAK,QAAQ,CAAC,EACxD,CAAC;oBACD,MAAM,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC;oBACnC,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;YACH,CAAC;YAED,2DAA2D;YAC3D,IAAI,UAAU,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,CAAC;gBACnD,MAAM,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC;oBACrD,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,CAAC,gBAAgB,CAAC,eAAe,EAAE,mBAAmB,CAAC;wBACvD,QAAQ,CAAC,CAAC;gBACd,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;YAED,4FAA4F;YAC5F,wGAAwG;YACxG,IAAI,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnE,MAAM,uBAAuB,GAAG,GAAG,eAAe,0BAA0B,CAAC;gBAE7E,0EAA0E;gBAC1E,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjD,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,QAAQ,CAC3D,UAAU,CACX,CAAC;gBACF,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC,KAAK,gBAAgB,CAAC;gBAErE,2EAA2E;gBAC3E,+CAA+C;gBAC/C,IACE,cAAc;oBACd,MAAM,CAAC,uBAAuB,CAAC;oBAC/B,MAAM,CAAC,uBAAuB,CAAC,KAAK,UAAU;oBAC9C,CAAC,CAAC,eAAe,IAAI,eAAe,CAAC,EACrC,CAAC;oBACD,MAAM,CAAC,uBAAuB,CAAC,GAAG,UAAU,CAAC;oBAC7C,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,UAAU,IAAI,QAAQ,GAAG,EAAE,EAAE,CAAC;QAChC,2BAA2B,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,QAAQ,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,EAChD,SAAS,EACT,MAAM,EACN,QAAQ,GAAG,CAAC,GAKb;IACC,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,CAAC,IAAS,EAAE,EAAE;YACnC,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,GAAG,SAAS,IAAI,IAAI,EAAE,EAAE,GAAG,SAAS,MAAM,IAAI,EAAE,CAAC,CAAC;YACzE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,SAAS;oBAChD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,mBAAmB,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACjD,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;YACd,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,UAAU;gBAAE,OAAO,IAAI,CAAC;YACjE,MAAM,KAAK,GAAG,gCAAgC,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC;QACxD,CAAC,CAAC;aACD,MAAM,CACL,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACX,MAAM,KAAK,GAAG,gCAAgC,CAAC,GAAG,CAAC,CAAC;YACpD,MAAM,cAAc,GAAG,wBAAwB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACzC,GAAG,CAAC,cAAc,MAAlB,GAAG,CAAC,cAAc,IAAM,EAAE,EAAC;YAC3B,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnC,OAAO,GAAG,CAAC;QACb,CAAC,EACD,EAA8B,CAC/B,CAAC;QAEJ,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,WAAW,GAAG,QAAQ,EAAE,EAAE;YAChE,IAAI,SAAS,GAAG,gBAAgB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;YAC5D,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,SAAS,GAAG,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACpD,CAAC;YAED,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC5C,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,QAAQ,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC;YACxD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAE/C,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9B,OAAO,SAAS,CAAC;YACnB,CAAC;iBAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,OAAO,MAAM,CAAC;YAChB,CAAC;iBAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpC,OAAO,UAAU,CAAC;YACpB,CAAC;iBAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxC,OAAO,QAAQ,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,OAAO,WAAW,CAAC;YACrB,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;YAC1C,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACvC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;gBACpD,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;iBAAM,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChD,uDAAuD;gBACvD,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBACjE,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAChD,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,OAAO,MAAM,aAAa,EAAE,CAAC;oBAC9C,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBACrC,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAChD,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;oBACtB,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;YACH,CAAC;YAED,MAAM,QAAQ,GAAG,gCAAgC,CAAC,GAAG,CAAC,CAAC;YACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9C,MAAM,eAAe,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAE9D,MAAM,oBAAoB,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtD,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBAEhD,MAAM,eAAe,GAAG,wBAAwB,CAAC,oBAAoB,CAAC,CAAC;gBAEvE,IACE,gBAAgB,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;oBAClD,CAAC,eAAe,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAC1C,CAAC;oBACD,IAAI,MAAM,CAAC,eAAe,CAAC,KAAK,OAAO,EAAE,CAAC;wBACxC,MAAM,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC;wBAClC,UAAU,GAAG,IAAI,CAAC;oBACpB,CAAC;gBACH,CAAC;gBAED,MAAM,UAAU,GACd,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAC7B,eAAe,KAAK,yBAAyB;oBAC7C,eAAe,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBAE5C,IACE,CAAC,UAAU;oBACX,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CACzD,MAAM,CAAC,eAAe,CAAC,CACxB,EACD,CAAC;oBACD,MAAM,QAAQ,GACZ,gBAAgB,CAAC,eAAe,EAAE,mBAAmB,CAAC,IAAI,QAAQ,CAAC;oBAErE,IACE,CAAC,MAAM,CAAC,eAAe,CAAC;wBACxB,MAAM,CAAC,eAAe,CAAC,KAAK,QAAQ,EACpC,CAAC;wBACD,MAAM,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC;wBACnC,UAAU,GAAG,IAAI,CAAC;oBACpB,CAAC;gBACH,CAAC;gBAED,2DAA2D;gBAC3D,IAAI,UAAU,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,CAAC;oBACnD,MAAM,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC;wBACrD,CAAC,CAAC,UAAU;wBACZ,CAAC,CAAC,CAAC,gBAAgB,CAAC,eAAe,EAAE,mBAAmB,CAAC;4BACvD,QAAQ,CAAC,CAAC;oBACd,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;gBAED,4FAA4F;gBAC5F,wGAAwG;gBACxG,IAAI,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnE,MAAM,uBAAuB,GAAG,GAAG,eAAe,0BAA0B,CAAC;oBAE7E,0EAA0E;oBAC1E,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjD,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,QAAQ,CAC3D,UAAU,CACX,CAAC;oBACF,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC,KAAK,gBAAgB,CAAC;oBAErE,2EAA2E;oBAC3E,+CAA+C;oBAC/C,IACE,MAAM,CAAC,uBAAuB,CAAC;wBAC/B,MAAM,CAAC,uBAAuB,CAAC,KAAK,UAAU;wBAC9C,CAAC,CAAC,eAAe,IAAI,eAAe,CAAC,EACrC,CAAC;wBACD,MAAM,CAAC,uBAAuB,CAAC,GAAG,UAAU,CAAC;wBAC7C,UAAU,GAAG,IAAI,CAAC;oBACpB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,UAAU,IAAI,QAAQ,GAAG,EAAE,EAAE,CAAC;YAChC,iCAAiC,CAAC;gBAChC,SAAS;gBACT,MAAM;gBACN,QAAQ,EAAE,EAAE,QAAQ;aACrB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CACV,uDAAuD,EACvD,IAAI,CAAC,SAAS,CACZ;YACE,SAAS;YACT,MAAM;SACP,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;QACF,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAY,EAAE,MAA2B;IACxE,MAAM,SAAS,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC;IACzD,KAAK,MAAM,YAAY,IAAI,MAAM,EAAE,CAAC;QAClC,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,iBAAiB,GAAG,gCAAgC,CAAC,YAAY,CAAC,CAAC;YACzE,MAAM,YAAY,GAAG,iBAAiB,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC7D,2FAA2F;YAC3F,IAAI,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChC,OAAO,UAAU,CAAC;YACpB,CAAC;iBAAM,IAAI,iBAAiB,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;gBACvD,OAAO,QAAQ,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,mGAAmG;AACnG,sEAAsE;AACtE,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAEzD,0EAA0E;AAC1E,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IACnC,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,aAAa;IACb,SAAS;IACT,OAAO;IACP,MAAM;IACN,MAAM;IACN,WAAW;IACX,UAAU;IACV,eAAe;IACf,MAAM;IACN,SAAS;IACT,MAAM;IACN,YAAY;IACZ,SAAS;IACT,MAAM;IACN,QAAQ;IACR,YAAY;IACZ,UAAU;IACV,WAAW;IACX,MAAM;CACP,CAAC,CAAC;AAEH,SAAS,gBAAgB,CACvB,GAAW,EACX,gCAA0D;IAE1D,IAAI,OAA4B,CAAC;IACjC,IAAI,QAA6B,CAAC;IAClC,IAAI,sBAAsB,GAAG,KAAK,CAAC;IACnC,IAAI,4BAA4B,GAAG,IAAI,CAAC;IAExC,KAAK,MAAM,uBAAuB,IAAI,gCAAgC,CAAC,GAAG,CAAC;QACzE,EAAE,EAAE,CAAC;QACL,gFAAgF;QAChF,MAAM,UAAU,GAAG,uBAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEhE,MAAM,YAAY,GAChB,gBAAgB,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC3D,uBAAuB,KAAK,QAAQ,CAAC;QACvC,MAAM,aAAa,GACjB,gBAAgB,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC5D,uBAAuB,KAAK,QAAQ,CAAC;QAEvC,+CAA+C;QAC/C,IACE,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC;YACpC,uBAAuB,KAAK,QAAQ,EACpC,CAAC;YACD,sBAAsB,GAAG,IAAI,CAAC;QAChC,CAAC;QAED,kDAAkD;QAClD,IAAI,YAAY,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7D,4BAA4B,GAAG,KAAK,CAAC;QACvC,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,QAAQ,GAAG,KAAK,CAAC;QACnB,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,IAAI,YAAY,EAAE,CAAC;YACtC,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,IAAI,QAAQ,KAAK,KAAK,IAAI,aAAa,EAAE,CAAC;YACxC,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,4EAA4E;IAC5E,0EAA0E;IAC1E,IAAI,OAAO,IAAI,CAAC,sBAAsB,IAAI,CAAC,4BAA4B,CAAC,EAAE,CAAC;QACzE,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,6CAA6C;AAC7C,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACrC,KAAK;IACL,KAAK;IACL,KAAK;IACL,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,UAAU;IACV,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,YAAY;IACZ,OAAO;IACP,MAAM;IACN,MAAM;IACN,SAAS;IACT,OAAO;IACP,MAAM;IACN,QAAQ;IACR,IAAI;IACJ,KAAK;IACL,KAAK;IACL,QAAQ;IACR,OAAO;IACP,SAAS;IACT,UAAU;IACV,QAAQ;IACR,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,SAAS;IACT,YAAY;IACZ,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,SAAS;IACT,SAAS;IACT,KAAK;IACL,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,QAAQ;IACR,OAAO;IACP,SAAS;IACT,UAAU;IACV,YAAY;IACZ,MAAM;IACN,WAAW;IACX,OAAO;IACP,QAAQ;IACR,MAAM;IACN,MAAM;IACN,SAAS;IACT,4DAA4D;CAC7D,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC;IACtC,IAAI;IACJ,KAAK;IACL,KAAK;IACL,QAAQ;IACR,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,SAAS;IACT,OAAO;IACP,SAAS;IACT,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,UAAU;IACV,SAAS;IACT,MAAM;IACN,UAAU;IACV,YAAY;IACZ,OAAO;IACP,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,SAAS;IACT,QAAQ;IACR,SAAS;IACT,SAAS;CACV,CAAC,CAAC;AAEH;;;;;GAKG;AACH,SAAS,eAAe,CAAC,UAAe;IACtC,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAE3B,0BAA0B;IAC1B,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAE3C,sFAAsF;IACtF,mCAAmC;IACnC,6CAA6C;IAC7C,0CAA0C;IAC1C,MAAM,KAAK,GAAG,UAAU;SACrB,OAAO,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC,+DAA+D;SACzG,OAAO,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,6DAA6D;SACnG,KAAK,CAAC,GAAG,CAAC,CAAC;IAEd,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,sDAAsD;AAC7H,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,OAAY;IAClC,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,uDAAuD;IACvD,OAAO,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,OAAY;IACnC,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,oEAAoE;IACpE,IAAI,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvD,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAE1E,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACrE,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,OAAY;IAChC,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,sCAAsC;IACtC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;QAC7B,MAAM;QACN,MAAM;QACN,WAAW;QACX,UAAU;QACV,KAAK;QACL,OAAO;QACP,MAAM;QACN,UAAU;QACV,OAAO;KACR,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"fillInSchemaGapsAndUnknowns.js","sourceRoot":"","sources":["../../../../../../../../packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * selectBestValue
3
+ *
4
+ * Selects the most specific type value from two candidates.
5
+ * Prefers more specific types over 'unknown' values.
6
+ *
7
+ * ## Context
8
+ *
9
+ * During schema building, the same path may have type information from
10
+ * multiple sources (e.g., from a return statement and from a function call).
11
+ * When merging these, we want to keep the most specific type.
12
+ *
13
+ * "Specific" means:
14
+ * - `'string'` is more specific than `'unknown'`
15
+ * - `'string'` is more specific than `'unknown|string'`
16
+ * - `'string|number'` is equal specificity to `'number|string'`
17
+ *
18
+ * ## Selection Rules
19
+ *
20
+ * 1. If value1 exists and is not 'unknown', use value1
21
+ * 2. If value2 exists and is more specific (not 'unknown'), prefer value2
22
+ * 3. Otherwise use the first available value, or 'unknown' as default
23
+ *
24
+ * ## Where Used
25
+ *
26
+ * - `propagateSourceAndUsageEquivalencies.equateSchema()` - Merging schemas
27
+ * - `getReturnValue()` - Combining return type information
28
+ *
29
+ * ## Related Modules
30
+ *
31
+ * - `ensureSchemaConsistency.ts` - Also deals with type merging
32
+ * - `fillInSchemaGapsAndUnknowns.ts` - Fills in missing types after schema building
33
+ */
34
+ /**
35
+ * Selects the best (most specific) value between two type candidates.
36
+ *
37
+ * @param value1 - Primary value (preferred if specific)
38
+ * @param value2 - Secondary value (used if value1 is 'unknown')
39
+ * @param defaultValue - Default when both are undefined (defaults to 'unknown')
40
+ * @returns The most specific type value
41
+ *
42
+ * @example
43
+ * selectBestValue('string', 'number') // 'string' - value1 is specific
44
+ * selectBestValue('unknown', 'string') // 'string' - value2 is more specific
45
+ * selectBestValue(undefined, 'number') // 'number' - value1 undefined
46
+ * selectBestValue(undefined, undefined) // 'unknown' - default
47
+ * selectBestValue('unknown|string', 'string') // 'string' - value2 has no unknown
48
+ */
49
+ export default function selectBestValue(value1, value2, defaultValue = 'unknown') {
50
+ let bestValue = value1 ?? value2 ?? defaultValue;
51
+ // Prefer value2 if:
52
+ // - value2 exists AND
53
+ // - bestValue is 'unknown' and value2 is not, OR
54
+ // - bestValue contains 'unknown' and value2 doesn't
55
+ if (value2 &&
56
+ ((bestValue === 'unknown' && value2 !== 'unknown') ||
57
+ (bestValue.includes('unknown') && !value2.includes('unknown')))) {
58
+ bestValue = value2;
59
+ }
60
+ return bestValue;
61
+ }
62
+ //# sourceMappingURL=selectBestValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectBestValue.js","sourceRoot":"","sources":["../../../../../../../../packages/ai/src/lib/dataStructure/helpers/selectBestValue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,MAA0B,EAC1B,MAA0B,EAC1B,YAAY,GAAG,SAAS;IAExB,IAAI,SAAS,GAAG,MAAM,IAAI,MAAM,IAAI,YAAY,CAAC;IAEjD,oBAAoB;IACpB,sBAAsB;IACtB,iDAAiD;IACjD,oDAAoD;IACpD,IACE,MAAM;QACN,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,CAAC;YAChD,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EACjE,CAAC;QACD,SAAS,GAAG,MAAM,CAAC;IACrB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * UniqueIdUtils
3
+ *
4
+ * Utility functions for creating unique identifiers and deduplicating
5
+ * scope variables in the ScopeDataStructure analysis.
6
+ *
7
+ * ## Why Unique IDs Matter
8
+ *
9
+ * The analysis tracks data flow across many scopes and paths. When building
10
+ * equivalency chains or schemas, we need to:
11
+ * - Detect cycles (have we seen this scope+path+value before?)
12
+ * - Deduplicate results (don't report the same equivalency twice)
13
+ * - Index efficiently (O(1) lookups in large datasets)
14
+ *
15
+ * ## Key Format
16
+ *
17
+ * The unique ID format is `scopeNodeName::schemaPath[::value]`:
18
+ * - `myFunc::user.id` - Scope+path without type value
19
+ * - `myFunc::user.id::string` - Full tuple including type
20
+ *
21
+ * The `::` delimiter is chosen because:
22
+ * - Scope names never contain `::`
23
+ * - Schema paths use `.` and `[]` but not `::`
24
+ * - Type values may contain `:` (e.g., `union::type`) but only as the last part
25
+ *
26
+ * ## Performance
27
+ *
28
+ * `uniqueScopeAndPaths` uses O(n) Set-based deduplication instead of O(n²)
29
+ * array comparisons. This matters when processing thousands of equivalencies.
30
+ *
31
+ * ## Related Modules
32
+ *
33
+ * - `VisitedTracker.ts` - Uses similar key format for cycle detection
34
+ * - `ScopeDataStructure.equivalencyDatabase` - Indexed by these unique IDs
35
+ */
36
+ /**
37
+ * Creates a unique identifier string from scope, path, and optional value.
38
+ * Used for tracking visited combinations and equivalency chains.
39
+ *
40
+ * @example
41
+ * uniqueId({ scopeNodeName: 'myFunc', schemaPath: 'user.id' }) // 'myFunc::user.id'
42
+ * uniqueId({ scopeNodeName: 'myFunc', schemaPath: 'user.id', value: 'string' }) // 'myFunc::user.id::string'
43
+ */
44
+ export function uniqueId({ scopeNodeName, schemaPath, value, }) {
45
+ const parts = [scopeNodeName, schemaPath, value].filter(Boolean);
46
+ return parts.join('::');
47
+ }
48
+ /**
49
+ * Removes duplicate scope variables from an array, keeping only the first occurrence
50
+ * of each unique scopeNodeName + schemaPath combination.
51
+ *
52
+ * This is a type-preserving version of uniqueScopeAndPaths that returns the full
53
+ * ScopeVariable objects (with id and equivalencyReason).
54
+ *
55
+ * @param scopeVariables - Array of scope variables to deduplicate
56
+ * @returns Deduplicated array preserving original type
57
+ */
58
+ export function uniqueScopeVariables(scopeVariables) {
59
+ return uniqueScopeAndPaths(scopeVariables);
60
+ }
61
+ /**
62
+ * Removes duplicates from an array of objects with scopeNodeName and schemaPath.
63
+ * Uses O(n) Set-based deduplication for performance.
64
+ *
65
+ * @param scopeVariables - Array of objects to deduplicate
66
+ * @returns Deduplicated array preserving original type
67
+ *
68
+ * @example
69
+ * uniqueScopeAndPaths([
70
+ * { scopeNodeName: 'a', schemaPath: 'x' },
71
+ * { scopeNodeName: 'a', schemaPath: 'x' },
72
+ * { scopeNodeName: 'b', schemaPath: 'y' },
73
+ * ])
74
+ * // Returns: [{ scopeNodeName: 'a', schemaPath: 'x' }, { scopeNodeName: 'b', schemaPath: 'y' }]
75
+ */
76
+ export function uniqueScopeAndPaths(scopeVariables) {
77
+ if (!scopeVariables || scopeVariables.length === 0)
78
+ return [];
79
+ // Optimize from O(n²) to O(n) using Set for deduplication
80
+ const seen = new Set();
81
+ return scopeVariables.filter((varItem) => {
82
+ const key = `${varItem.scopeNodeName}::${varItem.schemaPath}`;
83
+ if (seen.has(key)) {
84
+ return false;
85
+ }
86
+ seen.add(key);
87
+ return true;
88
+ });
89
+ }
90
+ //# sourceMappingURL=uniqueIdUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uniqueIdUtils.js","sourceRoot":"","sources":["../../../../../../../../packages/ai/src/lib/dataStructure/helpers/uniqueIdUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAWH;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CAAC,EACvB,aAAa,EACb,UAAU,EACV,KAAK,GAKN;IACC,MAAM,KAAK,GAAG,CAAC,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAClC,cAAmB;IAEnB,OAAO,mBAAmB,CAAC,cAAc,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,mBAAmB,CACjC,cAAsC;IAEtC,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAE9D,0DAA0D;IAC1D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;QACvC,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,aAAa,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC;QAC9D,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC"}