@codeyam/codeyam-cli 0.1.0-staging.d3e886e → 0.1.0-staging.d4f25c3

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 (730) 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 +23 -23
  4. package/analyzer-template/packages/ai/package.json +3 -3
  5. package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +34 -3
  6. package/analyzer-template/packages/ai/src/lib/completionCall.ts +114 -113
  7. package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +259 -5
  8. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/coercePrimitivesToArraysBySchema.ts +62 -0
  9. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.ts +35 -0
  10. package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +78 -2
  11. package/analyzer-template/packages/ai/src/lib/generateExecutionFlows.ts +0 -33
  12. package/analyzer-template/packages/analyze/src/lib/ProjectAnalyzer.ts +19 -7
  13. package/analyzer-template/packages/analyze/src/lib/asts/index.ts +7 -2
  14. package/analyzer-template/packages/analyze/src/lib/asts/nodes/getNodeType.ts +1 -0
  15. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +9 -1
  16. package/analyzer-template/packages/analyze/src/lib/files/analyze/dependencyResolver.ts +0 -6
  17. package/analyzer-template/packages/analyze/src/lib/files/analyze/findOrCreateEntity.ts +12 -0
  18. package/analyzer-template/packages/analyze/src/lib/files/scenarios/TransformationTracer.ts +65 -28
  19. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +83 -0
  20. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.ts +0 -98
  21. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +23 -4
  22. package/analyzer-template/packages/aws/package.json +10 -10
  23. package/analyzer-template/packages/database/index.ts +1 -0
  24. package/analyzer-template/packages/database/package.json +3 -3
  25. package/analyzer-template/packages/database/src/lib/kysely/db.ts +8 -0
  26. package/analyzer-template/packages/database/src/lib/kysely/tables/editorScenariosTable.ts +164 -0
  27. package/analyzer-template/packages/database/src/lib/loadCommits.ts +31 -20
  28. package/analyzer-template/packages/database/src/lib/loadEntities.ts +0 -6
  29. package/analyzer-template/packages/database/src/lib/loadReadyToBeCapturedAnalyses.ts +0 -5
  30. package/analyzer-template/packages/database/src/lib/updateCommitMetadata.ts +94 -143
  31. package/analyzer-template/packages/database/src/lib/updateFreshAnalysisStatus.ts +58 -42
  32. package/analyzer-template/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.ts +81 -65
  33. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.ts +29 -1
  34. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.ts +33 -5
  35. package/analyzer-template/packages/github/dist/database/index.d.ts +1 -0
  36. package/analyzer-template/packages/github/dist/database/index.d.ts.map +1 -1
  37. package/analyzer-template/packages/github/dist/database/index.js +1 -0
  38. package/analyzer-template/packages/github/dist/database/index.js.map +1 -1
  39. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts +2 -0
  40. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts.map +1 -1
  41. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js +5 -0
  42. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js.map +1 -1
  43. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.d.ts +29 -0
  44. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.d.ts.map +1 -0
  45. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.js +149 -0
  46. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.js.map +1 -0
  47. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts +5 -0
  48. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts.map +1 -1
  49. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts.map +1 -1
  50. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js +23 -13
  51. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js.map +1 -1
  52. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts.map +1 -1
  53. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js +0 -6
  54. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js.map +1 -1
  55. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.d.ts.map +1 -1
  56. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js +1 -4
  57. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
  58. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts.map +1 -1
  59. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js +76 -90
  60. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js.map +1 -1
  61. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.d.ts.map +1 -1
  62. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.js +41 -30
  63. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.js.map +1 -1
  64. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.d.ts.map +1 -1
  65. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.js +68 -57
  66. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +1 -1
  67. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.d.ts.map +1 -1
  68. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +29 -1
  69. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -1
  70. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.d.ts.map +1 -1
  71. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +33 -5
  72. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  73. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.d.ts +2 -0
  74. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.d.ts.map +1 -1
  75. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.js +2 -0
  76. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.js.map +1 -1
  77. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts +1 -0
  78. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  79. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts +10 -0
  80. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts.map +1 -1
  81. package/analyzer-template/packages/github/package.json +1 -1
  82. package/analyzer-template/packages/types/src/enums/ProjectFramework.ts +2 -0
  83. package/analyzer-template/packages/types/src/types/ProjectMetadata.ts +1 -0
  84. package/analyzer-template/packages/types/src/types/Scenario.ts +10 -0
  85. package/analyzer-template/packages/ui-components/package.json +1 -1
  86. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.d.ts +2 -0
  87. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.d.ts.map +1 -1
  88. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.js +2 -0
  89. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.js.map +1 -1
  90. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts +1 -0
  91. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  92. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts +10 -0
  93. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts.map +1 -1
  94. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.d.ts.map +1 -1
  95. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js +6 -2
  96. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js.map +1 -1
  97. package/analyzer-template/packages/utils/src/lib/fs/rsyncCopy.ts +14 -2
  98. package/analyzer-template/playwright/captureFromUrl.ts +89 -82
  99. package/analyzer-template/project/constructMockCode.ts +168 -48
  100. package/analyzer-template/project/orchestrateCapture.ts +4 -1
  101. package/analyzer-template/project/reconcileMockDataKeys.ts +19 -14
  102. package/analyzer-template/project/start.ts +3 -0
  103. package/analyzer-template/project/startScenarioCapture.ts +9 -0
  104. package/analyzer-template/project/writeClientLogRoute.ts +125 -0
  105. package/analyzer-template/project/writeMockDataTsx.ts +17 -0
  106. package/analyzer-template/project/writeScenarioComponents.ts +96 -17
  107. package/analyzer-template/tsconfig.json +13 -1
  108. package/background/src/lib/virtualized/project/constructMockCode.js +143 -39
  109. package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
  110. package/background/src/lib/virtualized/project/orchestrateCapture.js +4 -1
  111. package/background/src/lib/virtualized/project/orchestrateCapture.js.map +1 -1
  112. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +17 -11
  113. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
  114. package/background/src/lib/virtualized/project/start.js +2 -0
  115. package/background/src/lib/virtualized/project/start.js.map +1 -1
  116. package/background/src/lib/virtualized/project/startScenarioCapture.js +5 -0
  117. package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
  118. package/background/src/lib/virtualized/project/writeClientLogRoute.js +110 -0
  119. package/background/src/lib/virtualized/project/writeClientLogRoute.js.map +1 -0
  120. package/background/src/lib/virtualized/project/writeMockDataTsx.js +12 -0
  121. package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
  122. package/background/src/lib/virtualized/project/writeScenarioComponents.js +73 -12
  123. package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
  124. package/codeyam-cli/scripts/apply-setup.js +208 -11
  125. package/codeyam-cli/scripts/apply-setup.js.map +1 -1
  126. package/codeyam-cli/src/__tests__/memory-scripts/filter-session.test.js +196 -0
  127. package/codeyam-cli/src/__tests__/memory-scripts/filter-session.test.js.map +1 -0
  128. package/codeyam-cli/src/__tests__/memory-scripts/read-json-field.test.js +114 -0
  129. package/codeyam-cli/src/__tests__/memory-scripts/read-json-field.test.js.map +1 -0
  130. package/codeyam-cli/src/__tests__/memory-scripts/ripgrep-fallback.test.js +149 -0
  131. package/codeyam-cli/src/__tests__/memory-scripts/ripgrep-fallback.test.js.map +1 -0
  132. package/codeyam-cli/src/cli.js +41 -25
  133. package/codeyam-cli/src/cli.js.map +1 -1
  134. package/codeyam-cli/src/commands/__tests__/editor.isolateArgs.test.js +51 -0
  135. package/codeyam-cli/src/commands/__tests__/editor.isolateArgs.test.js.map +1 -0
  136. package/codeyam-cli/src/commands/__tests__/editor.stepDispatch.test.js +56 -0
  137. package/codeyam-cli/src/commands/__tests__/editor.stepDispatch.test.js.map +1 -0
  138. package/codeyam-cli/src/commands/__tests__/init.gitignore.test.js +101 -47
  139. package/codeyam-cli/src/commands/__tests__/init.gitignore.test.js.map +1 -1
  140. package/codeyam-cli/src/commands/analyze.js +17 -7
  141. package/codeyam-cli/src/commands/analyze.js.map +1 -1
  142. package/codeyam-cli/src/commands/default.js +14 -2
  143. package/codeyam-cli/src/commands/default.js.map +1 -1
  144. package/codeyam-cli/src/commands/editor.js +4630 -0
  145. package/codeyam-cli/src/commands/editor.js.map +1 -0
  146. package/codeyam-cli/src/commands/editorIsolateArgs.js +25 -0
  147. package/codeyam-cli/src/commands/editorIsolateArgs.js.map +1 -0
  148. package/codeyam-cli/src/commands/init.js +109 -45
  149. package/codeyam-cli/src/commands/init.js.map +1 -1
  150. package/codeyam-cli/src/commands/memory.js +89 -75
  151. package/codeyam-cli/src/commands/memory.js.map +1 -1
  152. package/codeyam-cli/src/commands/telemetry.js +37 -0
  153. package/codeyam-cli/src/commands/telemetry.js.map +1 -0
  154. package/codeyam-cli/src/data/techStacks.js +77 -0
  155. package/codeyam-cli/src/data/techStacks.js.map +1 -0
  156. package/codeyam-cli/src/utils/__tests__/analyzerFinalization.test.js +173 -0
  157. package/codeyam-cli/src/utils/__tests__/analyzerFinalization.test.js.map +1 -0
  158. package/codeyam-cli/src/utils/__tests__/backgroundServer.test.js +46 -0
  159. package/codeyam-cli/src/utils/__tests__/backgroundServer.test.js.map +1 -0
  160. package/codeyam-cli/src/utils/__tests__/devServerState.test.js +134 -0
  161. package/codeyam-cli/src/utils/__tests__/devServerState.test.js.map +1 -0
  162. package/codeyam-cli/src/utils/__tests__/editorApi.test.js +137 -0
  163. package/codeyam-cli/src/utils/__tests__/editorApi.test.js.map +1 -0
  164. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js +2379 -0
  165. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js.map +1 -0
  166. package/codeyam-cli/src/utils/__tests__/editorBroadcastViewport.test.js +76 -0
  167. package/codeyam-cli/src/utils/__tests__/editorBroadcastViewport.test.js.map +1 -0
  168. package/codeyam-cli/src/utils/__tests__/editorCapture.test.js +93 -0
  169. package/codeyam-cli/src/utils/__tests__/editorCapture.test.js.map +1 -0
  170. package/codeyam-cli/src/utils/__tests__/editorDeleteScenario.test.js +100 -0
  171. package/codeyam-cli/src/utils/__tests__/editorDeleteScenario.test.js.map +1 -0
  172. package/codeyam-cli/src/utils/__tests__/editorDevServer.test.js +304 -0
  173. package/codeyam-cli/src/utils/__tests__/editorDevServer.test.js.map +1 -0
  174. package/codeyam-cli/src/utils/__tests__/editorEntityChangeStatus.test.js +194 -0
  175. package/codeyam-cli/src/utils/__tests__/editorEntityChangeStatus.test.js.map +1 -0
  176. package/codeyam-cli/src/utils/__tests__/editorEntityHelpers.test.js +315 -0
  177. package/codeyam-cli/src/utils/__tests__/editorEntityHelpers.test.js.map +1 -0
  178. package/codeyam-cli/src/utils/__tests__/editorImageVerifier.test.js +294 -0
  179. package/codeyam-cli/src/utils/__tests__/editorImageVerifier.test.js.map +1 -0
  180. package/codeyam-cli/src/utils/__tests__/editorJournal.test.js +542 -0
  181. package/codeyam-cli/src/utils/__tests__/editorJournal.test.js.map +1 -0
  182. package/codeyam-cli/src/utils/__tests__/editorLoaderHelpers.test.js +594 -0
  183. package/codeyam-cli/src/utils/__tests__/editorLoaderHelpers.test.js.map +1 -0
  184. package/codeyam-cli/src/utils/__tests__/editorMigration.test.js +435 -0
  185. package/codeyam-cli/src/utils/__tests__/editorMigration.test.js.map +1 -0
  186. package/codeyam-cli/src/utils/__tests__/editorMockState.test.js +270 -0
  187. package/codeyam-cli/src/utils/__tests__/editorMockState.test.js.map +1 -0
  188. package/codeyam-cli/src/utils/__tests__/editorPreloadHelpers.test.js +217 -0
  189. package/codeyam-cli/src/utils/__tests__/editorPreloadHelpers.test.js.map +1 -0
  190. package/codeyam-cli/src/utils/__tests__/editorPreview.test.js +353 -0
  191. package/codeyam-cli/src/utils/__tests__/editorPreview.test.js.map +1 -0
  192. package/codeyam-cli/src/utils/__tests__/editorProxySession.test.js +153 -0
  193. package/codeyam-cli/src/utils/__tests__/editorProxySession.test.js.map +1 -0
  194. package/codeyam-cli/src/utils/__tests__/editorScenarioLookup.test.js +139 -0
  195. package/codeyam-cli/src/utils/__tests__/editorScenarioLookup.test.js.map +1 -0
  196. package/codeyam-cli/src/utils/__tests__/editorScenarioSwitch.test.js +221 -0
  197. package/codeyam-cli/src/utils/__tests__/editorScenarioSwitch.test.js.map +1 -0
  198. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js +1559 -0
  199. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js.map +1 -0
  200. package/codeyam-cli/src/utils/__tests__/editorSeedAdapter.test.js +280 -0
  201. package/codeyam-cli/src/utils/__tests__/editorSeedAdapter.test.js.map +1 -0
  202. package/codeyam-cli/src/utils/__tests__/editorSeedAdapterPrismaValidation.test.js +143 -0
  203. package/codeyam-cli/src/utils/__tests__/editorSeedAdapterPrismaValidation.test.js.map +1 -0
  204. package/codeyam-cli/src/utils/__tests__/editorSessionFilter.test.js +66 -0
  205. package/codeyam-cli/src/utils/__tests__/editorSessionFilter.test.js.map +1 -0
  206. package/codeyam-cli/src/utils/__tests__/editorShouldRevalidate.test.js +53 -0
  207. package/codeyam-cli/src/utils/__tests__/editorShouldRevalidate.test.js.map +1 -0
  208. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js +1857 -0
  209. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js.map +1 -0
  210. package/codeyam-cli/src/utils/__tests__/git.editor.test.js +134 -0
  211. package/codeyam-cli/src/utils/__tests__/git.editor.test.js.map +1 -0
  212. package/codeyam-cli/src/utils/__tests__/journalCaptureStabilization.test.js +107 -0
  213. package/codeyam-cli/src/utils/__tests__/journalCaptureStabilization.test.js.map +1 -0
  214. package/codeyam-cli/src/utils/__tests__/npmVersionCheck.test.js +26 -20
  215. package/codeyam-cli/src/utils/__tests__/npmVersionCheck.test.js.map +1 -1
  216. package/codeyam-cli/src/utils/__tests__/parseRegisterArg.test.js +129 -0
  217. package/codeyam-cli/src/utils/__tests__/parseRegisterArg.test.js.map +1 -0
  218. package/codeyam-cli/src/utils/__tests__/pathIgnoring.test.js +9 -0
  219. package/codeyam-cli/src/utils/__tests__/pathIgnoring.test.js.map +1 -1
  220. package/codeyam-cli/src/utils/__tests__/project.test.js +65 -0
  221. package/codeyam-cli/src/utils/__tests__/project.test.js.map +1 -0
  222. package/codeyam-cli/src/utils/__tests__/routePatternMatching.test.js +118 -0
  223. package/codeyam-cli/src/utils/__tests__/routePatternMatching.test.js.map +1 -0
  224. package/codeyam-cli/src/utils/__tests__/scenarioCoverage.test.js +284 -0
  225. package/codeyam-cli/src/utils/__tests__/scenarioCoverage.test.js.map +1 -0
  226. package/codeyam-cli/src/utils/__tests__/scenarioMarkers.test.js +121 -0
  227. package/codeyam-cli/src/utils/__tests__/scenarioMarkers.test.js.map +1 -0
  228. package/codeyam-cli/src/utils/__tests__/scenariosManifest.test.js +672 -0
  229. package/codeyam-cli/src/utils/__tests__/scenariosManifest.test.js.map +1 -0
  230. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +51 -4
  231. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
  232. package/codeyam-cli/src/utils/__tests__/telemetry.test.js +159 -0
  233. package/codeyam-cli/src/utils/__tests__/telemetry.test.js.map +1 -0
  234. package/codeyam-cli/src/utils/__tests__/templateConsistency.test.js +51 -0
  235. package/codeyam-cli/src/utils/__tests__/templateConsistency.test.js.map +1 -0
  236. package/codeyam-cli/src/utils/__tests__/webappDetection.test.js +142 -0
  237. package/codeyam-cli/src/utils/__tests__/webappDetection.test.js.map +1 -0
  238. package/codeyam-cli/src/utils/analysisRunner.js +3 -1
  239. package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
  240. package/codeyam-cli/src/utils/analyzer.js +9 -0
  241. package/codeyam-cli/src/utils/analyzer.js.map +1 -1
  242. package/codeyam-cli/src/utils/analyzerFinalization.js +100 -0
  243. package/codeyam-cli/src/utils/analyzerFinalization.js.map +1 -0
  244. package/codeyam-cli/src/utils/backgroundServer.js +105 -13
  245. package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
  246. package/codeyam-cli/src/utils/buildFlags.js +4 -0
  247. package/codeyam-cli/src/utils/buildFlags.js.map +1 -0
  248. package/codeyam-cli/src/utils/database.js +37 -2
  249. package/codeyam-cli/src/utils/database.js.map +1 -1
  250. package/codeyam-cli/src/utils/devModeEvents.js +40 -0
  251. package/codeyam-cli/src/utils/devModeEvents.js.map +1 -0
  252. package/codeyam-cli/src/utils/devServerState.js +71 -0
  253. package/codeyam-cli/src/utils/devServerState.js.map +1 -0
  254. package/codeyam-cli/src/utils/editorApi.js +79 -0
  255. package/codeyam-cli/src/utils/editorApi.js.map +1 -0
  256. package/codeyam-cli/src/utils/editorAudit.js +480 -0
  257. package/codeyam-cli/src/utils/editorAudit.js.map +1 -0
  258. package/codeyam-cli/src/utils/editorBroadcastViewport.js +26 -0
  259. package/codeyam-cli/src/utils/editorBroadcastViewport.js.map +1 -0
  260. package/codeyam-cli/src/utils/editorCapture.js +102 -0
  261. package/codeyam-cli/src/utils/editorCapture.js.map +1 -0
  262. package/codeyam-cli/src/utils/editorDeleteScenario.js +67 -0
  263. package/codeyam-cli/src/utils/editorDeleteScenario.js.map +1 -0
  264. package/codeyam-cli/src/utils/editorDevServer.js +197 -0
  265. package/codeyam-cli/src/utils/editorDevServer.js.map +1 -0
  266. package/codeyam-cli/src/utils/editorEntityChangeStatus.js +50 -0
  267. package/codeyam-cli/src/utils/editorEntityChangeStatus.js.map +1 -0
  268. package/codeyam-cli/src/utils/editorEntityHelpers.js +144 -0
  269. package/codeyam-cli/src/utils/editorEntityHelpers.js.map +1 -0
  270. package/codeyam-cli/src/utils/editorImageVerifier.js +155 -0
  271. package/codeyam-cli/src/utils/editorImageVerifier.js.map +1 -0
  272. package/codeyam-cli/src/utils/editorJournal.js +225 -0
  273. package/codeyam-cli/src/utils/editorJournal.js.map +1 -0
  274. package/codeyam-cli/src/utils/editorLoaderHelpers.js +152 -0
  275. package/codeyam-cli/src/utils/editorLoaderHelpers.js.map +1 -0
  276. package/codeyam-cli/src/utils/editorMigration.js +224 -0
  277. package/codeyam-cli/src/utils/editorMigration.js.map +1 -0
  278. package/codeyam-cli/src/utils/editorMockState.js +248 -0
  279. package/codeyam-cli/src/utils/editorMockState.js.map +1 -0
  280. package/codeyam-cli/src/utils/editorPreloadHelpers.js +135 -0
  281. package/codeyam-cli/src/utils/editorPreloadHelpers.js.map +1 -0
  282. package/codeyam-cli/src/utils/editorPreview.js +137 -0
  283. package/codeyam-cli/src/utils/editorPreview.js.map +1 -0
  284. package/codeyam-cli/src/utils/editorScenarioSwitch.js +112 -0
  285. package/codeyam-cli/src/utils/editorScenarioSwitch.js.map +1 -0
  286. package/codeyam-cli/src/utils/editorScenarios.js +557 -0
  287. package/codeyam-cli/src/utils/editorScenarios.js.map +1 -0
  288. package/codeyam-cli/src/utils/editorSeedAdapter.js +422 -0
  289. package/codeyam-cli/src/utils/editorSeedAdapter.js.map +1 -0
  290. package/codeyam-cli/src/utils/editorShouldRevalidate.js +21 -0
  291. package/codeyam-cli/src/utils/editorShouldRevalidate.js.map +1 -0
  292. package/codeyam-cli/src/utils/entityChangeStatus.js +366 -0
  293. package/codeyam-cli/src/utils/entityChangeStatus.js.map +1 -0
  294. package/codeyam-cli/src/utils/entityChangeStatus.server.js +196 -0
  295. package/codeyam-cli/src/utils/entityChangeStatus.server.js.map +1 -0
  296. package/codeyam-cli/src/utils/fileMetadata.js +5 -0
  297. package/codeyam-cli/src/utils/fileMetadata.js.map +1 -1
  298. package/codeyam-cli/src/utils/fileWatcher.js +63 -9
  299. package/codeyam-cli/src/utils/fileWatcher.js.map +1 -1
  300. package/codeyam-cli/src/utils/git.js +103 -0
  301. package/codeyam-cli/src/utils/git.js.map +1 -1
  302. package/codeyam-cli/src/utils/install-skills.js +71 -15
  303. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  304. package/codeyam-cli/src/utils/interactiveSyncWatcher.js +126 -0
  305. package/codeyam-cli/src/utils/interactiveSyncWatcher.js.map +1 -0
  306. package/codeyam-cli/src/utils/npmVersionCheck.js +2 -2
  307. package/codeyam-cli/src/utils/npmVersionCheck.js.map +1 -1
  308. package/codeyam-cli/src/utils/parseRegisterArg.js +31 -0
  309. package/codeyam-cli/src/utils/parseRegisterArg.js.map +1 -0
  310. package/codeyam-cli/src/utils/pathIgnoring.js +19 -7
  311. package/codeyam-cli/src/utils/pathIgnoring.js.map +1 -1
  312. package/codeyam-cli/src/utils/progress.js +2 -2
  313. package/codeyam-cli/src/utils/progress.js.map +1 -1
  314. package/codeyam-cli/src/utils/project.js +15 -5
  315. package/codeyam-cli/src/utils/project.js.map +1 -1
  316. package/codeyam-cli/src/utils/queue/__tests__/heartbeat.test.js +11 -11
  317. package/codeyam-cli/src/utils/queue/__tests__/heartbeat.test.js.map +1 -1
  318. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js +22 -0
  319. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js.map +1 -1
  320. package/codeyam-cli/src/utils/queue/heartbeat.js +13 -5
  321. package/codeyam-cli/src/utils/queue/heartbeat.js.map +1 -1
  322. package/codeyam-cli/src/utils/queue/job.js +70 -1
  323. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  324. package/codeyam-cli/src/utils/queue/manager.js +7 -6
  325. package/codeyam-cli/src/utils/queue/manager.js.map +1 -1
  326. package/codeyam-cli/src/utils/requireSimulations.js +1 -1
  327. package/codeyam-cli/src/utils/requireSimulations.js.map +1 -1
  328. package/codeyam-cli/src/utils/routePatternMatching.js +129 -0
  329. package/codeyam-cli/src/utils/routePatternMatching.js.map +1 -0
  330. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js +5 -6
  331. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js.map +1 -1
  332. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js +1 -1
  333. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js.map +1 -1
  334. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js +0 -1
  335. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js.map +1 -1
  336. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js +2 -4
  337. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js.map +1 -1
  338. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js +4 -6
  339. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js.map +1 -1
  340. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js +1 -1
  341. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js.map +1 -1
  342. package/codeyam-cli/src/utils/rules/__tests__/parser.test.js +83 -0
  343. package/codeyam-cli/src/utils/rules/__tests__/parser.test.js.map +1 -0
  344. package/codeyam-cli/src/utils/rules/__tests__/pathMatcher.test.js +118 -0
  345. package/codeyam-cli/src/utils/rules/__tests__/pathMatcher.test.js.map +1 -0
  346. package/codeyam-cli/src/utils/rules/__tests__/rulePlacement.test.js +72 -0
  347. package/codeyam-cli/src/utils/rules/__tests__/rulePlacement.test.js.map +1 -0
  348. package/codeyam-cli/src/utils/rules/__tests__/sourceFiles.test.js +76 -0
  349. package/codeyam-cli/src/utils/rules/__tests__/sourceFiles.test.js.map +1 -0
  350. package/codeyam-cli/src/utils/rules/index.js +1 -0
  351. package/codeyam-cli/src/utils/rules/index.js.map +1 -1
  352. package/codeyam-cli/src/utils/rules/parser.js +14 -4
  353. package/codeyam-cli/src/utils/rules/parser.js.map +1 -1
  354. package/codeyam-cli/src/utils/rules/pathMatcher.js +34 -3
  355. package/codeyam-cli/src/utils/rules/pathMatcher.js.map +1 -1
  356. package/codeyam-cli/src/utils/rules/rulePlacement.js +65 -0
  357. package/codeyam-cli/src/utils/rules/rulePlacement.js.map +1 -0
  358. package/codeyam-cli/src/utils/rules/sourceFiles.js +43 -0
  359. package/codeyam-cli/src/utils/rules/sourceFiles.js.map +1 -0
  360. package/codeyam-cli/src/utils/scenarioCoverage.js +77 -0
  361. package/codeyam-cli/src/utils/scenarioCoverage.js.map +1 -0
  362. package/codeyam-cli/src/utils/scenarioMarkers.js +134 -0
  363. package/codeyam-cli/src/utils/scenarioMarkers.js.map +1 -0
  364. package/codeyam-cli/src/utils/scenariosManifest.js +285 -0
  365. package/codeyam-cli/src/utils/scenariosManifest.js.map +1 -0
  366. package/codeyam-cli/src/utils/serverState.js +57 -2
  367. package/codeyam-cli/src/utils/serverState.js.map +1 -1
  368. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +83 -11
  369. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
  370. package/codeyam-cli/src/utils/simulationGateMiddleware.js +166 -0
  371. package/codeyam-cli/src/utils/simulationGateMiddleware.js.map +1 -0
  372. package/codeyam-cli/src/utils/slugUtils.js +25 -0
  373. package/codeyam-cli/src/utils/slugUtils.js.map +1 -0
  374. package/codeyam-cli/src/utils/syncMocksMiddleware.js +7 -26
  375. package/codeyam-cli/src/utils/syncMocksMiddleware.js.map +1 -1
  376. package/codeyam-cli/src/utils/telemetry.js +106 -0
  377. package/codeyam-cli/src/utils/telemetry.js.map +1 -0
  378. package/codeyam-cli/src/utils/telemetryMiddleware.js +22 -0
  379. package/codeyam-cli/src/utils/telemetryMiddleware.js.map +1 -0
  380. package/codeyam-cli/src/utils/testRunner.js +158 -0
  381. package/codeyam-cli/src/utils/testRunner.js.map +1 -0
  382. package/codeyam-cli/src/utils/transcriptPruning.js +67 -0
  383. package/codeyam-cli/src/utils/transcriptPruning.js.map +1 -0
  384. package/codeyam-cli/src/utils/versionInfo.js +46 -0
  385. package/codeyam-cli/src/utils/versionInfo.js.map +1 -1
  386. package/codeyam-cli/src/utils/webappDetection.js +35 -2
  387. package/codeyam-cli/src/utils/webappDetection.js.map +1 -1
  388. package/codeyam-cli/src/webserver/__tests__/buildPtyEnv.test.js +35 -0
  389. package/codeyam-cli/src/webserver/__tests__/buildPtyEnv.test.js.map +1 -0
  390. package/codeyam-cli/src/webserver/__tests__/clientErrors.test.js +80 -0
  391. package/codeyam-cli/src/webserver/__tests__/clientErrors.test.js.map +1 -0
  392. package/codeyam-cli/src/webserver/__tests__/editorProxy.test.js +628 -0
  393. package/codeyam-cli/src/webserver/__tests__/editorProxy.test.js.map +1 -0
  394. package/codeyam-cli/src/webserver/__tests__/idleDetector.test.js +217 -0
  395. package/codeyam-cli/src/webserver/__tests__/idleDetector.test.js.map +1 -0
  396. package/codeyam-cli/src/webserver/app/lib/clientErrors.js +71 -0
  397. package/codeyam-cli/src/webserver/app/lib/clientErrors.js.map +1 -0
  398. package/codeyam-cli/src/webserver/app/lib/database.js +41 -27
  399. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  400. package/codeyam-cli/src/webserver/app/lib/dbNotifier.js.map +1 -1
  401. package/codeyam-cli/src/webserver/app/lib/git.js +397 -0
  402. package/codeyam-cli/src/webserver/app/lib/git.js.map +1 -0
  403. package/codeyam-cli/src/webserver/app/types/editor.js +8 -0
  404. package/codeyam-cli/src/webserver/app/types/editor.js.map +1 -0
  405. package/codeyam-cli/src/webserver/backgroundServer.js +141 -42
  406. package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
  407. package/codeyam-cli/src/webserver/build/client/assets/CopyButton-CLe80MMu.js +1 -0
  408. package/codeyam-cli/src/webserver/build/client/assets/{EntityItem-bwuHPyTa.js → EntityItem-Crt_KN_U.js} +5 -5
  409. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeBadge-CQgyEGV-.js +1 -0
  410. package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeIcon-BH0XDim7.js → EntityTypeIcon-CD7lGABo.js} +9 -9
  411. package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-CgTNOhnu.js +1 -0
  412. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-CKeQT5Ty.js +25 -0
  413. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-D3s1MFkb.js +3 -0
  414. package/codeyam-cli/src/webserver/build/client/assets/{LoadingDots-BvMu2i-g.js → LoadingDots-By5zI316.js} +1 -1
  415. package/codeyam-cli/src/webserver/build/client/assets/{LogViewer-kgBTLoJD.js → LogViewer-CM5zg40N.js} +3 -3
  416. package/codeyam-cli/src/webserver/build/client/assets/{ReportIssueModal-BzPgx-xO.js → ReportIssueModal-C2PLkej3.js} +4 -4
  417. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-DanvyBPb.js +1 -0
  418. package/codeyam-cli/src/webserver/build/client/assets/{ScenarioViewer-BX2Ny2Qj.js → ScenarioViewer-DUMfcNVK.js} +3 -3
  419. package/codeyam-cli/src/webserver/build/client/assets/Spinner-D0LgAaSa.js +34 -0
  420. package/codeyam-cli/src/webserver/build/client/assets/TruncatedFilePath-CK7-NaPZ.js +1 -0
  421. package/codeyam-cli/src/webserver/build/client/assets/ViewportInspectBar-BA_Ry-rs.js +1 -0
  422. package/codeyam-cli/src/webserver/build/client/assets/{_index-BRx8ZGZo.js → _index-BAWd-Xjf.js} +4 -4
  423. package/codeyam-cli/src/webserver/build/client/assets/{activity.(_tab)-4S4yPfFw.js → activity.(_tab)-BOARiB-g.js} +8 -8
  424. package/codeyam-cli/src/webserver/build/client/assets/addon-canvas-DpzMmAy5.js +1 -0
  425. package/codeyam-cli/src/webserver/build/client/assets/addon-fit-YJmn1quW.js +12 -0
  426. package/codeyam-cli/src/webserver/build/client/assets/addon-web-links-CHx25PAe.js +1 -0
  427. package/codeyam-cli/src/webserver/build/client/assets/addon-webgl-DI8QOUvO.js +58 -0
  428. package/codeyam-cli/src/webserver/build/client/assets/agent-transcripts-Bg3e7q4S.js +22 -0
  429. package/codeyam-cli/src/webserver/build/client/assets/api.dev-mode-events-l0sNRNKZ.js +1 -0
  430. package/codeyam-cli/src/webserver/build/client/assets/api.editor-audit-l0sNRNKZ.js +1 -0
  431. package/codeyam-cli/src/webserver/build/client/assets/api.editor-capture-scenario-l0sNRNKZ.js +1 -0
  432. package/codeyam-cli/src/webserver/build/client/assets/api.editor-client-errors-l0sNRNKZ.js +1 -0
  433. package/codeyam-cli/src/webserver/build/client/assets/api.editor-commit-l0sNRNKZ.js +1 -0
  434. package/codeyam-cli/src/webserver/build/client/assets/api.editor-dev-server-l0sNRNKZ.js +1 -0
  435. package/codeyam-cli/src/webserver/build/client/assets/api.editor-entity-status-l0sNRNKZ.js +1 -0
  436. package/codeyam-cli/src/webserver/build/client/assets/api.editor-file-diff-l0sNRNKZ.js +1 -0
  437. package/codeyam-cli/src/webserver/build/client/assets/api.editor-file-l0sNRNKZ.js +1 -0
  438. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-entry-l0sNRNKZ.js +1 -0
  439. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-image._-l0sNRNKZ.js +1 -0
  440. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-l0sNRNKZ.js +1 -0
  441. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-screenshot-l0sNRNKZ.js +1 -0
  442. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-update-l0sNRNKZ.js +1 -0
  443. package/codeyam-cli/src/webserver/build/client/assets/api.editor-load-commit-l0sNRNKZ.js +1 -0
  444. package/codeyam-cli/src/webserver/build/client/assets/api.editor-project-info-l0sNRNKZ.js +1 -0
  445. package/codeyam-cli/src/webserver/build/client/assets/api.editor-refresh-l0sNRNKZ.js +1 -0
  446. package/codeyam-cli/src/webserver/build/client/assets/api.editor-register-scenario-l0sNRNKZ.js +1 -0
  447. package/codeyam-cli/src/webserver/build/client/assets/api.editor-rename-scenario-l0sNRNKZ.js +1 -0
  448. package/codeyam-cli/src/webserver/build/client/assets/api.editor-save-seed-state-l0sNRNKZ.js +1 -0
  449. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-coverage-l0sNRNKZ.js +1 -0
  450. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-data-l0sNRNKZ.js +1 -0
  451. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-image._-l0sNRNKZ.js +1 -0
  452. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-prompt-l0sNRNKZ.js +1 -0
  453. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenarios-l0sNRNKZ.js +1 -0
  454. package/codeyam-cli/src/webserver/build/client/assets/api.editor-session-l0sNRNKZ.js +1 -0
  455. package/codeyam-cli/src/webserver/build/client/assets/api.editor-switch-scenario-l0sNRNKZ.js +1 -0
  456. package/codeyam-cli/src/webserver/build/client/assets/api.editor-test-results-l0sNRNKZ.js +1 -0
  457. package/codeyam-cli/src/webserver/build/client/assets/api.rule-path-l0sNRNKZ.js +1 -0
  458. package/codeyam-cli/src/webserver/build/client/assets/{book-open-D4IPYH_y.js → book-open-CL-lMgHh.js} +2 -2
  459. package/codeyam-cli/src/webserver/build/client/assets/{chevron-down-CG65viiV.js → chevron-down-GmAjGS9-.js} +2 -2
  460. package/codeyam-cli/src/webserver/build/client/assets/chunk-JZWAC4HX-BAdwhyCx.js +43 -0
  461. package/codeyam-cli/src/webserver/build/client/assets/{circle-check-igfMr5DY.js → circle-check-DFcQkN5j.js} +2 -2
  462. package/codeyam-cli/src/webserver/build/client/assets/{copy-Coc4o_8c.js → copy-C6iF61Xs.js} +3 -3
  463. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-4ImjHTVC.js +41 -0
  464. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-C8y4mmyv.js +1 -0
  465. package/codeyam-cli/src/webserver/build/client/assets/editor._tab-Gbk_i5Js.js +1 -0
  466. package/codeyam-cli/src/webserver/build/client/assets/editor.entity.(_sha)-DN5ouXAl.js +58 -0
  467. package/codeyam-cli/src/webserver/build/client/assets/editorPreview-oepecPae.js +41 -0
  468. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-B0h9AqE6.js → entity._sha._-Blfy9UlN.js} +11 -11
  469. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.dev-KTQuL0aj.js +6 -0
  470. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-C6eeL24i.js +6 -0
  471. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-DQM8E7L4.js +6 -0
  472. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.edit._scenarioId-PePWg17F.js → entity._sha_.edit._scenarioId-CAoXLsQr.js} +2 -2
  473. package/codeyam-cli/src/webserver/build/client/assets/{entry.client-I-Wo99C_.js → entry.client-SuW9syRS.js} +6 -6
  474. package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-Daa96Fr1.js +1 -0
  475. package/codeyam-cli/src/webserver/build/client/assets/files-D-xGrg29.js +1 -0
  476. package/codeyam-cli/src/webserver/build/client/assets/git-Bq_fbXP5.js +1 -0
  477. package/codeyam-cli/src/webserver/build/client/assets/globals-fAqOD9ex.css +1 -0
  478. package/codeyam-cli/src/webserver/build/client/assets/{index-_417gcQW.js → index-Bp1l4hSv.js} +1 -1
  479. package/codeyam-cli/src/webserver/build/client/assets/{index-CUM5iXwc.js → index-CWV9XZiG.js} +1 -1
  480. package/codeyam-cli/src/webserver/build/client/assets/index-DE3jI_dv.js +15 -0
  481. package/codeyam-cli/src/webserver/build/client/assets/jsx-runtime-D_zvdyIk.js +9 -0
  482. package/codeyam-cli/src/webserver/build/client/assets/labs-B_IX45ih.js +1 -0
  483. package/codeyam-cli/src/webserver/build/client/assets/{loader-circle-TzRHMVog.js → loader-circle-De-7qQ2u.js} +2 -2
  484. package/codeyam-cli/src/webserver/build/client/assets/manifest-389033be.js +1 -0
  485. package/codeyam-cli/src/webserver/build/client/assets/memory-Cx2xEx7s.js +101 -0
  486. package/codeyam-cli/src/webserver/build/client/assets/{pause-hjzB7t2z.js → pause-CFxEKL1u.js} +3 -3
  487. package/codeyam-cli/src/webserver/build/client/assets/root-DB3O9_9j.js +67 -0
  488. package/codeyam-cli/src/webserver/build/client/assets/{search-DcAwD_Ln.js → search-BdBb5aqc.js} +2 -2
  489. package/codeyam-cli/src/webserver/build/client/assets/settings-DdE-Untf.js +1 -0
  490. package/codeyam-cli/src/webserver/build/client/assets/simulations-DSCdE99u.js +1 -0
  491. package/codeyam-cli/src/webserver/build/client/assets/{terminal-DbEAHMbA.js → terminal-CrplD4b1.js} +3 -3
  492. package/codeyam-cli/src/webserver/build/client/assets/{triangle-alert-CAD5b1o_.js → triangle-alert-DqJ0j69l.js} +2 -2
  493. package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-DhXHbEjP.js +1 -0
  494. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-BNd5hYuW.js +2 -0
  495. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-Cy5Qg_UR.js +1 -0
  496. package/codeyam-cli/src/webserver/build/client/assets/useToast-5HR2j9ZE.js +1 -0
  497. package/codeyam-cli/src/webserver/build/client/assets/xterm-BqvuqXEL.js +27 -0
  498. package/codeyam-cli/src/webserver/build/client/sound-test.html +98 -0
  499. package/codeyam-cli/src/webserver/build/server/assets/analysisRunner-D_1MSYeW.js +13 -0
  500. package/codeyam-cli/src/webserver/build/server/assets/index-ckWaCf_v.js +1 -0
  501. package/codeyam-cli/src/webserver/build/server/assets/init-ld124R4Z.js +10 -0
  502. package/codeyam-cli/src/webserver/build/server/assets/progress-CHTtrxFG.js +1 -0
  503. package/codeyam-cli/src/webserver/build/server/assets/server-build-DzzNZGv_.js +551 -0
  504. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  505. package/codeyam-cli/src/webserver/build-info.json +5 -5
  506. package/codeyam-cli/src/webserver/devServer.js +39 -5
  507. package/codeyam-cli/src/webserver/devServer.js.map +1 -1
  508. package/codeyam-cli/src/webserver/editorProxy.js +976 -0
  509. package/codeyam-cli/src/webserver/editorProxy.js.map +1 -0
  510. package/codeyam-cli/src/webserver/idleDetector.js +106 -0
  511. package/codeyam-cli/src/webserver/idleDetector.js.map +1 -0
  512. package/codeyam-cli/src/webserver/mockStateEvents.js +28 -0
  513. package/codeyam-cli/src/webserver/mockStateEvents.js.map +1 -0
  514. package/codeyam-cli/src/webserver/public/sound-test.html +98 -0
  515. package/codeyam-cli/src/webserver/scripts/codeyam-preload.mjs +414 -0
  516. package/codeyam-cli/src/webserver/scripts/journalCapture.ts +266 -0
  517. package/codeyam-cli/src/webserver/server.js +341 -1
  518. package/codeyam-cli/src/webserver/server.js.map +1 -1
  519. package/codeyam-cli/src/webserver/terminalServer.js +831 -0
  520. package/codeyam-cli/src/webserver/terminalServer.js.map +1 -0
  521. package/codeyam-cli/templates/chrome-extension-react/EXTENSION_SETUP.md +75 -0
  522. package/codeyam-cli/templates/chrome-extension-react/README.md +46 -0
  523. package/codeyam-cli/templates/chrome-extension-react/gitignore +15 -0
  524. package/codeyam-cli/templates/chrome-extension-react/index.html +12 -0
  525. package/codeyam-cli/templates/chrome-extension-react/package.json +27 -0
  526. package/codeyam-cli/templates/chrome-extension-react/popup.html +12 -0
  527. package/codeyam-cli/templates/chrome-extension-react/public/manifest.json +15 -0
  528. package/codeyam-cli/templates/chrome-extension-react/src/background/service-worker.ts +7 -0
  529. package/codeyam-cli/templates/chrome-extension-react/src/globals.css +6 -0
  530. package/codeyam-cli/templates/chrome-extension-react/src/lib/storage.ts +37 -0
  531. package/codeyam-cli/templates/chrome-extension-react/src/popup/App.tsx +12 -0
  532. package/codeyam-cli/templates/chrome-extension-react/src/popup/main.tsx +10 -0
  533. package/codeyam-cli/templates/chrome-extension-react/tsconfig.json +24 -0
  534. package/codeyam-cli/templates/chrome-extension-react/vite.config.ts +41 -0
  535. package/codeyam-cli/templates/codeyam-editor-claude.md +147 -0
  536. package/codeyam-cli/templates/codeyam-editor-reference.md +214 -0
  537. package/codeyam-cli/templates/editor-step-hook.py +321 -0
  538. package/codeyam-cli/templates/expo-react-native/MOBILE_SETUP.md +89 -0
  539. package/codeyam-cli/templates/expo-react-native/README.md +41 -0
  540. package/codeyam-cli/templates/expo-react-native/app/(tabs)/_layout.tsx +33 -0
  541. package/codeyam-cli/templates/expo-react-native/app/(tabs)/index.tsx +12 -0
  542. package/codeyam-cli/templates/expo-react-native/app/(tabs)/settings.tsx +12 -0
  543. package/codeyam-cli/templates/expo-react-native/app/_layout.tsx +12 -0
  544. package/codeyam-cli/templates/expo-react-native/app.json +18 -0
  545. package/codeyam-cli/templates/expo-react-native/babel.config.js +9 -0
  546. package/codeyam-cli/templates/expo-react-native/gitignore +12 -0
  547. package/codeyam-cli/templates/expo-react-native/global.css +3 -0
  548. package/codeyam-cli/templates/expo-react-native/lib/storage.ts +32 -0
  549. package/codeyam-cli/templates/expo-react-native/metro.config.js +6 -0
  550. package/codeyam-cli/templates/expo-react-native/nativewind-env.d.ts +1 -0
  551. package/codeyam-cli/templates/expo-react-native/package.json +38 -0
  552. package/codeyam-cli/templates/expo-react-native/tailwind.config.js +10 -0
  553. package/codeyam-cli/templates/expo-react-native/tsconfig.json +10 -0
  554. package/codeyam-cli/templates/hooks/staleness-check.sh +43 -0
  555. package/codeyam-cli/templates/isolation-route/next-app.tsx.template +80 -0
  556. package/codeyam-cli/templates/isolation-route/next-pages.tsx.template +79 -0
  557. package/codeyam-cli/templates/isolation-route/vite-react.tsx.template +78 -0
  558. package/codeyam-cli/templates/msw/browser-setup.ts.template +47 -0
  559. package/codeyam-cli/templates/msw/handler-router.ts.template +47 -0
  560. package/codeyam-cli/templates/msw/server-setup.ts.template +52 -0
  561. package/codeyam-cli/templates/nextjs-prisma-sqlite/AUTH_PATTERNS.md +308 -0
  562. package/codeyam-cli/templates/nextjs-prisma-sqlite/AUTH_UPGRADE.md +304 -0
  563. package/codeyam-cli/templates/nextjs-prisma-sqlite/DATABASE.md +126 -0
  564. package/codeyam-cli/templates/nextjs-prisma-sqlite/FEATURE_PATTERNS.md +37 -0
  565. package/codeyam-cli/templates/nextjs-prisma-sqlite/README.md +53 -0
  566. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/api/todos/route.ts +17 -0
  567. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/codeyam-isolate/layout.tsx +12 -0
  568. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/globals.css +26 -0
  569. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/layout.tsx +34 -0
  570. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/lib/prisma.ts +24 -0
  571. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/page.tsx +10 -0
  572. package/codeyam-cli/templates/nextjs-prisma-sqlite/env +4 -0
  573. package/codeyam-cli/templates/nextjs-prisma-sqlite/eslint.config.mjs +11 -0
  574. package/codeyam-cli/templates/nextjs-prisma-sqlite/gitignore +64 -0
  575. package/codeyam-cli/templates/nextjs-prisma-sqlite/next.config.ts +14 -0
  576. package/codeyam-cli/templates/nextjs-prisma-sqlite/package.json +39 -0
  577. package/codeyam-cli/templates/nextjs-prisma-sqlite/postcss.config.mjs +7 -0
  578. package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma/schema.prisma +27 -0
  579. package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma/seed.ts +40 -0
  580. package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma.config.ts +12 -0
  581. package/codeyam-cli/templates/nextjs-prisma-sqlite/seed-adapter.ts +127 -0
  582. package/codeyam-cli/templates/nextjs-prisma-sqlite/tsconfig.json +34 -0
  583. package/codeyam-cli/templates/nextjs-prisma-sqlite/vitest.config.ts +13 -0
  584. package/codeyam-cli/templates/nextjs-prisma-supabase/README.md +52 -0
  585. package/codeyam-cli/templates/nextjs-prisma-supabase/SUPABASE_SETUP.md +104 -0
  586. package/codeyam-cli/templates/nextjs-prisma-supabase/app/api/todos/route.ts +17 -0
  587. package/codeyam-cli/templates/nextjs-prisma-supabase/app/globals.css +26 -0
  588. package/codeyam-cli/templates/nextjs-prisma-supabase/app/layout.tsx +34 -0
  589. package/codeyam-cli/templates/nextjs-prisma-supabase/app/lib/prisma.ts +20 -0
  590. package/codeyam-cli/templates/nextjs-prisma-supabase/app/lib/supabase.ts +12 -0
  591. package/codeyam-cli/templates/nextjs-prisma-supabase/app/page.tsx +10 -0
  592. package/codeyam-cli/templates/nextjs-prisma-supabase/env +9 -0
  593. package/codeyam-cli/templates/nextjs-prisma-supabase/eslint.config.mjs +11 -0
  594. package/codeyam-cli/templates/nextjs-prisma-supabase/gitignore +40 -0
  595. package/codeyam-cli/templates/nextjs-prisma-supabase/next.config.ts +11 -0
  596. package/codeyam-cli/templates/nextjs-prisma-supabase/package.json +37 -0
  597. package/codeyam-cli/templates/nextjs-prisma-supabase/postcss.config.mjs +7 -0
  598. package/codeyam-cli/templates/nextjs-prisma-supabase/prisma/schema.prisma +27 -0
  599. package/codeyam-cli/templates/nextjs-prisma-supabase/prisma/seed.ts +39 -0
  600. package/codeyam-cli/templates/nextjs-prisma-supabase/prisma.config.ts +12 -0
  601. package/codeyam-cli/templates/nextjs-prisma-supabase/tsconfig.json +34 -0
  602. package/codeyam-cli/templates/prompts/conversation-guidance.txt +44 -0
  603. package/codeyam-cli/templates/prompts/conversation-prompt.txt +28 -0
  604. package/codeyam-cli/templates/prompts/interruption-prompt.txt +31 -0
  605. package/codeyam-cli/templates/prompts/stale-rules-prompt.txt +24 -0
  606. package/codeyam-cli/templates/rule-notification-hook.py +44 -17
  607. package/codeyam-cli/templates/rule-reflection-hook.py +25 -5
  608. package/codeyam-cli/templates/rules-instructions.md +34 -88
  609. package/codeyam-cli/templates/seed-adapters/supabase.ts +282 -0
  610. package/codeyam-cli/templates/skills/codeyam-dev-mode/SKILL.md +237 -0
  611. package/codeyam-cli/templates/skills/codeyam-editor/SKILL.md +211 -0
  612. package/codeyam-cli/templates/{codeyam-memory.md → skills/codeyam-memory/SKILL.md} +215 -0
  613. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/deprecated-prompt.md +100 -0
  614. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/detect-deprecated-patterns.mjs +139 -0
  615. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/find-exports.mjs +52 -0
  616. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/misleading-api-prompt.md +117 -0
  617. package/codeyam-cli/templates/skills/codeyam-memory/scripts/lib/read-json-field.mjs +61 -0
  618. package/codeyam-cli/templates/skills/codeyam-memory/scripts/lib/ripgrep-fallback.mjs +155 -0
  619. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/analyze-prompt.md +46 -0
  620. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/cleanup.mjs +13 -0
  621. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/filter-session.mjs +95 -0
  622. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/preprocess.mjs +160 -0
  623. package/codeyam-cli/templates/{codeyam-new-rule.md → skills/codeyam-new-rule/SKILL.md} +0 -2
  624. package/package.json +22 -14
  625. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +22 -4
  626. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
  627. package/packages/ai/src/lib/completionCall.js +10 -7
  628. package/packages/ai/src/lib/completionCall.js.map +1 -1
  629. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +234 -3
  630. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  631. package/packages/ai/src/lib/dataStructure/helpers/coercePrimitivesToArraysBySchema.js +54 -0
  632. package/packages/ai/src/lib/dataStructure/helpers/coercePrimitivesToArraysBySchema.js.map +1 -0
  633. package/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.js +34 -0
  634. package/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.js.map +1 -0
  635. package/packages/ai/src/lib/generateEntityScenarioData.js +57 -2
  636. package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
  637. package/packages/ai/src/lib/generateExecutionFlows.js +0 -11
  638. package/packages/ai/src/lib/generateExecutionFlows.js.map +1 -1
  639. package/packages/analyze/src/lib/ProjectAnalyzer.js +13 -4
  640. package/packages/analyze/src/lib/ProjectAnalyzer.js.map +1 -1
  641. package/packages/analyze/src/lib/asts/index.js +4 -2
  642. package/packages/analyze/src/lib/asts/index.js.map +1 -1
  643. package/packages/analyze/src/lib/asts/nodes/getNodeType.js +1 -0
  644. package/packages/analyze/src/lib/asts/nodes/getNodeType.js.map +1 -1
  645. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +8 -1
  646. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
  647. package/packages/analyze/src/lib/files/analyze/dependencyResolver.js +0 -5
  648. package/packages/analyze/src/lib/files/analyze/dependencyResolver.js.map +1 -1
  649. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js +9 -0
  650. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js.map +1 -1
  651. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js +54 -27
  652. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js.map +1 -1
  653. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +65 -0
  654. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
  655. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js +0 -40
  656. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js.map +1 -1
  657. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +18 -4
  658. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
  659. package/packages/database/index.js +1 -0
  660. package/packages/database/index.js.map +1 -1
  661. package/packages/database/src/lib/kysely/db.js +5 -0
  662. package/packages/database/src/lib/kysely/db.js.map +1 -1
  663. package/packages/database/src/lib/kysely/tables/editorScenariosTable.js +149 -0
  664. package/packages/database/src/lib/kysely/tables/editorScenariosTable.js.map +1 -0
  665. package/packages/database/src/lib/loadCommits.js +23 -13
  666. package/packages/database/src/lib/loadCommits.js.map +1 -1
  667. package/packages/database/src/lib/loadEntities.js +0 -6
  668. package/packages/database/src/lib/loadEntities.js.map +1 -1
  669. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js +1 -4
  670. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
  671. package/packages/database/src/lib/updateCommitMetadata.js +76 -90
  672. package/packages/database/src/lib/updateCommitMetadata.js.map +1 -1
  673. package/packages/database/src/lib/updateFreshAnalysisStatus.js +41 -30
  674. package/packages/database/src/lib/updateFreshAnalysisStatus.js.map +1 -1
  675. package/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.js +68 -57
  676. package/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +1 -1
  677. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +29 -1
  678. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -1
  679. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +33 -5
  680. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  681. package/packages/types/src/enums/ProjectFramework.js +2 -0
  682. package/packages/types/src/enums/ProjectFramework.js.map +1 -1
  683. package/packages/utils/src/lib/fs/rsyncCopy.js +6 -2
  684. package/packages/utils/src/lib/fs/rsyncCopy.js.map +1 -1
  685. package/scripts/npm-post-install.cjs +34 -0
  686. package/codeyam-cli/src/commands/detect-universal-mocks.js +0 -120
  687. package/codeyam-cli/src/commands/detect-universal-mocks.js.map +0 -1
  688. package/codeyam-cli/src/commands/list.js +0 -31
  689. package/codeyam-cli/src/commands/list.js.map +0 -1
  690. package/codeyam-cli/src/commands/webapp-info.js +0 -146
  691. package/codeyam-cli/src/commands/webapp-info.js.map +0 -1
  692. package/codeyam-cli/src/utils/universal-mocks.js +0 -152
  693. package/codeyam-cli/src/utils/universal-mocks.js.map +0 -1
  694. package/codeyam-cli/src/webserver/build/client/assets/CopyButton-jNYXRRNI.js +0 -1
  695. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeBadge-CvzqMxcu.js +0 -1
  696. package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-EhOseatT.js +0 -34
  697. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-yjIHlOGa.js +0 -25
  698. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-Cq5o8jL4.js +0 -3
  699. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-CwZrv-Ok.js +0 -1
  700. package/codeyam-cli/src/webserver/build/client/assets/TruncatedFilePath-CDpEprKa.js +0 -1
  701. package/codeyam-cli/src/webserver/build/client/assets/agent-transcripts-DHKuQSmR.js +0 -17
  702. package/codeyam-cli/src/webserver/build/client/assets/chunk-JZWAC4HX-DB3aFuEO.js +0 -51
  703. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-D1zB-pYc.js +0 -21
  704. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-JTAjQ54M.js +0 -1
  705. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-DjLxr2JB.js +0 -6
  706. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-CtYowLOt.js +0 -6
  707. package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-9sMMAiWJ.js +0 -1
  708. package/codeyam-cli/src/webserver/build/client/assets/files-Co65J0s3.js +0 -1
  709. package/codeyam-cli/src/webserver/build/client/assets/git-BdHOxVfg.js +0 -15
  710. package/codeyam-cli/src/webserver/build/client/assets/globals-CCgBKWy4.css +0 -1
  711. package/codeyam-cli/src/webserver/build/client/assets/labs-BK0C1H1T.js +0 -1
  712. package/codeyam-cli/src/webserver/build/client/assets/manifest-390cb8fa.js +0 -1
  713. package/codeyam-cli/src/webserver/build/client/assets/memory-CzZySbBE.js +0 -78
  714. package/codeyam-cli/src/webserver/build/client/assets/root-DnbDhvTU.js +0 -62
  715. package/codeyam-cli/src/webserver/build/client/assets/settings-CclxrcPK.js +0 -1
  716. package/codeyam-cli/src/webserver/build/client/assets/simulations-DVNJVQgD.js +0 -1
  717. package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-BqgrAzs3.js +0 -1
  718. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-DAFqfEDH.js +0 -2
  719. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-DZlYx2c4.js +0 -1
  720. package/codeyam-cli/src/webserver/build/client/assets/useToast-ihdMtlf6.js +0 -1
  721. package/codeyam-cli/src/webserver/build/server/assets/index-CxaRxKVt.js +0 -1
  722. package/codeyam-cli/src/webserver/build/server/assets/server-build-D4DT0nM_.js +0 -259
  723. package/codeyam-cli/templates/codeyam-stop-hook.sh +0 -284
  724. package/scripts/finalize-analyzer.cjs +0 -13
  725. /package/codeyam-cli/templates/{codeyam-diagnose.md → commands/codeyam-diagnose.md} +0 -0
  726. /package/codeyam-cli/templates/{codeyam-debug.md → skills/codeyam-debug/SKILL.md} +0 -0
  727. /package/codeyam-cli/templates/{codeyam-setup.md → skills/codeyam-setup/SKILL.md} +0 -0
  728. /package/codeyam-cli/templates/{codeyam-sim.md → skills/codeyam-sim/SKILL.md} +0 -0
  729. /package/codeyam-cli/templates/{codeyam-test.md → skills/codeyam-test/SKILL.md} +0 -0
  730. /package/codeyam-cli/templates/{codeyam-verify.md → skills/codeyam-verify/SKILL.md} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"apply-setup.js","sourceRoot":"","sources":["../../../scripts/apply-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apply-setup.js","sourceRoot":"","sources":["../../../scripts/apply-setup.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,YAAY,GACb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,4BAA4B,MAAM,2EAA2E,CAAC;AACrH,OAAO,0BAA0B,MAAM,yEAAyE,CAAC;AACjH,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,MAAM,YAAY,GAAG,wBAAwB,CAAC;AAE9C,SAAS,uBAAuB;IAC9B,uDAAuD;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,sBAAsB,CAAC,WAAmB;IACjD,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,qBAAqB,CAAC,WAAmB;IAChD,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAoB3C,KAAK,UAAU,IAAI;IACjB,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QAC3B,OAAO,EAAE;YACP,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;YACvC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;SACvC;KACF,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;IACnC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IAEjC,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,EAAE,CAAC;QAChC,OAAO,CAAC,KAAK,CACX,gEAAgE,CACjE,CAAC;QACF,OAAO,CAAC,KAAK,CACX,iEAAiE,CAClE,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IAClE,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;IAElE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAEnD,0BAA0B;IAC1B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,+BAA+B,aAAa,EAAE,CAAC,CAAC;QAC9D,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;QAClE,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,yBAAyB;IACzB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,sCAAsC,UAAU,EAAE,CAAC,CAAC;QAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,qBAAqB,WAAW,EAAE,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC;IAE7C,eAAe;IACf,MAAM,OAAO,GAAiB,IAAI,CAAC,KAAK,CACtC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CACnD,CAAC;IAEF,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC7D,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE;QACxD,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IACH,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE;QACzD,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,eAAe,UAAU,EAAE,CAAC,CAAC;IAEzC,oBAAoB;IACpB,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAe;QAC7B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,oBAAoB,EAAE,EAAE;QACxB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,QAAQ,EAAE,IAAI,EAAE,qCAAqC;KACtD,CAAC;IACF,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CACzB,cAAc,EACd,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EACnC,OAAO,CACR,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,aAAa,cAAc,EAAE,CAAC,CAAC;IAE3C,uBAAuB;IACvB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACnC,yCAAyC;QACzC,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAClC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,+BAA+B;QAC/B,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,eAAe,EAAE,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE3E,qBAAqB;QACrB,MAAM,UAAU,GAAG,CAAC,GAAW,EAAU,EAAE;YACzC,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,KAAK,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBAClD,CAAC;qBAAM,CAAC;oBACN,KAAK,EAAE,CAAC;gBACV,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QACF,MAAM,SAAS,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,cAAc,SAAS,eAAe,CAAC,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAClD,CAAC;IAED,6DAA6D;IAC7D,MAAM,yBAAyB,GAAG,MAAM,oBAAoB,CAC1D,cAAc,EACd,OAAO,CAAC,cAAc,CACvB,CAAC;IAEF,wBAAwB;IACxB,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAElD,+DAA+D;IAC/D,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC;IAEjC,MAAM,EAAE,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAErC,IAAI,cAAsB,CAAC;IAC3B,IAAI,QAAgB,CAAC;IACrB,MAAM,eAAe,GAAG;QACtB,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,cAAc,EAAE,yBAAyB;QACzC,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;KAC5B,CAAC;IAEF,IAAI,CAAC;QACH,uCAAuC;QACvC,MAAM,UAAU,GAAG,MAAM,EAAE;aACxB,UAAU,CAAC,UAAiB,CAAC;aAC7B,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;aACrC,gBAAgB,EAAE;aAClB,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAEnB,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;YAC9C,MAAM,kBAAkB,CAAC,EAAE,CAAC,CAAC;QAC/B,CAAC;QAED,wBAAwB;QACxB,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAY;YACvB,EAAE,EAAE,SAAS;YACb,IAAI,EAAE,OAAO,CAAC,WAAW;YACzB,IAAI,EAAE,OAAO,CAAC,WAAW;YACzB,IAAI,EAAE,SAAS,UAAU,EAAE;YAC3B,QAAQ,EAAE,eAAe;SAC1B,CAAC;QAEF,kCAAkC;QAClC,MAAM,eAAe,GAAG,MAAM,EAAE;aAC7B,UAAU,CAAC,UAAU,CAAC;aACtB,SAAS,EAAE;aACX,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC;aACvC,gBAAgB,EAAE,CAAC;QAEtB,IAAI,eAAe,EAAE,CAAC;YACpB,qCAAqC;YACrC,OAAO,CAAC,GAAG,CAAC,iCAAiC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YACpE,MAAM,EAAE;iBACL,WAAW,CAAC,UAAU,CAAC;iBACvB,GAAG,CAAC;gBACH,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAC1C,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACrC,CAAC;iBACD,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC;iBACvC,OAAO,EAAE,CAAC;YACb,cAAc,GAAG,eAAe,CAAC,EAAE,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,qBAAqB;YACrB,OAAO,CAAC,GAAG,CAAC,4BAA4B,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YAC/D,MAAM,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAChC,cAAc,GAAG,SAAS,CAAC;QAC7B,CAAC;QAED,8BAA8B;QAC9B,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,MAAM,gBAAgB,GAAG,MAAM,YAAY,CAAC;YAC1C,SAAS,EAAE,cAAc;YACzB,KAAK,EAAE,CAAC,QAAQ,CAAC;SAClB,CAAC,CAAC;QAEH,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;YAC/C,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAC7C,MAAM,WAAW,GAAoB;gBACnC,SAAS,EAAE,cAAc;gBACzB,IAAI,EAAE,QAAQ;gBACd,GAAG,EAAE,QAAQ;gBACb,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBAClC,gBAAgB,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBAC1C,QAAQ,EAAE;oBACR,YAAY,EAAE;wBACZ;4BACE,QAAQ,EAAE,WAAW;4BACrB,SAAS,EAAE,6CAA6C;yBACzD;qBACF;oBACD,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,EAAW,EAAE;oBAC7C,QAAQ,EAAE;wBACR;4BACE,KAAK,EAAE,sBAAsB;4BAC7B,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;4BAC9B,OAAO,EAAE;gCACP;oCACE,QAAQ,EAAE,WAAW;oCACrB,SAAS,EAAE,6CAA6C;iCACzD;6BACF;4BACD,GAAG,EAAE,YAAY;yBAClB;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,eAAe,GAAG,MAAM,cAAc,CAAC,CAAC,WAAqB,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpD,CAAC;YACD,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,CAAC;QAED,wCAAwC;QACxC,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC/B,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CACzB,cAAc,EACd,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EACnC,OAAO,CACR,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,yCAAyC,QAAQ,EAAE,CAAC,CAAC;QAEjE,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAClD,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED,0CAA0C;IAC1C,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAEpD,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,uBAAuB,EAAE,CAAC;IAC/C,MAAM,YAAY,GAAG,sBAAsB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACjE,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAEpE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,CACX,4CAA4C,YAAY,+BAA+B,CACxF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,gEAAgE;IAChE,MAAM,WAAW,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,QAAQ,CAAC,2BAA2B,EAAE;YACpC,GAAG,EAAE,YAAY;YACjB,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,QAAQ,CAAC,iCAAiC,EAAE;YAC1C,GAAG,EAAE,YAAY;YACjB,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,QAAQ,CAAC,eAAe,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAEhE,4BAA4B;QAC5B,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,EACrC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CACzB,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAChD,CAAC;IAED,+DAA+D;IAC/D,4FAA4F;IAC5F,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;aAC1D,QAAQ,EAAE;aACV,IAAI,EAAE,CAAC;QACV,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAClC,UAAU,EACV,UAAU,EACV,aAAa,EACb,mBAAmB,CACpB,CAAC;QACF,IACE,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC;YACjC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC,EAC3D,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;YAC7D,QAAQ,CAAC,2BAA2B,EAAE;gBACpC,GAAG,EAAE,kBAAkB;gBACvB,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;YACH,QAAQ,CAAC,iCAAiC,EAAE;gBAC1C,GAAG,EAAE,kBAAkB;gBACvB,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;YACH,QAAQ,CAAC,eAAe,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACtE,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC,EAC3C,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CACzB,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CACT,qDAAqD,EACpD,CAAW,CAAC,OAAO,CACrB,CAAC;IACJ,CAAC;IAED,oCAAoC;IACpC,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzE,QAAQ,CAAC,sBAAsB,YAAY,OAAO,YAAY,IAAI,EAAE;QAClE,KAAK,EAAE,MAAM;KACd,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,8BAA8B,YAAY,EAAE,CAAC,CAAC;IAE1D,+EAA+E;IAC/E,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,QAAQ,CACN,2EAA2E,kBAAkB,OAAO,gBAAgB,IAAI,EACxH,EAAE,KAAK,EAAE,MAAM,EAAE,CAClB,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,6BAA6B,gBAAgB,EAAE,CAAC,CAAC;IAE7D,mDAAmD;IACnD,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAClD,MAAM,kBAAkB,GAAY;QAClC,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,OAAO,CAAC,WAAW;QACzB,IAAI,EAAE,OAAO,CAAC,WAAW;QACzB,IAAI,EAAE,SAAS,kBAAkB,EAAE;QACnC,QAAQ,EAAE,eAAe;KAC1B,CAAC;IACF,MAAM,iBAAiB,GAAG;QACxB,EAAE,EAAE,QAAQ;QACZ,SAAS,EAAE,cAAc;QACzB,IAAI,EAAE,QAAQ;KACL,CAAC;IAEZ,MAAM,sBAAsB,CAC1B,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,CACnB,CAAC;IAEF,gEAAgE;IAChE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,yBAAyB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,QAAQ,UAAU,EAAE,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACjC,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,sBAAsB,CACnC,OAAgB,EAChB,MAAc,EACd,eAAuB;IAEvB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,GAAG,MAAM,SAAS,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,sDAAsD;IACtD,MAAM,gBAAgB,GAAG,MAAM,YAAY,CAAC;QAC1C,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,QAAQ,EAAE,MAAM,CAAC,EAAE;KACpB,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAG9B,CAAC;IACJ,IAAI,gBAAgB,EAAE,CAAC;QACrB,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChC,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YACxC,CAAC;YACD,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAiB,CAAC;IACrD,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC;YAClC,UAAU,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;SAC/C,CAAC,CAAC;QACH,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;gBAChC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBACjD,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBAClD,CAAC;gBACD,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC;QAC3C,OAAO;QACP,OAAO,EAAE,eAAe;KACzB,CAAC,CAAC;IAEH,MAAM,4BAA4B,CAAC;QACjC,OAAO;QACP,eAAe;QACf,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IAEH,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,0BAA0B,CAAC;QACrD,OAAO;QACP,MAAM;QACN,eAAe;KAChB,CAAC,CAAC;IAEH,6EAA6E;IAC7E,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,gFAAgF;YAChF,MAAM,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;YAChC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBACrD,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;YAEnD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnC,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChD,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAEpD,IAAI,gBAAgB,EAAE,CAAC;oBACrB,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACpD,IAAI,UAAU,EAAE,CAAC;wBACf,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;wBACtC,MAAM,CAAC,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;wBAChE,SAAS;oBACX,CAAC;oBAED,MAAM,mBAAmB,GAAG,KAAK,CAAC,IAAI,CACpC,gBAAgB,CAAC,MAAM,EAAE,CAC1B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAE9C,IAAI,mBAAmB,EAAE,CAAC;wBACxB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;wBACxC,MAAM,CAAC,QAAQ,CAAC,2BAA2B;4BACzC,mBAAmB,CAAC,GAAG,CAAC;wBAC1B,MAAM,CAAC,QAAQ,CAAC,oBAAoB;4BAClC,mBAAmB,CAAC,QAAQ,EAAE,aAAa,KAAK,KAAK;gCACnD,CAAC,CAAC,mBAAmB,CAAC,GAAG;gCACzB,CAAC,CAAC,mBAAmB,CAAC,QAAQ,EAAE,oBAAoB,CAAC;wBACzD,MAAM,CAAC,QAAQ;4BACb,mBAAmB,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;oBAC3D,CAAC;gBACH,CAAC;YACH,CAAC;YAED,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACpC,SAAS,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED,MAAM,sBAAsB,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;IAE9E,OAAO,CAAC,GAAG,CAAC,cAAc,WAAW,oBAAoB,SAAS,QAAQ,CAAC,CAAC;AAC9E,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,yBAAyB,CACtC,UAAkB,EAClB,SAAiB;IAEjB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAEnD,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;IAE/D,+DAA+D;IAC/D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACxD,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;CAc1B,CAAC;IAEA,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC1E,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,kCAAkC,CAAC,EAAE,CAAC;YAClE,sEAAsE;YACtE,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,WAAW,GAAG,CAAC,CAAC;YAEpB,6CAA6C;YAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC9B,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;oBACpB,uCAAuC;oBACvC,OAAO,WAAW,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;wBACnE,WAAW,EAAE,CAAC;oBAChB,MAAM;gBACR,CAAC;YACH,CAAC;YAED,MAAM,UAAU,GACd,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACtC,IAAI;gBACJ,gBAAgB;gBAChB,IAAI;gBACJ,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEtC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YAC/D,OAAO,CAAC,GAAG,CACT,+DAA+D,CAChE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;SAAM,CAAC;QACN,oCAAoC;QACpC,MAAM,WAAW,GAAG,gBAAgB,gBAAgB,EAAE,CAAC;QACvD,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC7D,CAAC;IAED,gEAAgE;IAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAChE,MAAM,wBAAwB,GAAG,IAAI,CAAC,IAAI,CACxC,YAAY,EACZ,uBAAuB,CACxB,CAAC;IAEF,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEvD,IAAI,EAAE,CAAC,UAAU,CAAC,wBAAwB,CAAC,EAAE,CAAC;QAC5C,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,EAAE,gBAAgB,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CACT,gEAAgE,CACjE,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;IACtE,CAAC;IAED,4BAA4B;IAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC;IAE3E,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAErD,yCAAyC;IACzC,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACpC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;QAC7D,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IAC3D,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC/D,CAAC;IAED,kDAAkD;IAClD,MAAM,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IAC5E,MAAM,8BAA8B,GAAG,IAAI,CAAC,IAAI,CAC9C,YAAY,EACZ,yBAAyB,CAC1B,CAAC;IAEF,IAAI,EAAE,CAAC,UAAU,CAAC,8BAA8B,CAAC,EAAE,CAAC;QAClD,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CACxB,8BAA8B,EAC9B,sBAAsB,CACvB,CAAC;QACF,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;IACpE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;IACxE,CAAC;IAED,oDAAoD;IACpD,MAAM,wBAAwB,GAAG,IAAI,CAAC,IAAI,CACxC,MAAM,EACN,2BAA2B,CAC5B,CAAC;IACF,MAAM,gCAAgC,GAAG,IAAI,CAAC,IAAI,CAChD,YAAY,EACZ,2BAA2B,CAC5B,CAAC;IAEF,IAAI,EAAE,CAAC,UAAU,CAAC,gCAAgC,CAAC,EAAE,CAAC;QACpD,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CACxB,gCAAgC,EAChC,wBAAwB,CACzB,CAAC;QACF,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;IACtE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;IAC1E,CAAC;IAED,iDAAiD;IACjD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACpD,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACjC,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAClD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CACxB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,EAC9B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAChC,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;IACrE,CAAC;IAED,8CAA8C;IAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG;;;;;CAKrB,CAAC;IAEA,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,cAAc;QACd,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC7D,IAAI,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACtC,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAChD,kBAAkB,EAClB,OAAO,CACR,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAChD,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;gBAC9D,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,mCAAmC;YACnC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CACzB,kBAAkB,EAClB,cAAc,WAAW,EAAE,EAC3B,OAAO,CACR,CAAC;YACF,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;SAAM,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACtC,4BAA4B;QAC5B,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC9D,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpC,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAChD,gBAAgB,EAChB,OAAO,CACR,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAChD,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;gBAC5D,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CACzB,gBAAgB,EAChB,cAAc,WAAW,EAAE,EAC3B,OAAO,CACR,CAAC;YACF,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;IACvE,CAAC;IAED,yDAAyD;IACzD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACrD,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,oBAAoB,CACjC,QAAgB,EAChB,YAAmB;IAEnB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,uCAAuC;IACvC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE/C,MAAM,YAAY,GAAG,KAAK,EAAE,GAAW,EAAE,WAAmB,EAAE,EAAE,EAAE;QAChE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACrD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,MAAM,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAC7C,CAAC;iBAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAC9D,4BAA4B;gBAC5B,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACxD,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;IAE7B,8BAA8B;IAC9B,uDAAuD;IACvD,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC/B,kEAAkE;QAClE,oCAAoC;QACpC,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,KAAK,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,YAAY,EAAE,CAAC;YACnD,IACE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAChC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAChC,CAAC;gBACD,gDAAgD;gBAChD,6EAA6E;gBAC7E,OAAO,GAAG,WAAW,CAAC;gBACtB,MAAM;YACR,CAAC;QACH,CAAC;QAED,OAAO;YACL,GAAG,IAAI;YACP,OAAO;YACP,SAAS,EAAE,EAAE,EAAE,0BAA0B;SAC1C,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,196 @@
1
+ import { execFileSync } from 'child_process';
2
+ import * as fs from 'fs';
3
+ import * as os from 'os';
4
+ import * as path from 'path';
5
+ const SCRIPTS_DIR = path.resolve(__dirname, '../../../templates/skills/codeyam-memory/scripts');
6
+ const FILTER_SCRIPT = path.join(SCRIPTS_DIR, 'session-mining/filter-session.mjs');
7
+ function runFilter(lines) {
8
+ const tmp = path.join(os.tmpdir(), `filter-test-${Date.now()}.jsonl`);
9
+ try {
10
+ fs.writeFileSync(tmp, lines.map((l) => JSON.stringify(l)).join('\n'));
11
+ const stdout = execFileSync('node', [FILTER_SCRIPT, tmp], {
12
+ encoding: 'utf-8',
13
+ });
14
+ return stdout
15
+ .trim()
16
+ .split('\n')
17
+ .filter(Boolean)
18
+ .map((line) => JSON.parse(line));
19
+ }
20
+ finally {
21
+ fs.unlinkSync(tmp);
22
+ }
23
+ }
24
+ function assistantMsg(content) {
25
+ return {
26
+ type: 'assistant',
27
+ timestamp: '2024-01-15T10:00:00Z',
28
+ message: { content },
29
+ };
30
+ }
31
+ function userMsg(content) {
32
+ return {
33
+ type: 'user',
34
+ timestamp: '2024-01-15T10:00:01Z',
35
+ message: { content },
36
+ };
37
+ }
38
+ describe('filter-session.mjs', () => {
39
+ it('passes through assistant text content', () => {
40
+ const input = assistantMsg([{ type: 'text', text: 'Hello world' }]);
41
+ const [result] = runFilter([input]);
42
+ expect(result.type).toBe('assistant');
43
+ expect(result.ts).toBe('2024-01-15T10:00:00Z');
44
+ expect(result.content).toEqual([{ t: 'text', text: 'Hello world' }]);
45
+ });
46
+ it('truncates thinking at 1000 chars with ...[truncated]', () => {
47
+ const longThinking = 'x'.repeat(1500);
48
+ const input = assistantMsg([{ type: 'thinking', thinking: longThinking }]);
49
+ const [result] = runFilter([input]);
50
+ const item = result.content[0];
51
+ expect(item.t).toBe('think');
52
+ expect(item.thinking).toHaveLength(1000 + '...[truncated]'.length);
53
+ expect(item.thinking.endsWith('...[truncated]')).toBe(true);
54
+ });
55
+ it('does not truncate thinking under 1000 chars', () => {
56
+ const shortThinking = 'y'.repeat(999);
57
+ const input = assistantMsg([{ type: 'thinking', thinking: shortThinking }]);
58
+ const [result] = runFilter([input]);
59
+ expect(result.content[0].thinking).toBe(shortThinking);
60
+ });
61
+ it('stringifies object tool input and truncates at 300 chars with ...', () => {
62
+ const bigInput = { key: 'v'.repeat(400) };
63
+ const input = assistantMsg([
64
+ { type: 'tool_use', name: 'readFile', input: bigInput },
65
+ ]);
66
+ const [result] = runFilter([input]);
67
+ const item = result.content[0];
68
+ expect(item.t).toBe('tool');
69
+ expect(item.name).toBe('readFile');
70
+ expect(item.input).toHaveLength(300 + '...'.length);
71
+ expect(item.input.endsWith('...')).toBe(true);
72
+ });
73
+ it('does not double-stringify string tool input (tostring gotcha)', () => {
74
+ // jq's `tostring` on a string is a no-op. JSON.stringify("str") would
75
+ // produce '"str"' with extra quotes. The script must handle this.
76
+ const input = assistantMsg([
77
+ { type: 'tool_use', name: 'bash', input: 'echo hello' },
78
+ ]);
79
+ const [result] = runFilter([input]);
80
+ const item = result.content[0];
81
+ // Should be the raw string, not '"echo hello"'
82
+ expect(item.input).toBe('echo hello');
83
+ });
84
+ it('passes through user string content', () => {
85
+ const input = userMsg('Please fix the bug');
86
+ const [result] = runFilter([input]);
87
+ expect(result.type).toBe('user');
88
+ expect(result.ts).toBe('2024-01-15T10:00:01Z');
89
+ expect(result.content).toBe('Please fix the bug');
90
+ });
91
+ it('truncates user tool_result content at 500 chars with ...[truncated]', () => {
92
+ const longContent = 'z'.repeat(600);
93
+ const input = userMsg([
94
+ {
95
+ type: 'tool_result',
96
+ tool_use_id: 'tool_123',
97
+ is_error: false,
98
+ content: longContent,
99
+ },
100
+ ]);
101
+ const [result] = runFilter([input]);
102
+ const item = result.content[0];
103
+ expect(item.t).toBe('result');
104
+ expect(item.id).toBe('tool_123');
105
+ expect(item.err).toBe(false);
106
+ expect(item.content).toHaveLength(500 + '...[truncated]'.length);
107
+ expect(item.content.endsWith('...[truncated]')).toBe(true);
108
+ });
109
+ it('does not truncate tool_result content under 500 chars', () => {
110
+ const input = userMsg([
111
+ {
112
+ type: 'tool_result',
113
+ tool_use_id: 'tool_456',
114
+ content: 'short result',
115
+ },
116
+ ]);
117
+ const [result] = runFilter([input]);
118
+ expect(result.content[0].content).toBe('short result');
119
+ });
120
+ it('wraps non-tool-result array items as msg with truncation at 500', () => {
121
+ const longText = 'w'.repeat(600);
122
+ const input = userMsg([{ type: 'text', text: longText }]);
123
+ const [result] = runFilter([input]);
124
+ const item = result.content[0];
125
+ expect(item.t).toBe('msg');
126
+ expect(item.text).toHaveLength(500 + '...[truncated]'.length);
127
+ expect(item.text.endsWith('...[truncated]')).toBe(true);
128
+ });
129
+ it('filters out non-user/non-assistant types', () => {
130
+ const lines = [
131
+ { type: 'system', timestamp: '2024-01-15T10:00:00Z', message: {} },
132
+ { type: 'progress', timestamp: '2024-01-15T10:00:00Z', data: {} },
133
+ userMsg('keep me'),
134
+ ];
135
+ const results = runFilter(lines);
136
+ expect(results).toHaveLength(1);
137
+ expect(results[0].content).toBe('keep me');
138
+ });
139
+ it('silently skips malformed JSON lines', () => {
140
+ const tmp = path.join(os.tmpdir(), `filter-malformed-${Date.now()}.jsonl`);
141
+ try {
142
+ const lines = [
143
+ JSON.stringify(userMsg('before')),
144
+ 'not valid json {{{',
145
+ JSON.stringify(userMsg('after')),
146
+ ].join('\n');
147
+ fs.writeFileSync(tmp, lines);
148
+ const stdout = execFileSync('node', [FILTER_SCRIPT, tmp], {
149
+ encoding: 'utf-8',
150
+ });
151
+ const results = stdout
152
+ .trim()
153
+ .split('\n')
154
+ .filter(Boolean)
155
+ .map((l) => JSON.parse(l));
156
+ expect(results).toHaveLength(2);
157
+ expect(results[0].content).toBe('before');
158
+ expect(results[1].content).toBe('after');
159
+ }
160
+ finally {
161
+ fs.unlinkSync(tmp);
162
+ }
163
+ });
164
+ it('handles multiple content types in a single assistant message', () => {
165
+ const input = assistantMsg([
166
+ { type: 'text', text: 'Let me think...' },
167
+ { type: 'thinking', thinking: 'analyzing the problem' },
168
+ { type: 'tool_use', name: 'grep', input: { pattern: 'foo' } },
169
+ ]);
170
+ const [result] = runFilter([input]);
171
+ expect(result.content).toHaveLength(3);
172
+ expect(result.content[0].t).toBe('text');
173
+ expect(result.content[1].t).toBe('think');
174
+ expect(result.content[2].t).toBe('tool');
175
+ });
176
+ it('defaults is_error to false when not present in tool_result', () => {
177
+ const input = userMsg([
178
+ { type: 'tool_result', tool_use_id: 'tool_789', content: 'ok' },
179
+ ]);
180
+ const [result] = runFilter([input]);
181
+ expect(result.content[0].err).toBe(false);
182
+ });
183
+ it('preserves is_error=true on tool_result', () => {
184
+ const input = userMsg([
185
+ {
186
+ type: 'tool_result',
187
+ tool_use_id: 'tool_err',
188
+ is_error: true,
189
+ content: 'command failed',
190
+ },
191
+ ]);
192
+ const [result] = runFilter([input]);
193
+ expect(result.content[0].err).toBe(true);
194
+ });
195
+ });
196
+ //# sourceMappingURL=filter-session.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-session.test.js","sourceRoot":"","sources":["../../../../../src/__tests__/memory-scripts/filter-session.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,114 @@
1
+ import { execFileSync } from 'child_process';
2
+ import * as fs from 'fs';
3
+ import * as os from 'os';
4
+ import * as path from 'path';
5
+ const SCRIPTS_DIR = path.resolve(__dirname, '../../../templates/skills/codeyam-memory/scripts');
6
+ const READ_SCRIPT = path.join(SCRIPTS_DIR, 'lib/read-json-field.mjs');
7
+ let tmpFile;
8
+ const testData = {
9
+ name: 'test-project',
10
+ version: '1.0.0',
11
+ stats: {
12
+ total_exports: 42,
13
+ total_files: 7,
14
+ },
15
+ dependencies: ['react', 'typescript', 'jest'],
16
+ explicit_markers: [
17
+ { file: 'a.ts', line: 10 },
18
+ { file: 'b.ts', line: 20 },
19
+ ],
20
+ nested: {
21
+ deep: {
22
+ value: 'found-it',
23
+ },
24
+ },
25
+ };
26
+ beforeAll(() => {
27
+ tmpFile = path.join(os.tmpdir(), `read-json-test-${Date.now()}.json`);
28
+ fs.writeFileSync(tmpFile, JSON.stringify(testData));
29
+ });
30
+ afterAll(() => {
31
+ fs.unlinkSync(tmpFile);
32
+ });
33
+ function readField(expr) {
34
+ return execFileSync('node', [READ_SCRIPT, tmpFile, expr], {
35
+ encoding: 'utf-8',
36
+ }).trim();
37
+ }
38
+ describe('read-json-field.mjs', () => {
39
+ describe('simple field access', () => {
40
+ it('reads a top-level string field', () => {
41
+ expect(readField('.name')).toBe('test-project');
42
+ });
43
+ it('reads a top-level number field', () => {
44
+ expect(readField('.version')).toBe('1.0.0');
45
+ });
46
+ it('reads a nested field with dot path', () => {
47
+ expect(readField('.stats.total_exports')).toBe('42');
48
+ });
49
+ it('reads deeply nested fields', () => {
50
+ expect(readField('.nested.deep.value')).toBe('found-it');
51
+ });
52
+ });
53
+ describe('pipe expressions', () => {
54
+ it('gets length of an array', () => {
55
+ expect(readField('.dependencies | length')).toBe('3');
56
+ });
57
+ it('gets length of an object', () => {
58
+ expect(readField('.stats | length')).toBe('2');
59
+ });
60
+ it('gets length of a nested array', () => {
61
+ expect(readField('.explicit_markers | length')).toBe('2');
62
+ });
63
+ });
64
+ describe('the 4 SKILL.md expressions', () => {
65
+ // These are the exact expressions used in SKILL.md Step 2
66
+ it('.dependencies | length', () => {
67
+ expect(readField('.dependencies | length')).toBe('3');
68
+ });
69
+ it('.explicit_markers | length', () => {
70
+ expect(readField('.explicit_markers | length')).toBe('2');
71
+ });
72
+ it('.stats.total_exports', () => {
73
+ expect(readField('.stats.total_exports')).toBe('42');
74
+ });
75
+ it('.stats.total_files', () => {
76
+ expect(readField('.stats.total_files')).toBe('7');
77
+ });
78
+ });
79
+ describe('error handling', () => {
80
+ it('exits non-zero for missing field', () => {
81
+ expect(() => execFileSync('node', [READ_SCRIPT, tmpFile, '.nonexistent.deep'], {
82
+ encoding: 'utf-8',
83
+ stdio: ['pipe', 'pipe', 'pipe'],
84
+ })).toThrow();
85
+ });
86
+ it('exits non-zero for missing file', () => {
87
+ expect(() => execFileSync('node', [READ_SCRIPT, '/tmp/does-not-exist.json', '.foo'], { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] })).toThrow();
88
+ });
89
+ it('exits non-zero with no arguments', () => {
90
+ expect(() => execFileSync('node', [READ_SCRIPT], {
91
+ encoding: 'utf-8',
92
+ stdio: ['pipe', 'pipe', 'pipe'],
93
+ })).toThrow();
94
+ });
95
+ });
96
+ describe('output format', () => {
97
+ it('prints strings without JSON quotes', () => {
98
+ // jq prints strings without quotes by default; we match that
99
+ const result = readField('.name');
100
+ expect(result.startsWith('"')).toBe(false);
101
+ expect(result.endsWith('"')).toBe(false);
102
+ });
103
+ it('prints numbers as plain values', () => {
104
+ const result = readField('.stats.total_exports');
105
+ expect(result).toBe('42');
106
+ expect(Number(result)).toBe(42);
107
+ });
108
+ it('prints arrays as JSON', () => {
109
+ const result = readField('.dependencies');
110
+ expect(JSON.parse(result)).toEqual(['react', 'typescript', 'jest']);
111
+ });
112
+ });
113
+ });
114
+ //# sourceMappingURL=read-json-field.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-json-field.test.js","sourceRoot":"","sources":["../../../../../src/__tests__/memory-scripts/read-json-field.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,149 @@
1
+ import { execFileSync } from 'child_process';
2
+ import * as fs from 'fs';
3
+ import * as os from 'os';
4
+ import * as path from 'path';
5
+ const SCRIPTS_DIR = path.resolve(__dirname, '../../../templates/skills/codeyam-memory/scripts');
6
+ const RG_FALLBACK = path.resolve(SCRIPTS_DIR, 'lib/ripgrep-fallback.mjs');
7
+ let tmpDir;
8
+ let harnessPath;
9
+ beforeAll(() => {
10
+ tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'rg-fallback-test-'));
11
+ // Create test source files
12
+ const srcDir = path.join(tmpDir, 'src');
13
+ fs.mkdirSync(srcDir);
14
+ fs.writeFileSync(path.join(srcDir, 'hello.ts'), [
15
+ 'export function greet(name: string) {',
16
+ ' return `Hello, ${name}!`;',
17
+ '}',
18
+ '',
19
+ 'export const DEFAULT_NAME = "World";',
20
+ ].join('\n'));
21
+ fs.writeFileSync(path.join(srcDir, 'math.ts'), [
22
+ 'export function add(a: number, b: number) {',
23
+ ' return a + b;',
24
+ '}',
25
+ ].join('\n'));
26
+ // A file in node_modules that should be excluded
27
+ const nmDir = path.join(tmpDir, 'node_modules', 'some-pkg');
28
+ fs.mkdirSync(nmDir, { recursive: true });
29
+ fs.writeFileSync(path.join(nmDir, 'index.ts'), 'export function shouldNotMatch() {}');
30
+ // Harness that calls _nodeFallback directly (the pure-Node path)
31
+ harnessPath = path.join(tmpDir, 'harness.mjs');
32
+ fs.writeFileSync(harnessPath, `const { _nodeFallback } = await import(${JSON.stringify(RG_FALLBACK)});
33
+ const result = await _nodeFallback(process.argv[2], JSON.parse(process.argv[3]));
34
+ process.stdout.write(result);
35
+ `);
36
+ });
37
+ afterAll(() => {
38
+ fs.rmSync(tmpDir, { recursive: true, force: true });
39
+ });
40
+ function runFallback(pattern, opts) {
41
+ return execFileSync('node', [harnessPath, pattern, JSON.stringify({ cwd: tmpDir, ...opts })], { encoding: 'utf-8', timeout: 10000 });
42
+ }
43
+ describe('ripgrep-fallback.mjs — Node fallback path', () => {
44
+ it('finds matching lines with file:line:text format', () => {
45
+ const result = runFallback('^export', { types: ['ts'] });
46
+ const lines = result.trim().split('\n').filter(Boolean);
47
+ expect(lines.length).toBeGreaterThanOrEqual(3);
48
+ for (const line of lines) {
49
+ expect(line).toMatch(/^[^:]+:\d+:.+$/);
50
+ }
51
+ });
52
+ it('filters by file type', () => {
53
+ const result = runFallback('^export', { types: ['ts'] });
54
+ const files = result
55
+ .trim()
56
+ .split('\n')
57
+ .filter(Boolean)
58
+ .map((l) => l.split(':')[0]);
59
+ for (const f of files) {
60
+ expect(f).toMatch(/\.ts$/);
61
+ }
62
+ });
63
+ it('respects glob ignore patterns', () => {
64
+ const result = runFallback('export function', {
65
+ types: ['ts'],
66
+ globs: ['!node_modules'],
67
+ });
68
+ const files = result
69
+ .trim()
70
+ .split('\n')
71
+ .filter(Boolean)
72
+ .map((l) => l.split(':')[0]);
73
+ for (const f of files) {
74
+ expect(f).not.toContain('node_modules');
75
+ }
76
+ });
77
+ it('returns empty string for no matches', () => {
78
+ const result = runFallback('xyzzy_no_match_12345', { types: ['ts'] });
79
+ expect(result).toBe('');
80
+ });
81
+ it('includes correct line numbers', () => {
82
+ const result = runFallback('DEFAULT_NAME', {
83
+ types: ['ts'],
84
+ lineNumbers: true,
85
+ });
86
+ const lines = result.trim().split('\n').filter(Boolean);
87
+ expect(lines).toHaveLength(1);
88
+ // Line 5 of hello.ts: export const DEFAULT_NAME = "World";
89
+ expect(lines[0]).toMatch(/hello\.ts:5:/);
90
+ });
91
+ it('excludes files matching negative glob extensions', () => {
92
+ // Add a .d.ts file that should be excluded
93
+ fs.writeFileSync(path.join(tmpDir, 'src', 'types.d.ts'), 'export type Foo = string;');
94
+ const result = runFallback('^export', {
95
+ types: ['ts'],
96
+ globs: ['!*.d.ts'],
97
+ });
98
+ const files = result
99
+ .trim()
100
+ .split('\n')
101
+ .filter(Boolean)
102
+ .map((l) => l.split(':')[0]);
103
+ for (const f of files) {
104
+ expect(f).not.toMatch(/\.d\.ts$/);
105
+ }
106
+ });
107
+ });
108
+ // Test the full ripgrepSearch (rg path) if rg is installed
109
+ const rgAvailable = (() => {
110
+ try {
111
+ execFileSync('rg', ['--version'], { encoding: 'utf-8' });
112
+ return true;
113
+ }
114
+ catch {
115
+ return false;
116
+ }
117
+ })();
118
+ (rgAvailable ? describe : describe.skip)('ripgrep-fallback.mjs — rg path (rg installed)', () => {
119
+ let rgHarness;
120
+ beforeAll(() => {
121
+ rgHarness = path.join(tmpDir, 'harness-rg.mjs');
122
+ fs.writeFileSync(rgHarness, `const { ripgrepSearch } = await import(${JSON.stringify(RG_FALLBACK)});
123
+ const result = await ripgrepSearch(process.argv[2], JSON.parse(process.argv[3]));
124
+ process.stdout.write(result);
125
+ `);
126
+ });
127
+ function runRg(pattern, opts) {
128
+ return execFileSync('node', [rgHarness, pattern, JSON.stringify({ cwd: tmpDir, ...opts })], { encoding: 'utf-8', timeout: 10000 });
129
+ }
130
+ it('finds matching lines', () => {
131
+ const result = runRg('^export', { types: ['ts'] });
132
+ const lines = result.trim().split('\n').filter(Boolean);
133
+ expect(lines.length).toBeGreaterThanOrEqual(3);
134
+ });
135
+ it('returns empty string for no matches', () => {
136
+ const result = runRg('xyzzy_no_match_12345', { types: ['ts'] });
137
+ expect(result).toBe('');
138
+ });
139
+ it('completes without hanging (regression: rg must not read stdin)', () => {
140
+ // Without explicit '.' path arg, rg reads stdin and hangs under execFile.
141
+ const result = runRg('DEFAULT_NAME', {
142
+ types: ['ts'],
143
+ lineNumbers: true,
144
+ });
145
+ const lines = result.trim().split('\n').filter(Boolean);
146
+ expect(lines).toHaveLength(1);
147
+ });
148
+ });
149
+ //# sourceMappingURL=ripgrep-fallback.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ripgrep-fallback.test.js","sourceRoot":"","sources":["../../../../../src/__tests__/memory-scripts/ripgrep-fallback.test.ts"],"names":[],"mappings":"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"}