@codeyam/codeyam-cli 0.1.0-staging.1669d45 → 0.1.0-staging.323686

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 (362) hide show
  1. package/analyzer-template/.build-info.json +8 -8
  2. package/analyzer-template/log.txt +3 -3
  3. package/analyzer-template/package.json +3 -3
  4. package/analyzer-template/packages/ai/index.ts +9 -1
  5. package/analyzer-template/packages/ai/src/lib/analyzeScope.ts +48 -34
  6. package/analyzer-template/packages/ai/src/lib/astScopes/arrayDerivationDetector.ts +199 -0
  7. package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +31 -0
  8. package/analyzer-template/packages/ai/src/lib/astScopes/methodSemantics.ts +139 -23
  9. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.ts +6 -126
  10. package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +277 -8
  11. package/analyzer-template/packages/ai/src/lib/astScopes/types.ts +73 -1
  12. package/analyzer-template/packages/ai/src/lib/completionCall.ts +198 -34
  13. package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +108 -1
  14. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.ts +205 -0
  15. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.ts +10 -2
  16. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.ts +23 -0
  17. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.ts +87 -2
  18. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts +32 -7
  19. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.ts +129 -0
  20. package/analyzer-template/packages/ai/src/lib/dataStructureChunking.ts +156 -0
  21. package/analyzer-template/packages/ai/src/lib/e2eDataTracking.ts +334 -0
  22. package/analyzer-template/packages/ai/src/lib/extractCriticalDataKeys.ts +120 -0
  23. package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +626 -6
  24. package/analyzer-template/packages/ai/src/lib/generateEntityScenarios.ts +26 -1
  25. package/analyzer-template/packages/ai/src/lib/generateExecutionFlows.ts +375 -6
  26. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionals.ts +1003 -45
  27. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.ts +239 -0
  28. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChunkPrompt.ts +82 -0
  29. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateCriticalKeysPrompt.ts +103 -0
  30. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.ts +23 -6
  31. package/analyzer-template/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.ts +391 -0
  32. package/analyzer-template/packages/ai/src/lib/resolvePathToControllable.ts +154 -32
  33. package/analyzer-template/packages/ai/src/lib/worker/SerializableDataStructure.ts +22 -1
  34. package/analyzer-template/packages/ai/src/lib/worker/analyzeScopeWorker.ts +114 -2
  35. package/analyzer-template/packages/analyze/src/lib/analysisContext.ts +44 -4
  36. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +10 -13
  37. package/analyzer-template/packages/analyze/src/lib/files/analyze/dependencyResolver.ts +6 -0
  38. package/analyzer-template/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.ts +33 -7
  39. package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.ts +142 -73
  40. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +42 -5
  41. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.ts +1 -1
  42. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +77 -0
  43. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.ts +56 -11
  44. package/analyzer-template/packages/aws/package.json +1 -1
  45. package/analyzer-template/packages/database/src/lib/kysely/db.ts +8 -1
  46. package/analyzer-template/packages/database/src/lib/kysely/tables/commitsTable.ts +6 -0
  47. package/analyzer-template/packages/database/src/lib/loadAnalyses.ts +58 -1
  48. package/analyzer-template/packages/database/src/lib/loadAnalysis.ts +13 -0
  49. package/analyzer-template/packages/database/src/lib/loadBranch.ts +16 -1
  50. package/analyzer-template/packages/database/src/lib/loadCommit.ts +11 -0
  51. package/analyzer-template/packages/database/src/lib/loadCommits.ts +28 -0
  52. package/analyzer-template/packages/database/src/lib/loadEntities.ts +26 -3
  53. package/analyzer-template/packages/database/src/lib/loadEntityBranches.ts +12 -0
  54. package/analyzer-template/packages/database/src/lib/updateCommitMetadata.ts +7 -14
  55. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts.map +1 -1
  56. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js +8 -1
  57. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js.map +1 -1
  58. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts.map +1 -1
  59. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts +1 -0
  60. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts.map +1 -1
  61. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js +3 -0
  62. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js.map +1 -1
  63. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts +2 -0
  64. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts.map +1 -1
  65. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js +45 -2
  66. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js.map +1 -1
  67. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.d.ts.map +1 -1
  68. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js +8 -0
  69. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js.map +1 -1
  70. package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js +11 -1
  71. package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js.map +1 -1
  72. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.d.ts.map +1 -1
  73. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js +7 -0
  74. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js.map +1 -1
  75. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts +3 -1
  76. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts.map +1 -1
  77. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js +22 -1
  78. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js.map +1 -1
  79. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts +3 -1
  80. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts.map +1 -1
  81. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js +23 -4
  82. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js.map +1 -1
  83. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.d.ts.map +1 -1
  84. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js +9 -0
  85. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js.map +1 -1
  86. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts +2 -2
  87. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts.map +1 -1
  88. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js +5 -4
  89. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js.map +1 -1
  90. package/analyzer-template/packages/github/dist/types/index.d.ts +1 -1
  91. package/analyzer-template/packages/github/dist/types/index.d.ts.map +1 -1
  92. package/analyzer-template/packages/github/dist/types/index.js.map +1 -1
  93. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts +25 -1
  94. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts.map +1 -1
  95. package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts +2 -0
  96. package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts.map +1 -1
  97. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts +51 -1
  98. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  99. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.d.ts +9 -1
  100. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
  101. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js +29 -3
  102. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js.map +1 -1
  103. package/analyzer-template/packages/types/index.ts +1 -0
  104. package/analyzer-template/packages/types/src/types/Analysis.ts +25 -0
  105. package/analyzer-template/packages/types/src/types/Commit.ts +2 -0
  106. package/analyzer-template/packages/types/src/types/ScenariosDataStructure.ts +64 -1
  107. package/analyzer-template/packages/utils/dist/types/index.d.ts +1 -1
  108. package/analyzer-template/packages/utils/dist/types/index.d.ts.map +1 -1
  109. package/analyzer-template/packages/utils/dist/types/index.js.map +1 -1
  110. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts +25 -1
  111. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts.map +1 -1
  112. package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts +2 -0
  113. package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts.map +1 -1
  114. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts +51 -1
  115. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  116. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.d.ts +9 -1
  117. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
  118. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js +29 -3
  119. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js.map +1 -1
  120. package/analyzer-template/packages/utils/src/lib/safeFileName.ts +48 -3
  121. package/analyzer-template/playwright/capture.ts +20 -8
  122. package/analyzer-template/playwright/captureStatic.ts +1 -1
  123. package/analyzer-template/project/analyzeBaselineCommit.ts +5 -0
  124. package/analyzer-template/project/analyzeRegularCommit.ts +5 -0
  125. package/analyzer-template/project/captureLibraryFunctionDirect.ts +29 -26
  126. package/analyzer-template/project/constructMockCode.ts +314 -29
  127. package/analyzer-template/project/createEntitiesAndSortFiles.ts +83 -0
  128. package/analyzer-template/project/loadReadyToBeCaptured.ts +65 -41
  129. package/analyzer-template/project/orchestrateCapture/AwsCaptureTaskRunner.ts +12 -4
  130. package/analyzer-template/project/orchestrateCapture/SequentialCaptureTaskRunner.ts +18 -7
  131. package/analyzer-template/project/orchestrateCapture/taskRunner.ts +4 -2
  132. package/analyzer-template/project/orchestrateCapture.ts +71 -6
  133. package/analyzer-template/project/reconcileMockDataKeys.ts +152 -9
  134. package/analyzer-template/project/runAnalysis.ts +4 -0
  135. package/analyzer-template/project/start.ts +35 -11
  136. package/analyzer-template/project/writeMockDataTsx.ts +114 -2
  137. package/analyzer-template/project/writeScenarioComponents.ts +101 -8
  138. package/analyzer-template/scripts/comboWorkerLoop.cjs +98 -50
  139. package/background/src/lib/virtualized/project/analyzeBaselineCommit.js +5 -0
  140. package/background/src/lib/virtualized/project/analyzeBaselineCommit.js.map +1 -1
  141. package/background/src/lib/virtualized/project/analyzeRegularCommit.js +5 -0
  142. package/background/src/lib/virtualized/project/analyzeRegularCommit.js.map +1 -1
  143. package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js +3 -3
  144. package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js.map +1 -1
  145. package/background/src/lib/virtualized/project/constructMockCode.js +255 -4
  146. package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
  147. package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js +73 -1
  148. package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js.map +1 -1
  149. package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js +19 -8
  150. package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js.map +1 -1
  151. package/background/src/lib/virtualized/project/orchestrateCapture/AwsCaptureTaskRunner.js +2 -2
  152. package/background/src/lib/virtualized/project/orchestrateCapture/AwsCaptureTaskRunner.js.map +1 -1
  153. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js +7 -5
  154. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js.map +1 -1
  155. package/background/src/lib/virtualized/project/orchestrateCapture.js +58 -6
  156. package/background/src/lib/virtualized/project/orchestrateCapture.js.map +1 -1
  157. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +126 -9
  158. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
  159. package/background/src/lib/virtualized/project/runAnalysis.js +3 -0
  160. package/background/src/lib/virtualized/project/runAnalysis.js.map +1 -1
  161. package/background/src/lib/virtualized/project/start.js +32 -11
  162. package/background/src/lib/virtualized/project/start.js.map +1 -1
  163. package/background/src/lib/virtualized/project/writeMockDataTsx.js +89 -2
  164. package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
  165. package/background/src/lib/virtualized/project/writeScenarioComponents.js +57 -8
  166. package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
  167. package/codeyam-cli/src/cli.js +2 -0
  168. package/codeyam-cli/src/cli.js.map +1 -1
  169. package/codeyam-cli/src/commands/memory.js +273 -0
  170. package/codeyam-cli/src/commands/memory.js.map +1 -0
  171. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +4 -0
  172. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
  173. package/codeyam-cli/src/utils/analysisRunner.js +21 -2
  174. package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
  175. package/codeyam-cli/src/utils/install-skills.js +20 -6
  176. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  177. package/codeyam-cli/src/utils/queue/job.js +1 -0
  178. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  179. package/codeyam-cli/src/utils/queue/manager.js +6 -0
  180. package/codeyam-cli/src/utils/queue/manager.js.map +1 -1
  181. package/codeyam-cli/src/utils/rules/index.js +5 -0
  182. package/codeyam-cli/src/utils/rules/index.js.map +1 -0
  183. package/codeyam-cli/src/utils/rules/parser.js +106 -0
  184. package/codeyam-cli/src/utils/rules/parser.js.map +1 -0
  185. package/codeyam-cli/src/utils/rules/pathMatcher.js +18 -0
  186. package/codeyam-cli/src/utils/rules/pathMatcher.js.map +1 -0
  187. package/codeyam-cli/src/utils/rules/staleness.js +132 -0
  188. package/codeyam-cli/src/utils/rules/staleness.js.map +1 -0
  189. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +2 -0
  190. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
  191. package/codeyam-cli/src/webserver/app/lib/database.js +7 -3
  192. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  193. package/codeyam-cli/src/webserver/bootstrap.js +40 -0
  194. package/codeyam-cli/src/webserver/bootstrap.js.map +1 -1
  195. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-DsN1wKrm.js +11 -0
  196. package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeBadge-COi5OvsN.js → EntityTypeBadge-DLqD3qNt.js} +1 -1
  197. package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeIcon-BwdQv49w.js → EntityTypeIcon-Ba2JVPzP.js} +1 -1
  198. package/codeyam-cli/src/webserver/build/client/assets/{InlineSpinner-CEleMv_j.js → InlineSpinner-C8lyxW9k.js} +1 -1
  199. package/codeyam-cli/src/webserver/build/client/assets/{InteractivePreview-D68KarMg.js → InteractivePreview-aht4aafF.js} +2 -2
  200. package/codeyam-cli/src/webserver/build/client/assets/{LibraryFunctionPreview-L75Wvqgw.js → LibraryFunctionPreview-CVtiBnY5.js} +1 -1
  201. package/codeyam-cli/src/webserver/build/client/assets/{LoadingDots-C53WM8qn.js → LoadingDots-B0GLXMsr.js} +1 -1
  202. package/codeyam-cli/src/webserver/build/client/assets/{LogViewer-CrNkmy4i.js → LogViewer-xgeCVgSM.js} +1 -1
  203. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-OApQuNyq.js +16 -0
  204. package/codeyam-cli/src/webserver/build/client/assets/{SafeScreenshot-CQifa1n-.js → SafeScreenshot-DuDvi0jm.js} +1 -1
  205. package/codeyam-cli/src/webserver/build/client/assets/{ScenarioViewer-CyaBFX7l.js → ScenarioViewer-DzccYyI8.js} +3 -13
  206. package/codeyam-cli/src/webserver/build/client/assets/{TruncatedFilePath-D36O1rzU.js → TruncatedFilePath-DyFZkK0l.js} +1 -1
  207. package/codeyam-cli/src/webserver/build/client/assets/_index-BwqWJOgH.js +11 -0
  208. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-BwavGCpm.js +32 -0
  209. package/codeyam-cli/src/webserver/build/client/assets/api.health-l0sNRNKZ.js +1 -0
  210. package/codeyam-cli/src/webserver/build/client/assets/api.memory-profile-l0sNRNKZ.js +1 -0
  211. package/codeyam-cli/src/webserver/build/client/assets/api.restart-server-l0sNRNKZ.js +1 -0
  212. package/codeyam-cli/src/webserver/build/client/assets/{chevron-down-DgTPh8H-.js → chevron-down-Cx24_aWc.js} +1 -1
  213. package/codeyam-cli/src/webserver/build/client/assets/{chunk-EPOLDU6W-DdQKK6on.js → chunk-EPOLDU6W-CXRTFQ3F.js} +1 -1
  214. package/codeyam-cli/src/webserver/build/client/assets/{circle-check-Dmr2bb1R.js → circle-check-BOARzkeR.js} +1 -1
  215. package/codeyam-cli/src/webserver/build/client/assets/copy-Bb-80kDT.js +6 -0
  216. package/codeyam-cli/src/webserver/build/client/assets/{createLucideIcon-Do4ZLUYa.js → createLucideIcon-BdhJEx6B.js} +1 -1
  217. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-BBnGWYga.js +1 -0
  218. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-CbdFyxZh.js → entity._sha._-BJUiQqZF.js} +12 -12
  219. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha.scenarios._scenarioId.fullscreen-B4iCfs5M.js → entity._sha.scenarios._scenarioId.fullscreen-DavjRmOY.js} +1 -1
  220. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.create-scenario-wDWZZO1W.js → entity._sha_.create-scenario-D1T4TGjf.js} +1 -1
  221. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.edit._scenarioId-BMbl7MeQ.js → entity._sha_.edit._scenarioId-CTBG2mmz.js} +1 -1
  222. package/codeyam-cli/src/webserver/build/client/assets/{entry.client-5wRKRIH9.js → entry.client-CS2cb_eZ.js} +1 -1
  223. package/codeyam-cli/src/webserver/build/client/assets/file-code-Dhef1kWN.js +6 -0
  224. package/codeyam-cli/src/webserver/build/client/assets/{fileTableUtils-DD3SDH7t.js → fileTableUtils-DMJ7zii9.js} +1 -1
  225. package/codeyam-cli/src/webserver/build/client/assets/files-CJ6lTdTA.js +1 -0
  226. package/codeyam-cli/src/webserver/build/client/assets/{git-zXjT7J0G.js → git-CPTZZ-JZ.js} +8 -8
  227. package/codeyam-cli/src/webserver/build/client/assets/globals-D3yhhV8x.css +1 -0
  228. package/codeyam-cli/src/webserver/build/client/assets/{index-DLbXwndH.js → index-B1h680n5.js} +1 -1
  229. package/codeyam-cli/src/webserver/build/client/assets/{index-gPZ-lad1.js → index-lzqtyFU8.js} +1 -1
  230. package/codeyam-cli/src/webserver/build/client/assets/{loader-circle-BsPXJ81F.js → loader-circle-B7B9V-bu.js} +1 -1
  231. package/codeyam-cli/src/webserver/build/client/assets/manifest-7522edd4.js +1 -0
  232. package/codeyam-cli/src/webserver/build/client/assets/memory-yxFcrxBX.js +92 -0
  233. package/codeyam-cli/src/webserver/build/client/assets/root-eVAaavTS.js +62 -0
  234. package/codeyam-cli/src/webserver/build/client/assets/{search-P2FKIUql.js → search-CxXUmBSd.js} +1 -1
  235. package/codeyam-cli/src/webserver/build/client/assets/{settings-B2eDuBj8.js → settings-CS5f3WzT.js} +1 -1
  236. package/codeyam-cli/src/webserver/build/client/assets/{simulations-L18M6-kN.js → simulations-DwFIBT09.js} +1 -1
  237. package/codeyam-cli/src/webserver/build/client/assets/{triangle-alert-BDz7kbVA.js → triangle-alert-B6LgvRJg.js} +1 -1
  238. package/codeyam-cli/src/webserver/build/client/assets/{useCustomSizes-29dDmbH8.js → useCustomSizes-C1v1PQzo.js} +1 -1
  239. package/codeyam-cli/src/webserver/build/client/assets/{useLastLogLine-BUm0UVJm.js → useLastLogLine-aSv48UbS.js} +1 -1
  240. package/codeyam-cli/src/webserver/build/client/assets/{useReportContext-CkIOKTrZ.js → useReportContext-DYxHZQuP.js} +1 -1
  241. package/codeyam-cli/src/webserver/build/client/assets/{useToast-KKw5kTn-.js → useToast-mBRpZPiu.js} +1 -1
  242. package/codeyam-cli/src/webserver/build/server/assets/index-DVzYx8PN.js +1 -0
  243. package/codeyam-cli/src/webserver/build/server/assets/server-build-4Cr0uToj.js +257 -0
  244. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  245. package/codeyam-cli/src/webserver/build-info.json +5 -5
  246. package/codeyam-cli/templates/codeyam-memory-hook.sh +200 -0
  247. package/codeyam-cli/templates/codeyam:debug.md +47 -3
  248. package/codeyam-cli/templates/codeyam:diagnose.md +203 -25
  249. package/codeyam-cli/templates/codeyam:memory.md +462 -0
  250. package/codeyam-cli/templates/codeyam:new-rule.md +13 -0
  251. package/package.json +8 -5
  252. package/packages/ai/index.js +5 -2
  253. package/packages/ai/index.js.map +1 -1
  254. package/packages/ai/src/lib/analyzeScope.js +41 -17
  255. package/packages/ai/src/lib/analyzeScope.js.map +1 -1
  256. package/packages/ai/src/lib/astScopes/arrayDerivationDetector.js +150 -0
  257. package/packages/ai/src/lib/astScopes/arrayDerivationDetector.js.map +1 -0
  258. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +24 -0
  259. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
  260. package/packages/ai/src/lib/astScopes/methodSemantics.js +109 -23
  261. package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
  262. package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js +1 -102
  263. package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js.map +1 -1
  264. package/packages/ai/src/lib/astScopes/processExpression.js +228 -11
  265. package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
  266. package/packages/ai/src/lib/completionCall.js +161 -30
  267. package/packages/ai/src/lib/completionCall.js.map +1 -1
  268. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +86 -1
  269. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  270. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js +179 -0
  271. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js.map +1 -1
  272. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js +7 -1
  273. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js.map +1 -1
  274. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js +19 -0
  275. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js.map +1 -1
  276. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js +70 -2
  277. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js.map +1 -1
  278. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +29 -7
  279. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js.map +1 -1
  280. package/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.js +107 -0
  281. package/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.js.map +1 -0
  282. package/packages/ai/src/lib/dataStructureChunking.js +111 -0
  283. package/packages/ai/src/lib/dataStructureChunking.js.map +1 -0
  284. package/packages/ai/src/lib/e2eDataTracking.js +241 -0
  285. package/packages/ai/src/lib/e2eDataTracking.js.map +1 -0
  286. package/packages/ai/src/lib/extractCriticalDataKeys.js +96 -0
  287. package/packages/ai/src/lib/extractCriticalDataKeys.js.map +1 -0
  288. package/packages/ai/src/lib/generateEntityScenarioData.js +510 -7
  289. package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
  290. package/packages/ai/src/lib/generateEntityScenarios.js +19 -1
  291. package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
  292. package/packages/ai/src/lib/generateExecutionFlows.js +273 -4
  293. package/packages/ai/src/lib/generateExecutionFlows.js.map +1 -1
  294. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js +738 -40
  295. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js.map +1 -1
  296. package/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.js +194 -0
  297. package/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.js.map +1 -0
  298. package/packages/ai/src/lib/promptGenerators/generateChunkPrompt.js +54 -0
  299. package/packages/ai/src/lib/promptGenerators/generateChunkPrompt.js.map +1 -0
  300. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js +15 -7
  301. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js.map +1 -1
  302. package/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.js +335 -0
  303. package/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.js.map +1 -0
  304. package/packages/ai/src/lib/resolvePathToControllable.js +131 -27
  305. package/packages/ai/src/lib/resolvePathToControllable.js.map +1 -1
  306. package/packages/ai/src/lib/worker/SerializableDataStructure.js +7 -0
  307. package/packages/ai/src/lib/worker/SerializableDataStructure.js.map +1 -1
  308. package/packages/ai/src/lib/worker/analyzeScopeWorker.js +94 -1
  309. package/packages/ai/src/lib/worker/analyzeScopeWorker.js.map +1 -1
  310. package/packages/analyze/src/lib/analysisContext.js +30 -5
  311. package/packages/analyze/src/lib/analysisContext.js.map +1 -1
  312. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +8 -4
  313. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
  314. package/packages/analyze/src/lib/files/analyze/dependencyResolver.js +5 -0
  315. package/packages/analyze/src/lib/files/analyze/dependencyResolver.js.map +1 -1
  316. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js +31 -7
  317. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js.map +1 -1
  318. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js +116 -66
  319. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js.map +1 -1
  320. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +37 -5
  321. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
  322. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js +1 -1
  323. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js.map +1 -1
  324. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +65 -0
  325. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
  326. package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js +46 -9
  327. package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js.map +1 -1
  328. package/packages/database/src/lib/kysely/db.js +8 -1
  329. package/packages/database/src/lib/kysely/db.js.map +1 -1
  330. package/packages/database/src/lib/kysely/tables/commitsTable.js +3 -0
  331. package/packages/database/src/lib/kysely/tables/commitsTable.js.map +1 -1
  332. package/packages/database/src/lib/loadAnalyses.js +45 -2
  333. package/packages/database/src/lib/loadAnalyses.js.map +1 -1
  334. package/packages/database/src/lib/loadAnalysis.js +8 -0
  335. package/packages/database/src/lib/loadAnalysis.js.map +1 -1
  336. package/packages/database/src/lib/loadBranch.js +11 -1
  337. package/packages/database/src/lib/loadBranch.js.map +1 -1
  338. package/packages/database/src/lib/loadCommit.js +7 -0
  339. package/packages/database/src/lib/loadCommit.js.map +1 -1
  340. package/packages/database/src/lib/loadCommits.js +22 -1
  341. package/packages/database/src/lib/loadCommits.js.map +1 -1
  342. package/packages/database/src/lib/loadEntities.js +23 -4
  343. package/packages/database/src/lib/loadEntities.js.map +1 -1
  344. package/packages/database/src/lib/loadEntityBranches.js +9 -0
  345. package/packages/database/src/lib/loadEntityBranches.js.map +1 -1
  346. package/packages/database/src/lib/updateCommitMetadata.js +5 -4
  347. package/packages/database/src/lib/updateCommitMetadata.js.map +1 -1
  348. package/packages/types/index.js.map +1 -1
  349. package/packages/utils/src/lib/safeFileName.js +29 -3
  350. package/packages/utils/src/lib/safeFileName.js.map +1 -1
  351. package/scripts/finalize-analyzer.cjs +3 -3
  352. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-vauWK972.js +0 -1
  353. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-DzJRkCkr.js +0 -11
  354. package/codeyam-cli/src/webserver/build/client/assets/_index-Be83mo_j.js +0 -11
  355. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-BN6wu6Y-.js +0 -37
  356. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-Bn6aCAy_.js +0 -1
  357. package/codeyam-cli/src/webserver/build/client/assets/files-DKyMFI90.js +0 -1
  358. package/codeyam-cli/src/webserver/build/client/assets/globals-DTTQ3gY7.css +0 -1
  359. package/codeyam-cli/src/webserver/build/client/assets/manifest-22590fcf.js +0 -1
  360. package/codeyam-cli/src/webserver/build/client/assets/root-BsAarjAM.js +0 -57
  361. package/codeyam-cli/src/webserver/build/server/assets/index-BND5I5fv.js +0 -1
  362. package/codeyam-cli/src/webserver/build/server/assets/server-build-CFXnd7MG.js +0 -228
