@codeyam/codeyam-cli 0.1.0-staging.6e699e5 → 0.1.0-staging.79ef713

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 (437) 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 +7 -7
  4. package/analyzer-template/packages/ai/index.ts +10 -2
  5. package/analyzer-template/packages/ai/package.json +2 -2
  6. package/analyzer-template/packages/ai/src/lib/analyzeScope.ts +86 -18
  7. package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +67 -9
  8. package/analyzer-template/packages/ai/src/lib/astScopes/methodSemantics.ts +41 -17
  9. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.ts +10 -17
  10. package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +308 -50
  11. package/analyzer-template/packages/ai/src/lib/astScopes/types.ts +15 -6
  12. package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +833 -243
  13. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.ts +5 -1
  14. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.ts +16 -3
  15. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.ts +6 -4
  16. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.ts +54 -3
  17. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.ts +60 -15
  18. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.ts +70 -0
  19. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.ts +80 -5
  20. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.ts +179 -0
  21. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.ts +40 -30
  22. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts +393 -97
  23. package/analyzer-template/packages/ai/src/lib/generateEntityDataStructure.ts +58 -3
  24. package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +283 -1
  25. package/analyzer-template/packages/ai/src/lib/generateEntityScenarios.ts +9 -5
  26. package/analyzer-template/packages/ai/src/lib/generateExecutionFlows.ts +11 -3
  27. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.ts +1 -1
  28. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionals.ts +297 -7
  29. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.ts +1 -1
  30. package/analyzer-template/packages/ai/src/lib/isolateScopes.ts +51 -3
  31. package/analyzer-template/packages/ai/src/lib/mergeStatements.ts +90 -96
  32. package/analyzer-template/packages/ai/src/lib/promptGenerators/gatherAttributesMap.ts +10 -7
  33. package/analyzer-template/packages/ai/src/lib/resolvePathToControllable.ts +25 -13
  34. package/analyzer-template/packages/ai/src/lib/worker/SerializableDataStructure.ts +4 -3
  35. package/analyzer-template/packages/ai/src/lib/worker/analyzeScopeWorker.ts +114 -2
  36. package/analyzer-template/packages/analyze/index.ts +2 -0
  37. package/analyzer-template/packages/analyze/src/lib/FileAnalyzer.ts +65 -59
  38. package/analyzer-template/packages/analyze/src/lib/ProjectAnalyzer.ts +113 -26
  39. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.ts +19 -0
  40. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.ts +19 -0
  41. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllExports.ts +11 -0
  42. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.ts +8 -0
  43. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.ts +49 -1
  44. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.ts +2 -1
  45. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +71 -9
  46. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +19 -4
  47. package/analyzer-template/packages/analyze/src/lib/files/analyze/dependencyResolver.ts +6 -0
  48. package/analyzer-template/packages/analyze/src/lib/files/analyze/gatherEntityMap.ts +4 -2
  49. package/analyzer-template/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.ts +0 -3
  50. package/analyzer-template/packages/analyze/src/lib/files/analyzeRemixRoute.ts +4 -5
  51. package/analyzer-template/packages/analyze/src/lib/files/getImportedExports.ts +14 -12
  52. package/analyzer-template/packages/analyze/src/lib/files/scenarios/TransformationTracer.ts +1315 -0
  53. package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.ts +61 -13
  54. package/analyzer-template/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.ts +37 -0
  55. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +229 -19
  56. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.ts +117 -9
  57. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +459 -39
  58. package/analyzer-template/packages/analyze/src/lib/files/scenarios/propagateArrayItemSchemas.ts +474 -0
  59. package/analyzer-template/packages/analyze/src/lib/files/setImportedExports.ts +2 -1
  60. package/analyzer-template/packages/analyze/src/lib/index.ts +1 -0
  61. package/analyzer-template/packages/analyze/src/lib/utils/getFileByPath.ts +19 -0
  62. package/analyzer-template/packages/aws/package.json +1 -1
  63. package/analyzer-template/packages/database/package.json +1 -1
  64. package/analyzer-template/packages/database/src/lib/kysely/db.ts +8 -1
  65. package/analyzer-template/packages/database/src/lib/kysely/tables/commitsTable.ts +6 -0
  66. package/analyzer-template/packages/database/src/lib/loadAnalyses.ts +58 -1
  67. package/analyzer-template/packages/database/src/lib/loadAnalysis.ts +13 -0
  68. package/analyzer-template/packages/database/src/lib/loadBranch.ts +16 -1
  69. package/analyzer-template/packages/database/src/lib/loadCommit.ts +11 -0
  70. package/analyzer-template/packages/database/src/lib/loadCommits.ts +28 -0
  71. package/analyzer-template/packages/database/src/lib/loadEntities.ts +26 -3
  72. package/analyzer-template/packages/database/src/lib/loadEntityBranches.ts +12 -0
  73. package/analyzer-template/packages/database/src/lib/updateCommitMetadata.ts +7 -14
  74. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts.map +1 -1
  75. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js +8 -1
  76. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js.map +1 -1
  77. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts +1 -0
  78. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts.map +1 -1
  79. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js +3 -0
  80. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js.map +1 -1
  81. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts +2 -0
  82. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts.map +1 -1
  83. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js +45 -2
  84. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js.map +1 -1
  85. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.d.ts.map +1 -1
  86. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js +8 -0
  87. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js.map +1 -1
  88. package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js +11 -1
  89. package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js.map +1 -1
  90. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.d.ts.map +1 -1
  91. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js +7 -0
  92. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js.map +1 -1
  93. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts +3 -1
  94. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts.map +1 -1
  95. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js +22 -1
  96. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js.map +1 -1
  97. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts +3 -1
  98. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts.map +1 -1
  99. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js +23 -4
  100. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js.map +1 -1
  101. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.d.ts.map +1 -1
  102. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js +9 -0
  103. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js.map +1 -1
  104. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts +2 -2
  105. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts.map +1 -1
  106. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js +5 -4
  107. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js.map +1 -1
  108. package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts +2 -0
  109. package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts.map +1 -1
  110. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts +3 -0
  111. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  112. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts +5 -5
  113. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  114. package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
  115. package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.d.ts.map +1 -1
  116. package/analyzer-template/packages/github/package.json +1 -1
  117. package/analyzer-template/packages/types/src/types/Commit.ts +2 -0
  118. package/analyzer-template/packages/types/src/types/ProjectMetadata.ts +1 -0
  119. package/analyzer-template/packages/types/src/types/ScenariosDataStructure.ts +6 -5
  120. package/analyzer-template/packages/types/src/types/ScopeAnalysis.ts +6 -1
  121. package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts +2 -0
  122. package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts.map +1 -1
  123. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts +3 -0
  124. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  125. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts +5 -5
  126. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  127. package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
  128. package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.d.ts.map +1 -1
  129. package/analyzer-template/playwright/capture.ts +20 -8
  130. package/analyzer-template/playwright/captureStatic.ts +1 -1
  131. package/analyzer-template/project/analyzeBaselineCommit.ts +5 -0
  132. package/analyzer-template/project/analyzeRegularCommit.ts +5 -0
  133. package/analyzer-template/project/captureLibraryFunctionDirect.ts +29 -26
  134. package/analyzer-template/project/constructMockCode.ts +90 -10
  135. package/analyzer-template/project/createEntitiesAndSortFiles.ts +83 -0
  136. package/analyzer-template/project/loadReadyToBeCaptured.ts +65 -41
  137. package/analyzer-template/project/orchestrateCapture/AwsCaptureTaskRunner.ts +12 -4
  138. package/analyzer-template/project/orchestrateCapture/SequentialCaptureTaskRunner.ts +11 -6
  139. package/analyzer-template/project/orchestrateCapture/taskRunner.ts +4 -2
  140. package/analyzer-template/project/orchestrateCapture.ts +45 -6
  141. package/analyzer-template/project/start.ts +35 -11
  142. package/analyzer-template/project/writeMockDataTsx.ts +181 -8
  143. package/analyzer-template/project/writeScenarioComponents.ts +103 -12
  144. package/analyzer-template/project/writeSimpleRoot.ts +21 -11
  145. package/analyzer-template/scripts/comboWorkerLoop.cjs +98 -50
  146. package/background/src/lib/virtualized/project/analyzeBaselineCommit.js +5 -0
  147. package/background/src/lib/virtualized/project/analyzeBaselineCommit.js.map +1 -1
  148. package/background/src/lib/virtualized/project/analyzeRegularCommit.js +5 -0
  149. package/background/src/lib/virtualized/project/analyzeRegularCommit.js.map +1 -1
  150. package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js +3 -3
  151. package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js.map +1 -1
  152. package/background/src/lib/virtualized/project/constructMockCode.js +75 -4
  153. package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
  154. package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js +73 -1
  155. package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js.map +1 -1
  156. package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js +19 -8
  157. package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js.map +1 -1
  158. package/background/src/lib/virtualized/project/orchestrateCapture/AwsCaptureTaskRunner.js +2 -2
  159. package/background/src/lib/virtualized/project/orchestrateCapture/AwsCaptureTaskRunner.js.map +1 -1
  160. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js +4 -4
  161. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js.map +1 -1
  162. package/background/src/lib/virtualized/project/orchestrateCapture.js +38 -6
  163. package/background/src/lib/virtualized/project/orchestrateCapture.js.map +1 -1
  164. package/background/src/lib/virtualized/project/start.js +32 -11
  165. package/background/src/lib/virtualized/project/start.js.map +1 -1
  166. package/background/src/lib/virtualized/project/writeMockDataTsx.js +162 -4
  167. package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
  168. package/background/src/lib/virtualized/project/writeScenarioComponents.js +85 -15
  169. package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
  170. package/background/src/lib/virtualized/project/writeSimpleRoot.js +21 -11
  171. package/background/src/lib/virtualized/project/writeSimpleRoot.js.map +1 -1
  172. package/codeyam-cli/scripts/apply-setup.js +180 -0
  173. package/codeyam-cli/scripts/apply-setup.js.map +1 -1
  174. package/codeyam-cli/src/cli.js +2 -0
  175. package/codeyam-cli/src/cli.js.map +1 -1
  176. package/codeyam-cli/src/commands/debug.js +7 -5
  177. package/codeyam-cli/src/commands/debug.js.map +1 -1
  178. package/codeyam-cli/src/commands/memory.js +264 -0
  179. package/codeyam-cli/src/commands/memory.js.map +1 -0
  180. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +2 -2
  181. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
  182. package/codeyam-cli/src/utils/analysisRunner.js +21 -2
  183. package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
  184. package/codeyam-cli/src/utils/backgroundServer.js +4 -0
  185. package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
  186. package/codeyam-cli/src/utils/install-skills.js +55 -10
  187. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  188. package/codeyam-cli/src/utils/queue/job.js +4 -0
  189. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  190. package/codeyam-cli/src/utils/ruleReflection/__tests__/confusionDetector.test.js +82 -0
  191. package/codeyam-cli/src/utils/ruleReflection/__tests__/confusionDetector.test.js.map +1 -0
  192. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js +230 -0
  193. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js.map +1 -0
  194. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js +67 -0
  195. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js.map +1 -0
  196. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/captureFixture.js +105 -0
  197. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/captureFixture.js.map +1 -0
  198. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/loadCapturedFixture.js +34 -0
  199. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/loadCapturedFixture.js.map +1 -0
  200. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/runClaude.js +162 -0
  201. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/runClaude.js.map +1 -0
  202. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js +75 -0
  203. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js.map +1 -0
  204. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js +285 -0
  205. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js.map +1 -0
  206. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js +115 -0
  207. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js.map +1 -0
  208. package/codeyam-cli/src/utils/ruleReflection/__tests__/transcriptParser.test.js +127 -0
  209. package/codeyam-cli/src/utils/ruleReflection/__tests__/transcriptParser.test.js.map +1 -0
  210. package/codeyam-cli/src/utils/ruleReflection/confusionDetector.js +50 -0
  211. package/codeyam-cli/src/utils/ruleReflection/confusionDetector.js.map +1 -0
  212. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js +116 -0
  213. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js.map +1 -0
  214. package/codeyam-cli/src/utils/ruleReflection/index.js +5 -0
  215. package/codeyam-cli/src/utils/ruleReflection/index.js.map +1 -0
  216. package/codeyam-cli/src/utils/ruleReflection/promptBuilder.js +44 -0
  217. package/codeyam-cli/src/utils/ruleReflection/promptBuilder.js.map +1 -0
  218. package/codeyam-cli/src/utils/ruleReflection/transcriptParser.js +85 -0
  219. package/codeyam-cli/src/utils/ruleReflection/transcriptParser.js.map +1 -0
  220. package/codeyam-cli/src/utils/ruleReflection/types.js +5 -0
  221. package/codeyam-cli/src/utils/ruleReflection/types.js.map +1 -0
  222. package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js +293 -0
  223. package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js.map +1 -0
  224. package/codeyam-cli/src/utils/rules/index.js +6 -0
  225. package/codeyam-cli/src/utils/rules/index.js.map +1 -0
  226. package/codeyam-cli/src/utils/rules/parser.js +78 -0
  227. package/codeyam-cli/src/utils/rules/parser.js.map +1 -0
  228. package/codeyam-cli/src/utils/rules/pathMatcher.js +18 -0
  229. package/codeyam-cli/src/utils/rules/pathMatcher.js.map +1 -0
  230. package/codeyam-cli/src/utils/rules/ruleState.js +150 -0
  231. package/codeyam-cli/src/utils/rules/ruleState.js.map +1 -0
  232. package/codeyam-cli/src/utils/rules/staleness.js +137 -0
  233. package/codeyam-cli/src/utils/rules/staleness.js.map +1 -0
  234. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +1 -1
  235. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
  236. package/codeyam-cli/src/webserver/app/lib/database.js +7 -3
  237. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  238. package/codeyam-cli/src/webserver/build/client/assets/CopyButton-CA3JxPb7.js +1 -0
  239. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-B86KKU7e.js +11 -0
  240. package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeBadge-DLqD3qNt.js → EntityTypeBadge-B5ctlSYt.js} +1 -1
  241. package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeIcon-Ba2JVPzP.js → EntityTypeIcon-BqY8gDAW.js} +1 -1
  242. package/codeyam-cli/src/webserver/build/client/assets/{InlineSpinner-C8lyxW9k.js → InlineSpinner-ClaLpuOo.js} +1 -1
  243. package/codeyam-cli/src/webserver/build/client/assets/{InteractivePreview-aht4aafF.js → InteractivePreview-BDhPilK7.js} +2 -2
  244. package/codeyam-cli/src/webserver/build/client/assets/{LibraryFunctionPreview-CVtiBnY5.js → LibraryFunctionPreview-VeqEBv9v.js} +1 -1
  245. package/codeyam-cli/src/webserver/build/client/assets/{LoadingDots-B0GLXMsr.js → LoadingDots-Bs7Nn1Jr.js} +1 -1
  246. package/codeyam-cli/src/webserver/build/client/assets/{LogViewer-xgeCVgSM.js → LogViewer-Bm3PmcCz.js} +1 -1
  247. package/codeyam-cli/src/webserver/build/client/assets/{ReportIssueModal-D4TZhLuw.js → ReportIssueModal-C6PKeMYR.js} +3 -13
  248. package/codeyam-cli/src/webserver/build/client/assets/{SafeScreenshot-DuDvi0jm.js → SafeScreenshot-Gq3Ocjo6.js} +1 -1
  249. package/codeyam-cli/src/webserver/build/client/assets/{ScenarioViewer-DEx02QDa.js → ScenarioViewer-BNLaXBHR.js} +3 -3
  250. package/codeyam-cli/src/webserver/build/client/assets/{TruncatedFilePath-DyFZkK0l.js → TruncatedFilePath-CiwXDxLh.js} +1 -1
  251. package/codeyam-cli/src/webserver/build/client/assets/{_index-BwqWJOgH.js → _index-B3TDXxnk.js} +1 -1
  252. package/codeyam-cli/src/webserver/build/client/assets/{activity.(_tab)-DoLIqZX2.js → activity.(_tab)-BtBFH820.js} +6 -16
  253. package/codeyam-cli/src/webserver/build/client/assets/agent-transcripts-DfKzxuoe.js +11 -0
  254. package/codeyam-cli/src/webserver/build/client/assets/api.memory-profile-l0sNRNKZ.js +1 -0
  255. package/codeyam-cli/src/webserver/build/client/assets/api.save-fixture-l0sNRNKZ.js +1 -0
  256. package/codeyam-cli/src/webserver/build/client/assets/book-open-PttOB2SF.js +6 -0
  257. package/codeyam-cli/src/webserver/build/client/assets/{chevron-down-Cx24_aWc.js → chevron-down-TJp6ofnp.js} +1 -1
  258. package/codeyam-cli/src/webserver/build/client/assets/{chunk-EPOLDU6W-CXRTFQ3F.js → chunk-JZWAC4HX-JE9ZIoBl.js} +12 -12
  259. package/codeyam-cli/src/webserver/build/client/assets/{circle-check-BOARzkeR.js → circle-check-CXhHQYrI.js} +1 -1
  260. package/codeyam-cli/src/webserver/build/client/assets/copy-6y9ALfGT.js +11 -0
  261. package/codeyam-cli/src/webserver/build/client/assets/{createLucideIcon-BdhJEx6B.js → createLucideIcon-Ca9fAY46.js} +1 -1
  262. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-C5lqplTC.js +1 -0
  263. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-C2N4Op8e.js → entity._sha._-n38keI1k.js} +10 -10
  264. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha.scenarios._scenarioId.fullscreen-DavjRmOY.js → entity._sha.scenarios._scenarioId.fullscreen-CBoafmVs.js} +1 -1
  265. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.create-scenario-D1T4TGjf.js → entity._sha_.create-scenario-DGgZjdFg.js} +1 -1
  266. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.edit._scenarioId-CTBG2mmz.js → entity._sha_.edit._scenarioId-38yPijoD.js} +1 -1
  267. package/codeyam-cli/src/webserver/build/client/assets/{entry.client-CS2cb_eZ.js → entry.client-BSHEfydn.js} +1 -1
  268. package/codeyam-cli/src/webserver/build/client/assets/{fileTableUtils-DMJ7zii9.js → fileTableUtils-DCPhhSMo.js} +1 -1
  269. package/codeyam-cli/src/webserver/build/client/assets/files-0N0YJQv7.js +1 -0
  270. package/codeyam-cli/src/webserver/build/client/assets/{git-B4RJRvYB.js → git-DXnyr8uP.js} +8 -8
  271. package/codeyam-cli/src/webserver/build/client/assets/globals-Bh6jH0cL.css +1 -0
  272. package/codeyam-cli/src/webserver/build/client/assets/{index-lzqtyFU8.js → index-CcsFv748.js} +1 -1
  273. package/codeyam-cli/src/webserver/build/client/assets/{index-B1h680n5.js → index-ChN9-fAY.js} +1 -1
  274. package/codeyam-cli/src/webserver/build/client/assets/labs-CdVUfvji.js +1 -0
  275. package/codeyam-cli/src/webserver/build/client/assets/{loader-circle-B7B9V-bu.js → loader-circle-CTqLEAGU.js} +1 -1
  276. package/codeyam-cli/src/webserver/build/client/assets/manifest-87319d0f.js +1 -0
  277. package/codeyam-cli/src/webserver/build/client/assets/memory-CPIDnDEj.js +76 -0
  278. package/codeyam-cli/src/webserver/build/client/assets/pause-D6vreykR.js +11 -0
  279. package/codeyam-cli/src/webserver/build/client/assets/root-D6oziHts.js +62 -0
  280. package/codeyam-cli/src/webserver/build/client/assets/{search-CxXUmBSd.js → search-B8VUL8nl.js} +1 -1
  281. package/codeyam-cli/src/webserver/build/client/assets/{settings-CS5f3WzT.js → settings-eBI36Yv5.js} +1 -1
  282. package/codeyam-cli/src/webserver/build/client/assets/{simulations-DwFIBT09.js → simulations-CPoAg7Zo.js} +1 -1
  283. package/codeyam-cli/src/webserver/build/client/assets/terminal-BrCP7uQo.js +11 -0
  284. package/codeyam-cli/src/webserver/build/client/assets/{triangle-alert-B6LgvRJg.js → triangle-alert-BZz2NjYa.js} +1 -1
  285. package/codeyam-cli/src/webserver/build/client/assets/{useCustomSizes-C1v1PQzo.js → useCustomSizes-DNwUduNu.js} +1 -1
  286. package/codeyam-cli/src/webserver/build/client/assets/{useLastLogLine-aSv48UbS.js → useLastLogLine-COky1GVF.js} +1 -1
  287. package/codeyam-cli/src/webserver/build/client/assets/{useReportContext-DYxHZQuP.js → useReportContext-CpZgwliL.js} +1 -1
  288. package/codeyam-cli/src/webserver/build/client/assets/{useToast-mBRpZPiu.js → useToast-Bv9JFvUO.js} +1 -1
  289. package/codeyam-cli/src/webserver/build/server/assets/index-9ox9LcrG.js +1 -0
  290. package/codeyam-cli/src/webserver/build/server/assets/server-build-Cq5Vqcob.js +260 -0
  291. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  292. package/codeyam-cli/src/webserver/build-info.json +5 -5
  293. package/codeyam-cli/templates/{codeyam-power-rules-hook.sh → codeyam-memory-hook.sh} +12 -13
  294. package/codeyam-cli/templates/codeyam:diagnose.md +178 -25
  295. package/codeyam-cli/templates/codeyam:memory.md +404 -0
  296. package/codeyam-cli/templates/codeyam:new-rule.md +2 -2
  297. package/codeyam-cli/templates/rule-notification-hook.py +56 -0
  298. package/codeyam-cli/templates/rule-reflection-hook.py +590 -0
  299. package/codeyam-cli/templates/rules-instructions.md +123 -0
  300. package/package.json +8 -6
  301. package/packages/ai/index.js +3 -2
  302. package/packages/ai/index.js.map +1 -1
  303. package/packages/ai/src/lib/analyzeScope.js +68 -13
  304. package/packages/ai/src/lib/analyzeScope.js.map +1 -1
  305. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +54 -8
  306. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
  307. package/packages/ai/src/lib/astScopes/methodSemantics.js +41 -17
  308. package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
  309. package/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.js +10 -14
  310. package/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.js.map +1 -1
  311. package/packages/ai/src/lib/astScopes/processExpression.js +239 -43
  312. package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
  313. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +650 -166
  314. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  315. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js +5 -1
  316. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js.map +1 -1
  317. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js +13 -3
  318. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js.map +1 -1
  319. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js +6 -4
  320. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js.map +1 -1
  321. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js +52 -3
  322. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js.map +1 -1
  323. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js +55 -11
  324. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js.map +1 -1
  325. package/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.js +63 -0
  326. package/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.js.map +1 -0
  327. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js +73 -5
  328. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js.map +1 -1
  329. package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js +173 -0
  330. package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js.map +1 -0
  331. package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js +37 -20
  332. package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js.map +1 -1
  333. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +333 -86
  334. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js.map +1 -1
  335. package/packages/ai/src/lib/generateEntityDataStructure.js +46 -2
  336. package/packages/ai/src/lib/generateEntityDataStructure.js.map +1 -1
  337. package/packages/ai/src/lib/generateEntityScenarioData.js +205 -1
  338. package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
  339. package/packages/ai/src/lib/generateEntityScenarios.js +7 -1
  340. package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
  341. package/packages/ai/src/lib/generateExecutionFlows.js +10 -2
  342. package/packages/ai/src/lib/generateExecutionFlows.js.map +1 -1
  343. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js +209 -3
  344. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js.map +1 -1
  345. package/packages/ai/src/lib/isolateScopes.js +39 -3
  346. package/packages/ai/src/lib/isolateScopes.js.map +1 -1
  347. package/packages/ai/src/lib/mergeStatements.js +70 -51
  348. package/packages/ai/src/lib/mergeStatements.js.map +1 -1
  349. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js +10 -4
  350. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js.map +1 -1
  351. package/packages/ai/src/lib/resolvePathToControllable.js +24 -14
  352. package/packages/ai/src/lib/resolvePathToControllable.js.map +1 -1
  353. package/packages/ai/src/lib/worker/SerializableDataStructure.js.map +1 -1
  354. package/packages/ai/src/lib/worker/analyzeScopeWorker.js +94 -1
  355. package/packages/ai/src/lib/worker/analyzeScopeWorker.js.map +1 -1
  356. package/packages/analyze/index.js +1 -0
  357. package/packages/analyze/index.js.map +1 -1
  358. package/packages/analyze/src/lib/FileAnalyzer.js +60 -36
  359. package/packages/analyze/src/lib/FileAnalyzer.js.map +1 -1
  360. package/packages/analyze/src/lib/ProjectAnalyzer.js +96 -26
  361. package/packages/analyze/src/lib/ProjectAnalyzer.js.map +1 -1
  362. package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js +14 -0
  363. package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js.map +1 -1
  364. package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js +14 -0
  365. package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js.map +1 -1
  366. package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js +6 -0
  367. package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js.map +1 -1
  368. package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js +6 -0
  369. package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js.map +1 -1
  370. package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js +39 -1
  371. package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js.map +1 -1
  372. package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js +2 -1
  373. package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js.map +1 -1
  374. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +54 -6
  375. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
  376. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +17 -4
  377. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
  378. package/packages/analyze/src/lib/files/analyze/dependencyResolver.js +5 -0
  379. package/packages/analyze/src/lib/files/analyze/dependencyResolver.js.map +1 -1
  380. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js +2 -1
  381. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js.map +1 -1
  382. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js +0 -3
  383. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js.map +1 -1
  384. package/packages/analyze/src/lib/files/analyzeRemixRoute.js +3 -2
  385. package/packages/analyze/src/lib/files/analyzeRemixRoute.js.map +1 -1
  386. package/packages/analyze/src/lib/files/getImportedExports.js +11 -7
  387. package/packages/analyze/src/lib/files/getImportedExports.js.map +1 -1
  388. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js +880 -0
  389. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js.map +1 -0
  390. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js +56 -10
  391. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js.map +1 -1
  392. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js +33 -8
  393. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js.map +1 -1
  394. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +150 -17
  395. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
  396. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js +56 -8
  397. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js.map +1 -1
  398. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +399 -31
  399. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
  400. package/packages/analyze/src/lib/files/setImportedExports.js +2 -1
  401. package/packages/analyze/src/lib/files/setImportedExports.js.map +1 -1
  402. package/packages/analyze/src/lib/index.js +1 -0
  403. package/packages/analyze/src/lib/index.js.map +1 -1
  404. package/packages/analyze/src/lib/utils/getFileByPath.js +12 -0
  405. package/packages/analyze/src/lib/utils/getFileByPath.js.map +1 -0
  406. package/packages/database/src/lib/kysely/db.js +8 -1
  407. package/packages/database/src/lib/kysely/db.js.map +1 -1
  408. package/packages/database/src/lib/kysely/tables/commitsTable.js +3 -0
  409. package/packages/database/src/lib/kysely/tables/commitsTable.js.map +1 -1
  410. package/packages/database/src/lib/loadAnalyses.js +45 -2
  411. package/packages/database/src/lib/loadAnalyses.js.map +1 -1
  412. package/packages/database/src/lib/loadAnalysis.js +8 -0
  413. package/packages/database/src/lib/loadAnalysis.js.map +1 -1
  414. package/packages/database/src/lib/loadBranch.js +11 -1
  415. package/packages/database/src/lib/loadBranch.js.map +1 -1
  416. package/packages/database/src/lib/loadCommit.js +7 -0
  417. package/packages/database/src/lib/loadCommit.js.map +1 -1
  418. package/packages/database/src/lib/loadCommits.js +22 -1
  419. package/packages/database/src/lib/loadCommits.js.map +1 -1
  420. package/packages/database/src/lib/loadEntities.js +23 -4
  421. package/packages/database/src/lib/loadEntities.js.map +1 -1
  422. package/packages/database/src/lib/loadEntityBranches.js +9 -0
  423. package/packages/database/src/lib/loadEntityBranches.js.map +1 -1
  424. package/packages/database/src/lib/updateCommitMetadata.js +5 -4
  425. package/packages/database/src/lib/updateCommitMetadata.js.map +1 -1
  426. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-BXhEawa3.js +0 -1
  427. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-BRb-0kQl.js +0 -1
  428. package/codeyam-cli/src/webserver/build/client/assets/files-Cs4MdYtv.js +0 -1
  429. package/codeyam-cli/src/webserver/build/client/assets/git-commit-horizontal-CysbcZxi.js +0 -6
  430. package/codeyam-cli/src/webserver/build/client/assets/globals-DMUaGAqV.css +0 -1
  431. package/codeyam-cli/src/webserver/build/client/assets/manifest-f874c610.js +0 -1
  432. package/codeyam-cli/src/webserver/build/client/assets/root-Bz5TunQg.js +0 -57
  433. package/codeyam-cli/src/webserver/build/client/assets/rules-hEkvVw2-.js +0 -97
  434. package/codeyam-cli/src/webserver/build/server/assets/index-967OuJoF.js +0 -1
  435. package/codeyam-cli/src/webserver/build/server/assets/server-build-DRTmerg9.js +0 -257
  436. package/codeyam-cli/templates/codeyam:power-rules.md +0 -447
  437. /package/codeyam-cli/src/webserver/build/client/assets/{api.rules-l0sNRNKZ.js → api.agent-transcripts-l0sNRNKZ.js} +0 -0
@@ -987,10 +987,19 @@ function addMockToContent(
987
987
  /[.*+?^${}()|[\]\\]/g,
988
988
  '\\$&',
989
989
  );
990
- // Create regex that matches the call (with optional whitespace variations)
990
+ // Create regex that matches the call (with optional whitespace variations).
991
+ // TypeScript formatters commonly break type parameters across lines, e.g.:
992
+ // useLoaderData<
993
+ // typeof loader
994
+ // >()
995
+ // So we allow optional whitespace around < and > delimiters, not just
996
+ // where whitespace already exists in the call signature string.
991
997
  const callRegex = new RegExp(
992
- escapedCallSignature.replace(/\s+/g, '\\s*'),
993
- 'g',
998
+ escapedCallSignature
999
+ .replace(/\s+/g, '\\s*')
1000
+ .replace(/</g, '\\s*<\\s*')
1001
+ .replace(/>/g, '\\s*>\\s*'),
1002
+ 'gs',
994
1003
  );
995
1004
  fileContent = fileContent.replace(callRegex, `${mockFunctionName}()`);
996
1005
  }
@@ -1012,15 +1021,29 @@ function addMockToContent(
1012
1021
  rootAnalysis.metadata?.scenariosDataStructure?.dataForMocks;
1013
1022
 
1014
1023
  // Find matching call signature key in dataForMocks
1024
+ // IMPORTANT: First try exact match with type parameters (e.g., "useLoaderData<LoaderData>()")
1025
+ // to avoid picking the wrong variant (e.g., "useLoaderData<typeof loader>()" which may
1026
+ // have different properties). Fall back to base name matching only if exact match fails.
1015
1027
  const hookBaseName = importedExport.name.split(/[<(]/)[0];
1016
- const callSignatureKey = dataForMocks
1017
- ? Object.keys(dataForMocks).find((key) => {
1028
+ const expectedKey = importedExport.calls?.[0];
1029
+ let callSignatureKey: string | undefined;
1030
+
1031
+ if (dataForMocks) {
1032
+ const keys = Object.keys(dataForMocks);
1033
+
1034
+ // First try exact match with the expected call signature
1035
+ if (expectedKey && keys.includes(expectedKey)) {
1036
+ callSignatureKey = expectedKey;
1037
+ } else {
1038
+ // Fall back to base name matching
1039
+ callSignatureKey = keys.find((key) => {
1018
1040
  // Split on ., <, or ( to get the true base name
1019
1041
  // This handles both "useFlags()" -> "useFlags" and "trpc.useUtils()" -> "trpc"
1020
1042
  const keyBaseName = key.split(/[.<(]/)[0];
1021
1043
  return keyBaseName === hookBaseName;
1022
- })
1023
- : undefined;
1044
+ });
1045
+ }
1046
+ }
1024
1047
 
1025
1048
  // Use the call signature if found, otherwise construct it
1026
1049
  const dataKey =
@@ -1061,18 +1084,36 @@ function addMockToContent(
1061
1084
  // IMPORTANT: We inline scenarios().data() inside the function rather than
1062
1085
  // storing in a const - see comment in constructMockCode.ts for why.
1063
1086
  if (!mockCode) {
1064
- mockCode = `function ${importedExport.name}(...args) {
1065
- return scenarios().data()?.["${dataKey}"];
1087
+ mockCode = `// PATCHED: memoize to return stable reference (prevents infinite useEffect re-triggers)
1088
+ const _${importedExport.name}Ref = {
1089
+ current: null,
1090
+ };
1091
+ function ${importedExport.name}(...args) {
1092
+ if (!_${importedExport.name}Ref.current) {
1093
+ _${importedExport.name}Ref.current = scenarios().data()?.["${dataKey}"];
1094
+ }
1095
+ return _${importedExport.name}Ref.current;
1066
1096
  }`;
1067
1097
  }
1068
1098
  } else {
1069
1099
  // Helper to find matching call signature key from dataForMocks
1100
+ // IMPORTANT: First try exact match with type parameters (e.g., "useLoaderData<LoaderData>()")
1101
+ // to avoid picking the wrong variant. Fall back to base name matching only if needed.
1070
1102
  const hookBaseName = importedExport.name.split(/[<(]/)[0];
1103
+ const expectedKey = importedExport.calls?.[0];
1071
1104
  const findMatchingKey = (
1072
1105
  dataForMocks: Record<string, unknown> | undefined,
1073
1106
  ): string | undefined => {
1074
1107
  if (!dataForMocks) return undefined;
1075
- return Object.keys(dataForMocks).find((key) => {
1108
+ const keys = Object.keys(dataForMocks);
1109
+
1110
+ // First try exact match with the expected call signature
1111
+ if (expectedKey && keys.includes(expectedKey)) {
1112
+ return expectedKey;
1113
+ }
1114
+
1115
+ // Fall back to base name matching
1116
+ return keys.find((key) => {
1076
1117
  // Split on ., <, or ( to get the true base name
1077
1118
  // This handles both "useFlags()" -> "useFlags" and "trpc.useUtils()" -> "trpc"
1078
1119
  const keyBaseName = key.split(/[.<(]/)[0];
@@ -1131,8 +1172,15 @@ function addMockToContent(
1131
1172
  // IMPORTANT: We inline scenarios().data() inside the function rather than
1132
1173
  // storing in a const - see comment in constructMockCode.ts for why.
1133
1174
  if (!mockCode && dataKey) {
1134
- mockCode = `function ${importedExport.name}(...args) {
1135
- return scenarios().data()?.["${dataKey}"];
1175
+ mockCode = `// PATCHED: memoize to return stable reference (prevents infinite useEffect re-triggers)
1176
+ const _${importedExport.name}Ref = {
1177
+ current: null,
1178
+ };
1179
+ function ${importedExport.name}(...args) {
1180
+ if (!_${importedExport.name}Ref.current) {
1181
+ _${importedExport.name}Ref.current = scenarios().data()?.["${dataKey}"];
1182
+ }
1183
+ return _${importedExport.name}Ref.current;
1136
1184
  }`;
1137
1185
  }
1138
1186
  }
@@ -1205,6 +1253,21 @@ function addMockToContent(
1205
1253
  fileContent = fileContent.replace(importRegExp, '$1$2');
1206
1254
  }
1207
1255
 
1256
+ // Also handle namespace imports (import * as foo from '...')
1257
+ // These need to be renamed to foo__cyOriginal when the mock code spreads from the original.
1258
+ // Note: We match any path (not just escapedImportPath) because the import path may have
1259
+ // been rewritten by transitive import handling before this code runs.
1260
+ if (shouldRenameToOriginal) {
1261
+ const namespaceImportRegExp = new RegExp(
1262
+ `(import\\s+\\*\\s+as\\s+)${escapeRegExp(firstPart)}(\\s+from\\s+['"][^'"]*['"])`,
1263
+ 'm',
1264
+ );
1265
+ fileContent = fileContent.replace(
1266
+ namespaceImportRegExp,
1267
+ `$1${firstPart}__cyOriginal$2`,
1268
+ );
1269
+ }
1270
+
1208
1271
  // Remove empty imports entirely to avoid partial commenting issues with multiline imports
1209
1272
  // This handles both single-line and multiline empty imports
1210
1273
  fileContent = fileContent.replace(
@@ -2916,6 +2979,34 @@ ${exportKeyword}const ${functionName} = new Proxy(() => scenarios().data()?.["${
2916
2979
  // Scenario: ${scenario.id} - ${scenario.name}
2917
2980
  `;
2918
2981
 
2982
+ // Final pass: Rename any namespace imports (import * as X from '...') that have
2983
+ // corresponding mock code using ...X__cyOriginal spread pattern.
2984
+ // This handles cases where:
2985
+ // 1. The import path was rewritten by transitive import handling
2986
+ // 2. The import wasn't caught by the earlier renaming logic
2987
+ // We scan for all __cyOriginal references in the mock code and ensure the imports are renamed.
2988
+ const cyOriginalReferences = fileContent.match(/\.\.\.(\w+)__cyOriginal/g);
2989
+ if (cyOriginalReferences) {
2990
+ const uniqueNames = [
2991
+ ...new Set(
2992
+ cyOriginalReferences.map((ref) =>
2993
+ ref.replace('...', '').replace('__cyOriginal', ''),
2994
+ ),
2995
+ ),
2996
+ ];
2997
+ for (const name of uniqueNames) {
2998
+ // Match namespace imports for this name that haven't been renamed yet
2999
+ const namespaceImportRegex = new RegExp(
3000
+ `(import\\s+\\*\\s+as\\s+)${escapeRegExp(name)}(\\s+from\\s+['"][^'"]*['"])`,
3001
+ 'g',
3002
+ );
3003
+ fileContent = fileContent.replace(
3004
+ namespaceImportRegex,
3005
+ `$1${name}__cyOriginal$2`,
3006
+ );
3007
+ }
3008
+ }
3009
+
2919
3010
  // Use the directive that was extracted at the beginning of processing
2920
3011
  // This ensures it stays at the very top even after imports are prepended
2921
3012
  // NOTE: We only preserve "use client" directives, NOT "use server" directives.
@@ -277,16 +277,17 @@ export default async function writeSimpleRoot(
277
277
  let mockKey: string | undefined;
278
278
 
279
279
  if (matchingKeys.length > 1) {
280
- // Parse root.tsx to find how this hook is used
281
- // Look for patterns like: const { prop1, prop2 } = useLoaderData()
282
- // or: const result = useLoaderData()
280
+ // Parse root.tsx to find how this hook is used, INCLUDING type parameters
281
+ // Look for patterns like: const { prop1, prop2 } = useLoaderData<LoaderData>()
282
+ // or: const result = useLoaderData<typeof loader>()
283
283
  const hookUsageRegex = new RegExp(
284
- `(?:const|let|var)\\s+(?:\\{([^}]+)\\}|([a-zA-Z_][a-zA-Z0-9_]*))\\s*=\\s*${entityName}(?:<[^>]*>)?\\s*\\(`,
284
+ `(?:const|let|var)\\s+(?:\\{([^}]+)\\}|([a-zA-Z_][a-zA-Z0-9_]*))\\s*=\\s*${entityName}(<[^>]+>)?\\s*\\(`,
285
285
  'g',
286
286
  );
287
287
 
288
288
  const matches = [...newContent.matchAll(hookUsageRegex)];
289
289
  const rootPropertyNames: string[] = [];
290
+ const typeParamsUsed: Set<string> = new Set();
290
291
 
291
292
  for (const match of matches) {
292
293
  if (match[1]) {
@@ -300,17 +301,26 @@ export default async function writeSimpleRoot(
300
301
  // Simple assignment: const result = ...
301
302
  rootPropertyNames.push(match[2]);
302
303
  }
304
+ // Capture type parameters used (e.g., "<LoaderData>", "<typeof loader>")
305
+ if (match[3]) {
306
+ typeParamsUsed.add(match[3]);
307
+ }
303
308
  }
304
309
 
305
- // Find a key that matches by call signature
306
- // For call signature format (e.g., "useLoaderData()"), just use the first match
307
- mockKey = matchingKeys[0];
310
+ // First, try to find a key that matches the exact type parameters used in the source
311
+ // e.g., if source has useLoaderData<LoaderData>(), prefer "useLoaderData<LoaderData>()" key
312
+ if (typeParamsUsed.size > 0) {
313
+ for (const typeParam of typeParamsUsed) {
314
+ const exactKey = `${entityName}${typeParam}()`;
315
+ if (matchingKeys.includes(exactKey)) {
316
+ mockKey = exactKey;
317
+ break;
318
+ }
319
+ }
320
+ }
308
321
 
309
- // Fallback: if no match found but there are multiple keys,
310
- // exclude the route's key (which we can identify from mockedImports variable names)
322
+ // Fallback: if no exact type parameter match, use the first match
311
323
  if (!mockKey) {
312
- // The route's variable names would be in its own analysis
313
- // For simplicity, just use the first key that's different from the most common pattern
314
324
  mockKey = matchingKeys[0];
315
325
  }
316
326
  } else if (matchingKeys.length === 1) {
@@ -121,10 +121,11 @@ const validateFiles = async () => {
121
121
  }
122
122
  };
123
123
 
124
- const createLinePrefixer = (stream, processName, outputStream) => {
124
+ const createLinePrefixer = (stream, processName, outputStream, onActivity) => {
125
125
  let buffer = '';
126
126
 
127
127
  stream.on('data', (chunk) => {
128
+ if (onActivity) onActivity();
128
129
  buffer += chunk.toString();
129
130
  const lines = buffer.split('\n');
130
131
 
@@ -147,19 +148,20 @@ const createLinePrefixer = (stream, processName, outputStream) => {
147
148
  };
148
149
 
149
150
  const spawnProcess = (command, args, processName, env = {}) => {
150
- return new Promise((resolve, reject) => {
151
- const childProcess = spawn(command, args, {
152
- shell: true,
153
- stdio: ['inherit', 'pipe', 'pipe'], // Inherit stdin, pipe stdout/stderr
154
- env: { ...process.env, ...env },
155
- });
151
+ const childProcess = spawn(command, args, {
152
+ stdio: ['inherit', 'pipe', 'pipe'],
153
+ env: { ...process.env, ...env },
154
+ });
156
155
 
157
- console.log(`Started ${processName} process with PID ${childProcess.pid}`);
158
- childProcesses.add(childProcess);
156
+ console.log(`Started ${processName} process with PID ${childProcess.pid}`);
157
+ childProcesses.add(childProcess);
159
158
 
160
- // Set up prefixed output for stdout and stderr
161
- createLinePrefixer(childProcess.stdout, processName, process.stdout);
162
- createLinePrefixer(childProcess.stderr, processName, process.stderr);
159
+ let lastActivityTime = Date.now();
160
+ const updateActivity = () => { lastActivityTime = Date.now(); };
161
+
162
+ const promise = new Promise((resolve, reject) => {
163
+ createLinePrefixer(childProcess.stdout, processName, process.stdout, updateActivity);
164
+ createLinePrefixer(childProcess.stderr, processName, process.stderr, updateActivity);
163
165
 
164
166
  childProcess.on('close', (code, signal) => {
165
167
  console.log(
@@ -169,7 +171,6 @@ const spawnProcess = (command, args, processName, env = {}) => {
169
171
  if (code === 0) {
170
172
  resolve();
171
173
  } else if (code === null && signal && isCleaningUp) {
172
- // Process was killed by signal during cleanup - this is expected, not an error
173
174
  console.log(
174
175
  `${processName} process was terminated by ${signal} during cleanup`,
175
176
  );
@@ -189,11 +190,13 @@ const spawnProcess = (command, args, processName, env = {}) => {
189
190
  reject(error);
190
191
  });
191
192
  });
193
+
194
+ return { promise, childProcess, getLastActivity: () => lastActivityTime };
192
195
  };
193
196
 
194
197
  const startPlaywrightCapture = () => {
195
198
  console.log('Starting Playwright capture service...');
196
- return spawnProcess(
199
+ const { promise } = spawnProcess(
197
200
  'node',
198
201
  [
199
202
  '--enable-source-maps',
@@ -204,40 +207,65 @@ const startPlaywrightCapture = () => {
204
207
  'playwright',
205
208
  { PROJECT_URL: 'http://localhost:3000' },
206
209
  );
210
+ return promise;
207
211
  };
208
212
 
209
213
  const runProjectSimulation = async (analysisIds) => {
210
- try {
211
- // server now uses rsync, so project directory is guaranteed clean, just ensure it exists
212
- await fs.mkdir(FIXED_PROJECT_PATH, { recursive: true });
214
+ await fs.mkdir(FIXED_PROJECT_PATH, { recursive: true });
213
215
 
214
- const analysisIdString = analysisIds.join(',');
215
- console.log(
216
- `Starting project simulation for analysis IDs: ${analysisIdString}`,
217
- );
216
+ const analysisIdString = analysisIds.join(',');
217
+ console.log(
218
+ `Starting project simulation for analysis IDs: ${analysisIdString}`,
219
+ );
218
220
 
219
- return spawnProcess(
220
- 'node',
221
- [
222
- '--enable-source-maps',
223
- './dist/project/start.js',
224
- '--packageManager',
225
- process.env.PACKAGE_MANAGER,
226
- '--absoluteProjectRootPath',
227
- FIXED_PROJECT_PATH,
228
- '--absoluteTempPath',
229
- FIXED_TEMP_PATH,
230
- '--port',
231
- '3000',
232
- '--framework',
233
- process.env.FRAMEWORK,
234
- ],
235
- 'project',
236
- { ANALYSIS_IDS: analysisIdString, READY_TO_BE_CAPTURED: 'true' },
237
- );
238
- } catch (error) {
239
- throw new Error(`Failed to run project simulation: ${error.message}`);
221
+ return spawnProcess(
222
+ 'node',
223
+ [
224
+ '--enable-source-maps',
225
+ './dist/project/start.js',
226
+ '--packageManager',
227
+ process.env.PACKAGE_MANAGER,
228
+ '--absoluteProjectRootPath',
229
+ FIXED_PROJECT_PATH,
230
+ '--absoluteTempPath',
231
+ FIXED_TEMP_PATH,
232
+ '--port',
233
+ '3000',
234
+ '--framework',
235
+ process.env.FRAMEWORK,
236
+ ],
237
+ 'project',
238
+ { ANALYSIS_IDS: analysisIdString, READY_TO_BE_CAPTURED: 'true' },
239
+ );
240
+ };
241
+
242
+ const killChildProcess = async (childProcess, processName) => {
243
+ if (!childProcess || childProcess.exitCode !== null || childProcess.killed) {
244
+ return;
240
245
  }
246
+ console.log(`Killing ${processName} process (PID ${childProcess.pid}) after timeout/stall`);
247
+ try {
248
+ process.kill(childProcess.pid, 'SIGTERM');
249
+ } catch (err) { /* already dead */ }
250
+
251
+ await new Promise((resolve) => {
252
+ const checkInterval = setInterval(() => {
253
+ if (!isProcessAlive(childProcess.pid)) {
254
+ clearInterval(checkInterval);
255
+ resolve();
256
+ }
257
+ }, 500);
258
+ setTimeout(() => {
259
+ clearInterval(checkInterval);
260
+ if (isProcessAlive(childProcess.pid)) {
261
+ try { process.kill(childProcess.pid, 'SIGKILL'); } catch (err) { /* ignore */ }
262
+ console.log(`Force-killed ${processName} process (PID ${childProcess.pid})`);
263
+ }
264
+ resolve();
265
+ }, 5000);
266
+ });
267
+
268
+ childProcesses.delete(childProcess);
241
269
  };
242
270
 
243
271
  const isQueueNotExistsError = (error) => {
@@ -317,19 +345,38 @@ const processWorkMessage = async (sqs, message, queueUrl, controlQueueUrl) => {
317
345
  }, timeoutMs);
318
346
  });
319
347
 
320
- try {
321
- // Race between the actual work and the timeout
322
- await Promise.race([
323
- runProjectSimulation(body.analysisIds),
324
- timeoutPromise,
325
- ]);
348
+ let projectProcess = null;
349
+ let stallHandle = null;
350
+ let batchSuccess = false;
326
351
 
352
+ try {
353
+ const { promise: simulationPromise, childProcess, getLastActivity } =
354
+ await runProjectSimulation(body.analysisIds);
355
+ projectProcess = childProcess;
356
+
357
+ // Stall detection: abort if no output for 10 minutes
358
+ const STALL_TIMEOUT_MS = 10 * 60 * 1000;
359
+ const stallPromise = new Promise((_, reject) => {
360
+ stallHandle = setInterval(() => {
361
+ const silentMs = Date.now() - getLastActivity();
362
+ if (silentMs >= STALL_TIMEOUT_MS) {
363
+ reject(new Error(`Project process stalled (no output for ${Math.round(silentMs / 60000)} min)`));
364
+ }
365
+ }, 60000);
366
+ });
367
+
368
+ await Promise.race([simulationPromise, timeoutPromise, stallPromise]);
369
+
370
+ batchSuccess = true;
327
371
  console.log(`Successfully processed analysis IDs: ${analysisIdString}`);
328
372
  } finally {
373
+ if (stallHandle) clearInterval(stallHandle);
329
374
  if (visibilityInterval) clearInterval(visibilityInterval);
330
375
  if (timeoutHandle) clearTimeout(timeoutHandle);
331
376
 
332
- // Send batch completion notification to control queue
377
+ await killChildProcess(projectProcess, 'project');
378
+
379
+ // Send batch completion notification to control queue with success/failure status
333
380
  try {
334
381
  await sqs.send(
335
382
  new SendMessageCommand({
@@ -337,11 +384,12 @@ const processWorkMessage = async (sqs, message, queueUrl, controlQueueUrl) => {
337
384
  MessageBody: JSON.stringify({
338
385
  type: 'batch_completed',
339
386
  analysisIds: body.analysisIds,
387
+ success: batchSuccess,
340
388
  }),
341
389
  }),
342
390
  );
343
391
  console.log(
344
- `Sent batch completion notification for ${body.analysisIds.length} analyses`,
392
+ `Sent batch completion notification (success=${batchSuccess}) for ${body.analysisIds.length} analyses`,
345
393
  );
346
394
  } catch (error) {
347
395
  // Log error but don't fail - orchestrator will eventually timeout/abandon
@@ -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":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EACL,yBAAyB,EACzB,sCAAsC,EACtC,YAAY,GACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAE1E;;;GAGG;AACH,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,4BAA4B,CACxD,QAAkB,EAClB,QAAkB;IAElB,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;IAE5B,MAAM,CAAC,mDAAmD,EAAE;QAC1D,UAAU,EAAE,QAAQ,CAAC,EAAE;QACvB,UAAU,EAAE,MAAM,CAAC,IAAI;QACvB,YAAY,EAAE,QAAQ,CAAC,IAAI;KAC5B,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,8DAA8D;QAC9D,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC;gBACtC,EAAE,EAAE,QAAQ,CAAC,EAAE;gBACf,WAAW,EAAE,IAAI;aAClB,CAAC,CAAC;YAEH,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;YACrE,CAAC;YAED,QAAQ,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;QACpC,CAAC;QAED,2BAA2B;QAC3B,MAAM,yBAAyB,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE;YACxE,WAAW,CAAC,SAAS,KAArB,WAAW,CAAC,SAAS,GAAK,EAAE,EAAC;YAC7B,MAAM,cAAc,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAChC,CAAC;YACF,IAAI,cAAc,EAAE,CAAC;gBACnB,cAAc,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACpD,OAAO,cAAc,CAAC,KAAK,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC;oBACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,gCAAgC;QAChC,MAAM,eAAe,GAAG,MAAM,4BAA4B,CACxD,QAAQ,EACR,QAAQ,CACT,CAAC;QAEF,MAAM,CAAC,2BAA2B,EAAE;YAClC,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,UAAU,EAAE,MAAM,CAAC,IAAI;YACvB,YAAY,EAAE,QAAQ,CAAC,IAAI;YAC3B,QAAQ,EAAE,CAAC,CAAC,eAAe,CAAC,KAAK;YACjC,WAAW,EAAE,eAAe,CAAC,WAAW;SACzC,CAAC,CAAC;QAEH,kDAAkD;QAClD,MAAM,sCAAsC,CAC1C,QAAQ,CAAC,EAAE,EACX,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE;YACrB,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnE,IAAI,cAAc,EAAE,CAAC;gBACnB,cAAc,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,IAAI,EAAE,CAAC;gBACxD,cAAc,CAAC,QAAQ,CAAC,eAAe,GAAG,eAAe,CAAC;YAC5D,CAAC;QACH,CAAC,CACF,CAAC;QAEF,4BAA4B;QAC5B,MAAM,yBAAyB,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE;YACvE,WAAW,CAAC,SAAS,KAArB,WAAW,CAAC,SAAS,GAAK,EAAE,EAAC;YAC7B,MAAM,cAAc,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAChC,CAAC;YACF,IAAI,cAAc,EAAE,CAAC;gBACnB,cAAc,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC;oBACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACrC,CAAC,CAAC;YACL,CAAC;YAED,kCAAkC;YAClC,MAAM,qBAAqB,GACzB,WAAW,CAAC,SAAS,CAAC,MAAM,IAAI,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC;YAC/D,IACE,qBAAqB;gBACrB,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAClD,CAAC;gBACD,WAAW,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAClD,WAAW,CAAC,iBAAiB,GAAG,KAAK,CAAC;YACxC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,mDAAmD,EAAE;YAC1D,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,UAAU,EAAE,MAAM,CAAC,IAAI;YACvB,YAAY,EAAE,QAAQ,CAAC,IAAI;SAC5B,CAAC,CAAC;QAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,4DAA4D,EAAE;YACnE,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,UAAU,EAAE,MAAM,CAAC,IAAI;YACvB,YAAY,EAAE,QAAQ,CAAC,IAAI;YAC3B,KAAK,EAAE,KAAK,CAAC,OAAO;SACrB,CAAC,CAAC;QAEH,2BAA2B;QAC3B,MAAM,yBAAyB,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE;YACxE,WAAW,CAAC,SAAS,KAArB,WAAW,CAAC,SAAS,GAAK,EAAE,EAAC;YAC7B,MAAM,cAAc,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAChC,CAAC;YACF,IAAI,cAAc,EAAE,CAAC;gBACnB,cAAc,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;gBACrC,cAAc,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;IAClD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"captureLibraryFunctionDirect.js","sourceRoot":"","sources":["../../../../../../../background/src/lib/virtualized/project/captureLibraryFunctionDirect.ts"],"names":[],"mappings":"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"}