@@ -48,6 +48,11 @@ export default async function analyzeBaselineCommit({ project, projectAnalyzer,
48
48
  entitiesAnalyzedAt: now,
49
49
  },
50
50
  archiveCurrentRun: true,
51
+ updateCallback(metadata) {
52
+ if (metadata.currentRun?.captureCompletedAt) {
53
+ metadata.currentRun.completedAt = now;
54
+ }
55
+ },
51
56
  });
52
57
  awsLog(`CodeYam: Marking baseline completed for project ${project.slug}`);
53
58
  project.metadata = await updateProjectMetadata({
@@ -1 +1 @@
1
- {"version":3,"file":"analyzeBaselineCommit.js","sourceRoot":"","sources":["../../../../../../../background/src/lib/virtualized/project/analyzeBaselineCommit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyzeBaselineCommit.js","sourceRoot":"","sources":["../../../../../../../background/src/lib/virtualized/project/analyzeBaselineCommit.ts"],"names":[],"mappings":"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"}
@@ -148,6 +148,11 @@ export default async function analyzeRegularCommit({ project, projectAnalyzer, c
148
148
  // In local mode (CLI), let job.js handle archiving after BOTH analysis AND capture complete
149
149
  // In cloud mode (Docker), archive immediately after analysis completes
150
150
  archiveCurrentRun: !isLocalMode,
151
+ updateCallback(metadata) {
152
+ if (metadata.currentRun?.captureCompletedAt) {
153
+ metadata.currentRun.completedAt = now;
154
+ }
155
+ },
151
156
  });
152
157
  }
153
158
  if (backgroundJob) {
@@ -1 +1 @@
1
- {"version":3,"file":"analyzeRegularCommit.js","sourceRoot":"","sources":["../../../../../../../background/src/lib/virtualized/project/analyzeRegularCommit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyzeRegularCommit.js","sourceRoot":"","sources":["../../../../../../../background/src/lib/virtualized/project/analyzeRegularCommit.ts"],"names":[],"mappings":"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"}
@@ -56,8 +56,8 @@ export default async function captureLibraryFunctionDirect(analysis, scenario) {
56
56
  targetScenario.metadata.executionResult = executionResult;
57
57
  }
58
58
  });
59
- // Mark scenario as complete
60
- await updateFreshAnalysisStatus(analysis.id, (freshStatus, inAnalysis) => {
59
+ // Mark scenario as complete (use WithScenarios variant to get actual scenario count)
60
+ await updateFreshAnalysisStatusWithScenarios(analysis.id, (freshStatus, dbScenarios, _inAnalysis) => {
61
61
  freshStatus.scenarios || (freshStatus.scenarios = []);
62
62
  const scenarioStatus = freshStatus.scenarios.find((s) => s.name === scenario.name);
63
63
  if (scenarioStatus) {
@@ -71,7 +71,7 @@ export default async function captureLibraryFunctionDirect(analysis, scenario) {
71
71
  });
72
72
  }
73
73
  // Check if all scenarios are done
74
- const allScenariosAvailable = freshStatus.scenarios.length >= inAnalysis.scenarios?.length;
74
+ const allScenariosAvailable = freshStatus.scenarios.length >= dbScenarios.length;
75
75
  if (allScenariosAvailable &&
76
76
  freshStatus.scenarios.every((s) => !!s.finishedAt)) {
77
77
  freshStatus.finishedAt = new Date().toISOString();
@@ -1 +1 @@
1
- {"version":3,"file":"captureLibraryFunctionDirect.js","sourceRoot":"","sources":["../../../../../../../background/src/lib/virtualized/project/captureLibraryFunctionDirect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"captureLibraryFunctionDirect.js","sourceRoot":"","sources":["../../../../../../../background/src/lib/virtualized/project/captureLibraryFunctionDirect.ts"],"names":[],"mappings":"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"}
@@ -225,6 +225,18 @@ function isValidKey(key) {
225
225
  return false;
226
226
  return !/\s/.test(keyWithOutArguments);
227
227
  }
228
+ /**
229
+ * Known hooks that return tuples [value, setter] instead of arrays.
230
+ * These should NOT use the .map() pattern even when the schema has generic array access ([]).
231
+ * Instead, they should return [data, () => {}] where data is from scenarios().
232
+ */
233
+ const TUPLE_RETURNING_HOOKS = new Set([
234
+ 'useAtom', // Jotai
235
+ 'useState', // React
236
+ 'useReducer', // React
237
+ 'useRecoilState', // Recoil
238
+ 'useImmerAtom', // Jotai with Immer
239
+ ]);
228
240
  export default function constructMockCode(mockName, dependencySchemas, entityType, _canonicalKey, // DEPRECATED: No longer used, kept for API compatibility
229
241
  options) {
230
242
  // Check if mockName is a call signature (e.g., "useFetcher<User>()", "db.select(query)")
@@ -399,6 +411,87 @@ options) {
399
411
  const pathDepth = splitOutsideParenthesesAndArrays(dataStructurePath).length;
400
412
  const isRootArray = dataStructureValue === 'array' &&
401
413
  (dataStructurePath === 'returnValue' || pathDepth <= mockNameParts.length);
414
+ // OPTIMIZATION: Early return for tuple-returning hooks (useAtom, useState, etc.)
415
+ // These hooks have simple [value, setter] return patterns that don't need the full
416
+ // 9216-key schema processing. Check if this is a tuple-returning hook and generate
417
+ // the mock code directly without iterating over all schema keys.
418
+ if (TUPLE_RETURNING_HOOKS.has(baseMockName) && isFunction) {
419
+ // Check if schema has generic array pattern (indicates tuple return like [value, setter])
420
+ const schemaKeys = Object.keys(relevantReturnValueSchema ?? {});
421
+ const hasGenericArrayInSchema = schemaKeys.some((k) => k.includes('.functionCallReturnValue[]') ||
422
+ k === `${dataKey}.functionCallReturnValue[]` ||
423
+ k === 'returnValue[]');
424
+ // Check for differentiated tuple indices (e.g., functionCallReturnValue[2], [3]) which would NOT be a standard tuple
425
+ // We only check indices immediately after functionCallReturnValue, not nested indices like signature[2]
426
+ const tupleHasDifferentiatedIndices = schemaKeys.some((k) => {
427
+ // Look for .functionCallReturnValue[N] where N >= 2
428
+ const match = k.match(/\.functionCallReturnValue\[(\d+)\]/);
429
+ if (!match)
430
+ return false;
431
+ const idx = parseInt(match[1], 10);
432
+ return idx >= 2;
433
+ });
434
+ const isTupleReturningHook = hasGenericArrayInSchema && !tupleHasDifferentiatedIndices;
435
+ if (isTupleReturningHook) {
436
+ // Find all call patterns for this hook (e.g., useAtom(quoteFilterAtom), useAtom(supplierAtom))
437
+ const hookCallPatterns = Object.keys(relevantReturnValueSchema ?? {})
438
+ .filter((k) => {
439
+ const regex = new RegExp(`^${baseMockName}\\([^)]+\\)$`);
440
+ return regex.test(k);
441
+ })
442
+ .map((k) => {
443
+ const match = k.match(/\(([^)]+)\)/);
444
+ return { key: k, arg: match?.[1] ?? '' };
445
+ });
446
+ let tupleReturnCode;
447
+ if (hookCallPatterns.length > 1) {
448
+ // Multiple patterns - generate conditional dispatch
449
+ const conditions = hookCallPatterns
450
+ .map(({ key, arg }) => `if (argLabel === '${arg}' || argStr.includes('${arg}')) {\n return [scenarios().data()?.["${key}"]?.[0] ?? [], () => {}];\n }`)
451
+ .join('\n ');
452
+ const fallbackKey = hookCallPatterns[0]?.key ?? dataKey;
453
+ tupleReturnCode = `(() => {
454
+ // Dynamic dispatch for tuple-returning hook with multiple argument patterns
455
+ const argLabel = args[0]?.debugLabel ?? '';
456
+ const argStr = args[0]?.toString?.() ?? String(args[0] ?? '');
457
+ ${conditions}
458
+ return [scenarios().data()?.["${fallbackKey}"]?.[0] ?? [], () => {}];
459
+ })()`;
460
+ }
461
+ else {
462
+ // Single or no patterns - use dynamic dispatch
463
+ const fallbackKey = hookCallPatterns[0]?.key ?? `${baseMockName}()`;
464
+ tupleReturnCode = `(() => {
465
+ // Dynamic dispatch for tuple-returning hook
466
+ const argLabel = args[0]?.debugLabel ?? '';
467
+ const argStr = args[0]?.toString?.() ?? '';
468
+ const allData = scenarios().data() ?? {};
469
+ if (argLabel) {
470
+ const labelKey = '${baseMockName}(' + argLabel + ')';
471
+ if (allData[labelKey]) {
472
+ return [allData[labelKey]?.[0] ?? [], () => {}];
473
+ }
474
+ }
475
+ const keys = Object.keys(allData).filter(k => k.startsWith('${baseMockName}('));
476
+ for (const key of keys) {
477
+ const keyArg = key.slice(${baseMockName.length + 1}, -1);
478
+ if (argStr.includes(keyArg)) {
479
+ return [allData[key]?.[0] ?? [], () => {}];
480
+ }
481
+ }
482
+ return [allData[keys[0] ?? '${fallbackKey}']?.[0] ?? [], () => {}];
483
+ })()`;
484
+ }
485
+ const safeFunctionName = options?.uniqueFunctionSuffix
486
+ ? `${baseMockName}_${options.uniqueFunctionSuffix}`
487
+ : options?.keepOriginalFunctionName
488
+ ? baseMockName
489
+ : mockNameIsCallSignature && derivedFunctionName
490
+ ? derivedFunctionName
491
+ : baseMockName;
492
+ return `function ${safeFunctionName}(...args) {\n return ${tupleReturnCode};\n}`;
493
+ }
494
+ }
402
495
  const returnValueParts = {
403
496
  name: dataStructureName,
404
497
  isArray: isRootArray,
@@ -679,7 +772,102 @@ options) {
679
772
  return ARRAY_PROTOTYPE_METHODS.has(methodName);
680
773
  });
681
774
  let returnValueContents = '';
682
- if (!returnsFunctionArgs &&
775
+ // Check if this is a known tuple-returning hook (useAtom, useState, etc.)
776
+ // These should return [value, setter] tuples, not arrays or data paths
777
+ // Check isGenericArray from current context OR from schema for root level calls
778
+ // (at root level, isGenericArray might not be set yet but the schema contains [] pattern)
779
+ const hasGenericArrayInSchema = root &&
780
+ TUPLE_RETURNING_HOOKS.has(baseMockName) &&
781
+ Object.keys(relevantReturnValueSchema ?? {}).some((k) => k.includes('.functionCallReturnValue[]'));
782
+ // Check if there are array indices beyond what a standard 2-element tuple would have
783
+ // For tuple-returning hooks, [0] and [1] are expected (value and setter)
784
+ // Only consider it "differentiated" if there are indices >= 2 (e.g., [2], [3])
785
+ const tupleHasDifferentiatedIndices = nested?.some((n) => {
786
+ const indexMatch = n.name.match(/^\[(\d+)\]$/);
787
+ if (!indexMatch)
788
+ return false;
789
+ const index = parseInt(indexMatch[1], 10);
790
+ return index >= 2;
791
+ });
792
+ const isTupleReturningHook = TUPLE_RETURNING_HOOKS.has(baseMockName) &&
793
+ (isGenericArray || hasGenericArrayInSchema) &&
794
+ !tupleHasDifferentiatedIndices;
795
+ // Debug logging for tuple-returning hooks
796
+ if (TUPLE_RETURNING_HOOKS.has(baseMockName) && root) {
797
+ const schemaKeys = Object.keys(relevantReturnValueSchema ?? {});
798
+ const hasArrayPattern = schemaKeys.some((k) => k.includes('.functionCallReturnValue[]'));
799
+ console.log(`CodeYam: Tuple hook check for ${baseMockName} (root):`, `hasGenericArrayInSchema=${hasGenericArrayInSchema}`, `hasArrayPattern=${hasArrayPattern}`, `tupleHasDifferentiatedIndices=${tupleHasDifferentiatedIndices}`, `isTupleReturningHook=${isTupleReturningHook}`, `schemaKeysSample=${schemaKeys.slice(0, 5).join(', ')}`);
800
+ }
801
+ if (isTupleReturningHook) {
802
+ // Tuple-returning hooks should return [value, setter] tuple
803
+ // The value is the first element from scenarios data, setter is a no-op
804
+ // Default to [] when data is undefined to prevent errors like ".includes is not a function"
805
+ // Check if there are multiple call patterns for this hook in the schema
806
+ // (e.g., useAtom(quoteFilterAtom) and useAtom(supplierAtom))
807
+ const hookCallPatterns = Object.keys(relevantReturnValueSchema ?? {})
808
+ .filter((k) => {
809
+ // Match patterns like "useAtom(someArg)" but not nested paths like "useAtom(x).foo"
810
+ const regex = new RegExp(`^${baseMockName}\\([^)]+\\)$`);
811
+ return regex.test(k);
812
+ })
813
+ .map((k) => {
814
+ // Extract the argument from the key like "useAtom(quoteFilterAtom)" -> "quoteFilterAtom"
815
+ const match = k.match(/\(([^)]+)\)/);
816
+ return { key: k, arg: match?.[1] ?? '' };
817
+ });
818
+ if (hookCallPatterns.length > 1) {
819
+ // Multiple patterns - generate conditional dispatch based on first argument
820
+ // For Jotai atoms, we use debugLabel; for others, we try to match the argument string
821
+ const conditions = hookCallPatterns
822
+ .map(({ key, arg }) => `if (argLabel === '${arg}' || argStr.includes('${arg}')) {\n return [scenarios().data()?.["${key}"]?.[0] ?? [], () => {}];\n }`)
823
+ .join('\n ');
824
+ // Use the first pattern as fallback
825
+ const fallbackKey = hookCallPatterns[0]?.key ?? dataKey;
826
+ returnValueContents = `(() => {
827
+ // Dynamic dispatch for tuple-returning hook with multiple argument patterns
828
+ const argLabel = args[0]?.debugLabel ?? '';
829
+ const argStr = args[0]?.toString?.() ?? String(args[0] ?? '');
830
+ ${conditions}
831
+ // Fallback to first pattern
832
+ return [scenarios().data()?.["${fallbackKey}"]?.[0] ?? [], () => {}];
833
+ })()`;
834
+ }
835
+ else {
836
+ // Single pattern or no patterns - use dynamic dispatch to handle case where
837
+ // the mock is used with different atoms than what was captured in the schema.
838
+ // Use the first argument to construct the data key dynamically.
839
+ const fallbackKey = hookCallPatterns[0]?.key ?? `${baseMockName}()`;
840
+ returnValueContents = `(() => {
841
+ // Dynamic dispatch for tuple-returning hook
842
+ // Try to construct key from argument's debugLabel (Jotai atoms) or toString
843
+ const argLabel = args[0]?.debugLabel ?? '';
844
+ const argStr = args[0]?.toString?.() ?? '';
845
+ const allData = scenarios().data() ?? {};
846
+
847
+ // Try to find a matching key using debugLabel first
848
+ if (argLabel) {
849
+ const labelKey = '${baseMockName}(' + argLabel + ')';
850
+ if (allData[labelKey]) {
851
+ return [allData[labelKey]?.[0] ?? [], () => {}];
852
+ }
853
+ }
854
+
855
+ // Try to find any matching key that contains part of the argument string
856
+ const keys = Object.keys(allData).filter(k => k.startsWith('${baseMockName}('));
857
+ for (const key of keys) {
858
+ const keyArg = key.slice(${baseMockName.length + 1}, -1);
859
+ if (argStr.includes(keyArg)) {
860
+ return [allData[key]?.[0] ?? [], () => {}];
861
+ }
862
+ }
863
+
864
+ // Fallback to first matching key or default
865
+ const fallback = keys[0] ?? '${fallbackKey}';
866
+ return [allData[fallback]?.[0] ?? [], () => {}];
867
+ })()`;
868
+ }
869
+ }
870
+ else if (!returnsFunctionArgs &&
683
871
  nestedContent.length === 0 &&
684
872
  dataPaths.length === 1) {
685
873
  returnValueContents = dataPaths[0];
@@ -1043,7 +1231,36 @@ options) {
1043
1231
  }
1044
1232
  }
1045
1233
  else {
1046
- returnValueContents = `{\n${indent(levelContents)}\n}`;
1234
+ // When we have a single data path and nested content that creates an object structure,
1235
+ // and we're NOT at the root level, we need to handle the case where the parent data
1236
+ // value is null or undefined. Without this check, `{ ...null, prop: null?.["prop"] }`
1237
+ // creates `{ prop: undefined }` instead of `null`, causing errors like
1238
+ // "Cannot read properties of undefined (reading 'some')" when code does
1239
+ // data?.prop.some(...) because data is an object with prop: undefined, not null.
1240
+ // We only apply this to non-root cases because root-level mocks are expected to exist.
1241
+ // We also skip structural elements (like [0] inside arrays) because the null check
1242
+ // syntax doesn't work inside .map() callbacks where structural elements are used.
1243
+ // We also skip array index elements ([0], [1], etc.) because they represent tuple/array
1244
+ // elements, not properties that could be null.
1245
+ // We also only apply this when we're inside a function return value context - i.e.,
1246
+ // when the data path contains a function call pattern like ?.["someFunction(...)"].
1247
+ // This prevents adding null checks to intermediate objects in chains like supabase.auth.
1248
+ const hasNestedContent = nestedContent.filter(Boolean).length > 0;
1249
+ const isArrayIndexElement = name.match(/^\[\d*\]$/);
1250
+ // Check if data path contains a function call pattern, indicating we're inside a function return value
1251
+ const isInsideFunctionReturnValue = dataPaths.length === 1 &&
1252
+ dataPaths[0].match(/\?\.\["\w+\([^"]*\)"\]/);
1253
+ if (!root &&
1254
+ !returnValue.isStructural &&
1255
+ !isArrayIndexElement &&
1256
+ isInsideFunctionReturnValue &&
1257
+ hasNestedContent) {
1258
+ // Wrap with null check: if parent is null/undefined, return it directly; otherwise create object
1259
+ returnValueContents = `${dataPaths[0]} == null ? ${dataPaths[0]} : {\n${indent(levelContents)}\n}`;
1260
+ }
1261
+ else {
1262
+ returnValueContents = `{\n${indent(levelContents)}\n}`;
1263
+ }
1047
1264
  }
1048
1265
  }
1049
1266
  if (root) {
@@ -1158,7 +1375,31 @@ options) {
1158
1375
  return content;
1159
1376
  };
1160
1377
  // Create the return value structure
1161
- const sortedKeys = Object.keys(relevantReturnValueSchema ?? {}).sort((a, b) => {
1378
+ // OPTIMIZATION: Filter keys to only those starting with baseMockName before sorting.
1379
+ // This dramatically reduces processing time for large schemas (e.g., 9216 keys -> ~100 relevant keys).
1380
+ // Without this filter, the loop would call splitOutsideParenthesesAndArrays on every key
1381
+ // even though most are filtered out later by the baseMockName check.
1382
+ const allSchemaKeys = Object.keys(relevantReturnValueSchema ?? {});
1383
+ const relevantKeys = allSchemaKeys.filter((key) => {
1384
+ // Fast prefix check - key must start with baseMockName followed by ( or < or .
1385
+ // This matches: "useAtom()", "useAtom<T>()", "useAtom.something", but not "useAtomValue()"
1386
+ if (key === baseMockName)
1387
+ return true;
1388
+ if (key.startsWith(baseMockName + '('))
1389
+ return true;
1390
+ if (key.startsWith(baseMockName + '<'))
1391
+ return true;
1392
+ if (key.startsWith(baseMockName + '.'))
1393
+ return true;
1394
+ // Also include 'returnValue' paths which are normalized later
1395
+ if (key === 'returnValue' ||
1396
+ key.startsWith('returnValue.') ||
1397
+ key.startsWith('returnValue['))
1398
+ return true;
1399
+ return false;
1400
+ });
1401
+ const schemaKeyCount = relevantKeys.length;
1402
+ const sortedKeys = relevantKeys.sort((a, b) => {
1162
1403
  const aParts = splitOutsideParenthesesAndArrays(a);
1163
1404
  const bParts = splitOutsideParenthesesAndArrays(b);
1164
1405
  const maxLength = Math.max(aParts.length, bParts.length);
@@ -1754,7 +1995,17 @@ options) {
1754
1995
  : enhancedContents;
1755
1996
  // Inline the return value directly in the function to avoid module-level const
1756
1997
  // that would be evaluated before scenario context is ready
1757
- return `${isRootAsyncFunction ? 'async ' : ''}function ${safeFunctionName}(...args) {\n${indent(`return ${returnValue};`)}\n}`;
1998
+ // Add fallback for simple data path returns to prevent undefined errors (e.g., createTheme)
1999
+ // Only add fallback if returnValue is a simple data accessor (starts with scenarios().data())
2000
+ // and doesn't already have nested structure (object literal, array, or method chains like .map())
2001
+ const isSimpleDataPath = returnValue.startsWith('scenarios().data()') &&
2002
+ !returnValue.trim().startsWith('{') &&
2003
+ !returnValue.trim().startsWith('[') &&
2004
+ !returnValue.includes('.map('); // Exclude method chains
2005
+ const safeReturnValue = isSimpleDataPath
2006
+ ? `${returnValue} ?? {}`
2007
+ : returnValue;
2008
+ return `${isRootAsyncFunction ? 'async ' : ''}function ${safeFunctionName}(...args) {\n${indent(`return ${safeReturnValue};`)}\n}`;
1758
2009
  }
1759
2010
  else {
1760
2011
  // Generate safe const name: