@codeyam/codeyam-cli 0.1.0-staging.1 → 0.1.0-staging.596f0eb

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 (1821) hide show
  1. package/analyzer-template/.build-info.json +7 -7
  2. package/analyzer-template/common/execAsync.ts +1 -1
  3. package/analyzer-template/log.txt +3 -3
  4. package/analyzer-template/package.json +18 -17
  5. package/analyzer-template/packages/ai/index.ts +6 -2
  6. package/analyzer-template/packages/ai/package.json +2 -2
  7. package/analyzer-template/packages/ai/scripts/ai-test-matrix.mjs +424 -0
  8. package/analyzer-template/packages/ai/src/lib/analyzeScope.ts +63 -1
  9. package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +47 -37
  10. package/analyzer-template/packages/ai/src/lib/astScopes/methodSemantics.ts +248 -0
  11. package/analyzer-template/packages/ai/src/lib/astScopes/paths.ts +42 -3
  12. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.ts +10 -1
  13. package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +215 -15
  14. package/analyzer-template/packages/ai/src/lib/astScopes/types.ts +4 -0
  15. package/analyzer-template/packages/ai/src/lib/checkAllAttributes.ts +1 -3
  16. package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +2137 -548
  17. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.ts +175 -7
  18. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.ts +14 -2
  19. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.ts +7 -5
  20. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.ts +139 -0
  21. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/DebugTracer.ts +224 -0
  22. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/PathManager.ts +203 -0
  23. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/README.md +294 -0
  24. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.ts +161 -0
  25. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/VisitedTracker.ts +235 -0
  26. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.ts +68 -2
  27. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.ts +3 -3
  28. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts +43 -12
  29. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/getFunctionCallRoot.ts +33 -3
  30. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/selectBestValue.ts +70 -0
  31. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/uniqueIdUtils.ts +113 -0
  32. package/analyzer-template/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.ts +52 -4
  33. package/analyzer-template/packages/ai/src/lib/generateChangesEntityDocumentation.ts +20 -2
  34. package/analyzer-template/packages/ai/src/lib/generateChangesEntityKeyAttributes.ts +78 -98
  35. package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarioData.ts +59 -160
  36. package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarios.ts +81 -265
  37. package/analyzer-template/packages/ai/src/lib/generateEntityDataStructure.ts +7 -5
  38. package/analyzer-template/packages/ai/src/lib/generateEntityDocumentation.ts +16 -2
  39. package/analyzer-template/packages/ai/src/lib/generateEntityKeyAttributes.ts +88 -168
  40. package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +62 -149
  41. package/analyzer-template/packages/ai/src/lib/generateEntityScenarios.ts +84 -254
  42. package/analyzer-template/packages/ai/src/lib/generateStatementAnalysis.ts +49 -72
  43. package/analyzer-template/packages/ai/src/lib/getConditionalUsagesFromCode.ts +27 -6
  44. package/analyzer-template/packages/ai/src/lib/getLLMCallStats.ts +0 -14
  45. package/analyzer-template/packages/ai/src/lib/mergeStatements.ts +104 -0
  46. package/analyzer-template/packages/ai/src/lib/modelInfo.ts +15 -0
  47. package/analyzer-template/packages/ai/src/lib/promptGenerators/gatherAttributesMap.ts +133 -24
  48. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityDocumentationGenerator.ts +8 -33
  49. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.ts +54 -62
  50. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.ts +107 -110
  51. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityDocumentationGenerator.ts +8 -27
  52. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.ts +33 -38
  53. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.ts +36 -30
  54. package/analyzer-template/packages/ai/src/lib/types/index.ts +2 -0
  55. package/analyzer-template/packages/ai/src/lib/worker/SerializableDataStructure.ts +45 -0
  56. package/analyzer-template/packages/analyze/src/lib/FileAnalyzer.ts +202 -12
  57. package/analyzer-template/packages/analyze/src/lib/asts/nodes/getNodeType.ts +1 -1
  58. package/analyzer-template/packages/analyze/src/lib/asts/nodes/index.ts +2 -1
  59. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.ts +238 -0
  60. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllExportedNodes.ts +4 -2
  61. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllExports.ts +38 -9
  62. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getDeclaredEntityNode.ts +25 -0
  63. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/index.ts +2 -0
  64. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +462 -121
  65. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +27 -2
  66. package/analyzer-template/packages/analyze/src/lib/files/analyze/findOrCreateEntity.ts +1 -1
  67. package/analyzer-template/packages/analyze/src/lib/files/analyze/findPreviousAnalysis.ts +1 -1
  68. package/analyzer-template/packages/analyze/src/lib/files/analyze/findValidExistingAnalysis.ts +1 -1
  69. package/analyzer-template/packages/analyze/src/lib/files/analyze/gatherEntityMap.ts +16 -8
  70. package/analyzer-template/packages/analyze/src/lib/files/analyze/setActiveAnalysisBranches.ts +1 -1
  71. package/analyzer-template/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.ts +5 -13
  72. package/analyzer-template/packages/analyze/src/lib/files/analyzeChange.ts +35 -16
  73. package/analyzer-template/packages/analyze/src/lib/files/analyzeEntity.ts +18 -4
  74. package/analyzer-template/packages/analyze/src/lib/files/analyzeInitial.ts +36 -17
  75. package/analyzer-template/packages/analyze/src/lib/files/analyzeNextRoute.ts +1 -1
  76. package/analyzer-template/packages/analyze/src/lib/files/analyzeRemixRoute.ts +22 -34
  77. package/analyzer-template/packages/analyze/src/lib/files/getImportedExports.ts +131 -14
  78. package/analyzer-template/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.ts +244 -104
  79. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +182 -7
  80. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.ts +15 -1
  81. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarioData.ts +14 -5
  82. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarios.ts +9 -1
  83. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +167 -16
  84. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.ts +12 -2
  85. package/analyzer-template/packages/analyze/src/lib/files/setImportedExports.ts +1 -1
  86. package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.d.ts +23 -0
  87. package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.d.ts.map +1 -0
  88. package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.js +30 -0
  89. package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.js.map +1 -0
  90. package/analyzer-template/packages/aws/package.json +8 -7
  91. package/analyzer-template/packages/aws/s3/index.ts +4 -0
  92. package/analyzer-template/packages/aws/src/lib/s3/getPresignedUrl.ts +62 -0
  93. package/analyzer-template/packages/database/client.ts +35 -0
  94. package/analyzer-template/packages/database/package.json +31 -0
  95. package/analyzer-template/packages/database/src/lib/kysely/db.ts +482 -0
  96. package/analyzer-template/packages/database/src/lib/kysely/tableRelations.ts +108 -0
  97. package/analyzer-template/packages/database/src/lib/kysely/tables/debugReportsTable.ts +61 -0
  98. package/analyzer-template/packages/database/src/lib/loadCommit.ts +162 -0
  99. package/analyzer-template/packages/database/src/lib/loadEntities.ts +94 -0
  100. package/analyzer-template/packages/database/src/lib/loadEntity.ts +105 -0
  101. package/analyzer-template/packages/database/src/lib/loadFile.ts +42 -0
  102. package/analyzer-template/packages/database/src/lib/loadFiles.ts +134 -0
  103. package/analyzer-template/packages/database/src/lib/loadReadyToBeCapturedAnalyses.ts +97 -0
  104. package/analyzer-template/packages/database/src/lib/loadStatement.ts +23 -0
  105. package/analyzer-template/packages/database/src/lib/saveEntityStatements.ts +27 -0
  106. package/analyzer-template/packages/database/src/lib/scenarioToDb.ts +35 -0
  107. package/analyzer-template/packages/database/src/lib/updateCommitMetadata.ts +187 -0
  108. package/analyzer-template/packages/database/src/lib/updateProjectMetadata.ts +95 -0
  109. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.ts +28 -21
  110. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.ts +18 -11
  111. package/analyzer-template/packages/generate/src/lib/deepMerge.ts +3 -1
  112. package/analyzer-template/packages/generate/src/lib/directExecutionScript.ts +17 -2
  113. package/analyzer-template/packages/generate/src/lib/getComponentScenarioPath.ts +8 -3
  114. package/analyzer-template/packages/generate/src/lib/scenarioComponent.ts +6 -3
  115. package/analyzer-template/packages/github/dist/database/index.d.ts.map +1 -0
  116. package/analyzer-template/packages/github/dist/database/index.js.map +1 -0
  117. package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.d.ts.map +1 -0
  118. package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.js.map +1 -0
  119. package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.d.ts.map +1 -0
  120. package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.js.map +1 -0
  121. package/analyzer-template/packages/github/dist/database/src/lib/backgroundJobToDb.d.ts.map +1 -0
  122. package/analyzer-template/packages/github/dist/database/src/lib/backgroundJobToDb.js.map +1 -0
  123. package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.d.ts.map +1 -0
  124. package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.js.map +1 -0
  125. package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.d.ts.map +1 -0
  126. package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.js.map +1 -0
  127. package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.d.ts.map +1 -0
  128. package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.js.map +1 -0
  129. package/analyzer-template/packages/github/dist/database/src/lib/createOrUpdateBranchCommitStats.d.ts.map +1 -0
  130. package/analyzer-template/packages/github/dist/database/src/lib/createOrUpdateBranchCommitStats.js.map +1 -0
  131. package/analyzer-template/packages/github/dist/database/src/lib/createProject.d.ts.map +1 -0
  132. package/analyzer-template/packages/github/dist/database/src/lib/createProject.js.map +1 -0
  133. package/analyzer-template/packages/github/dist/database/src/lib/createRetryFetch.d.ts.map +1 -0
  134. package/analyzer-template/packages/github/dist/database/src/lib/createRetryFetch.js.map +1 -0
  135. package/analyzer-template/packages/github/dist/database/src/lib/dbToAnalysis.d.ts.map +1 -0
  136. package/analyzer-template/packages/github/dist/database/src/lib/dbToAnalysis.js.map +1 -0
  137. package/analyzer-template/packages/github/dist/database/src/lib/dbToAnalysisBranch.d.ts.map +1 -0
  138. package/analyzer-template/packages/github/dist/database/src/lib/dbToAnalysisBranch.js.map +1 -0
  139. package/analyzer-template/packages/github/dist/database/src/lib/dbToBackgroundJob.d.ts.map +1 -0
  140. package/analyzer-template/packages/github/dist/database/src/lib/dbToBackgroundJob.js.map +1 -0
  141. package/analyzer-template/packages/github/dist/database/src/lib/dbToBranch.d.ts.map +1 -0
  142. package/analyzer-template/packages/github/dist/database/src/lib/dbToBranch.js.map +1 -0
  143. package/analyzer-template/packages/github/dist/database/src/lib/dbToCommit.d.ts.map +1 -0
  144. package/analyzer-template/packages/github/dist/database/src/lib/dbToCommit.js.map +1 -0
  145. package/analyzer-template/packages/github/dist/database/src/lib/dbToCommitBranch.d.ts.map +1 -0
  146. package/analyzer-template/packages/github/dist/database/src/lib/dbToCommitBranch.js.map +1 -0
  147. package/analyzer-template/packages/github/dist/database/src/lib/dbToEntity.d.ts.map +1 -0
  148. package/analyzer-template/packages/github/dist/database/src/lib/dbToEntity.js.map +1 -0
  149. package/analyzer-template/packages/github/dist/database/src/lib/dbToEntityBranch.d.ts.map +1 -0
  150. package/analyzer-template/packages/github/dist/database/src/lib/dbToEntityBranch.js.map +1 -0
  151. package/analyzer-template/packages/github/dist/database/src/lib/dbToFile.d.ts.map +1 -0
  152. package/analyzer-template/packages/github/dist/database/src/lib/dbToFile.js.map +1 -0
  153. package/analyzer-template/packages/github/dist/database/src/lib/dbToProject.d.ts.map +1 -0
  154. package/analyzer-template/packages/github/dist/database/src/lib/dbToProject.js.map +1 -0
  155. package/analyzer-template/packages/github/dist/database/src/lib/dbToScenario.d.ts.map +1 -0
  156. package/analyzer-template/packages/github/dist/database/src/lib/dbToScenario.js.map +1 -0
  157. package/analyzer-template/packages/github/dist/database/src/lib/dbToScenarioComment.d.ts.map +1 -0
  158. package/analyzer-template/packages/github/dist/database/src/lib/dbToScenarioComment.js.map +1 -0
  159. package/analyzer-template/packages/github/dist/database/src/lib/dbToUserScenario.d.ts.map +1 -0
  160. package/analyzer-template/packages/github/dist/database/src/lib/dbToUserScenario.js.map +1 -0
  161. package/analyzer-template/packages/github/dist/database/src/lib/deleteBranch.d.ts.map +1 -0
  162. package/analyzer-template/packages/github/dist/database/src/lib/deleteBranch.js.map +1 -0
  163. package/analyzer-template/packages/github/dist/database/src/lib/deleteEntities.d.ts.map +1 -0
  164. package/analyzer-template/packages/github/dist/database/src/lib/deleteEntities.js.map +1 -0
  165. package/analyzer-template/packages/github/dist/database/src/lib/deleteFile.d.ts.map +1 -0
  166. package/analyzer-template/packages/github/dist/database/src/lib/deleteFile.js.map +1 -0
  167. package/analyzer-template/packages/github/dist/database/src/lib/deleteScenarios.d.ts.map +1 -0
  168. package/analyzer-template/packages/github/dist/database/src/lib/deleteScenarios.js.map +1 -0
  169. package/analyzer-template/packages/github/dist/database/src/lib/entityToDb.d.ts.map +1 -0
  170. package/analyzer-template/packages/github/dist/database/src/lib/entityToDb.js.map +1 -0
  171. package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.d.ts.map +1 -0
  172. package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.js.map +1 -0
  173. package/analyzer-template/packages/github/dist/database/src/lib/generateSha.d.ts.map +1 -0
  174. package/analyzer-template/packages/github/dist/database/src/lib/generateSha.js.map +1 -0
  175. package/analyzer-template/packages/github/dist/database/src/lib/jsonUpdateUtils.d.ts.map +1 -0
  176. package/analyzer-template/packages/github/dist/database/src/lib/jsonUpdateUtils.js.map +1 -0
  177. package/analyzer-template/packages/github/dist/database/src/lib/kysely/aggregationHelpers.d.ts.map +1 -0
  178. package/analyzer-template/packages/github/dist/database/src/lib/kysely/aggregationHelpers.js.map +1 -0
  179. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts +69 -0
  180. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts.map +1 -0
  181. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js +363 -0
  182. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js.map +1 -0
  183. package/analyzer-template/packages/github/dist/database/src/lib/kysely/schemaHelpers.d.ts.map +1 -0
  184. package/analyzer-template/packages/github/dist/database/src/lib/kysely/schemaHelpers.js.map +1 -0
  185. package/analyzer-template/packages/github/dist/database/src/lib/kysely/sqliteBooleanPlugin.d.ts.map +1 -0
  186. package/analyzer-template/packages/github/dist/database/src/lib/kysely/sqliteBooleanPlugin.js.map +1 -0
  187. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tableRelations.d.ts +89 -0
  188. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tableRelations.d.ts.map +1 -0
  189. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tableRelations.js.map +1 -0
  190. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tableRelationsTypes.d.ts.map +1 -0
  191. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tableRelationsTypes.js.map +1 -0
  192. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts +107 -0
  193. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts.map +1 -0
  194. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.js.map +1 -0
  195. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysisBranchesTable.d.ts.map +1 -0
  196. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysisBranchesTable.js.map +1 -0
  197. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/backgroundJobsTable.d.ts.map +1 -0
  198. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/backgroundJobsTable.js.map +1 -0
  199. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/branchesTable.d.ts.map +1 -0
  200. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/branchesTable.js.map +1 -0
  201. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitBranchesTable.d.ts.map +1 -0
  202. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitBranchesTable.js.map +1 -0
  203. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts.map +1 -0
  204. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js.map +1 -0
  205. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts +37 -0
  206. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts.map +1 -0
  207. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.js +27 -0
  208. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -0
  209. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.d.ts +67 -0
  210. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.d.ts.map +1 -0
  211. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.js.map +1 -0
  212. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entityBranchesTable.d.ts.map +1 -0
  213. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entityBranchesTable.js.map +1 -0
  214. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entityStatementsTable.d.ts.map +1 -0
  215. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entityStatementsTable.js.map +1 -0
  216. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/filesTable.d.ts.map +1 -0
  217. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/filesTable.js.map +1 -0
  218. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/githubPayloadsTable.d.ts.map +1 -0
  219. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/githubPayloadsTable.js.map +1 -0
  220. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/githubUsersTable.d.ts.map +1 -0
  221. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/githubUsersTable.js.map +1 -0
  222. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/projectsTable.d.ts.map +1 -0
  223. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/projectsTable.js.map +1 -0
  224. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenarioCommentsTable.d.ts.map +1 -0
  225. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenarioCommentsTable.js.map +1 -0
  226. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts.map +1 -0
  227. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.js.map +1 -0
  228. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/statementsTable.d.ts.map +1 -0
  229. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/statementsTable.js.map +1 -0
  230. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/teamsTable.d.ts.map +1 -0
  231. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/teamsTable.js.map +1 -0
  232. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/userScenariosTable.d.ts.map +1 -0
  233. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/userScenariosTable.js.map +1 -0
  234. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/userTeamsTable.d.ts.map +1 -0
  235. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/userTeamsTable.js.map +1 -0
  236. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/usersTable.d.ts.map +1 -0
  237. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/usersTable.js.map +1 -0
  238. package/analyzer-template/packages/github/dist/database/src/lib/kysely/upsertHelpers.d.ts.map +1 -0
  239. package/analyzer-template/packages/github/dist/database/src/lib/kysely/upsertHelpers.js.map +1 -0
  240. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts.map +1 -0
  241. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js.map +1 -0
  242. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.d.ts.map +1 -0
  243. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js.map +1 -0
  244. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysisBranches.d.ts.map +1 -0
  245. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysisBranches.js.map +1 -0
  246. package/analyzer-template/packages/github/dist/database/src/lib/loadBackgroundJob.d.ts.map +1 -0
  247. package/analyzer-template/packages/github/dist/database/src/lib/loadBackgroundJob.js.map +1 -0
  248. package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.d.ts.map +1 -0
  249. package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js.map +1 -0
  250. package/analyzer-template/packages/github/dist/database/src/lib/loadBranches.d.ts.map +1 -0
  251. package/analyzer-template/packages/github/dist/database/src/lib/loadBranches.js.map +1 -0
  252. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.d.ts.map +1 -0
  253. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js.map +1 -0
  254. package/analyzer-template/packages/github/dist/database/src/lib/loadCommitBranches.d.ts.map +1 -0
  255. package/analyzer-template/packages/github/dist/database/src/lib/loadCommitBranches.js.map +1 -0
  256. package/analyzer-template/packages/github/dist/database/src/lib/loadCommitMetadata.d.ts.map +1 -0
  257. package/analyzer-template/packages/github/dist/database/src/lib/loadCommitMetadata.js.map +1 -0
  258. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts.map +1 -0
  259. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js.map +1 -0
  260. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts.map +1 -0
  261. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js +63 -0
  262. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js.map +1 -0
  263. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.d.ts.map +1 -0
  264. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.js.map +1 -0
  265. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.d.ts.map +1 -0
  266. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js.map +1 -0
  267. package/analyzer-template/packages/github/dist/database/src/lib/loadFile.d.ts.map +1 -0
  268. package/analyzer-template/packages/github/dist/database/src/lib/loadFile.js.map +1 -0
  269. package/analyzer-template/packages/github/dist/database/src/lib/loadFiles.d.ts.map +1 -0
  270. package/analyzer-template/packages/github/dist/database/src/lib/loadFiles.js.map +1 -0
  271. package/analyzer-template/packages/github/dist/database/src/lib/loadMostRecentPreviousAnalysis.d.ts.map +1 -0
  272. package/analyzer-template/packages/github/dist/database/src/lib/loadMostRecentPreviousAnalysis.js.map +1 -0
  273. package/analyzer-template/packages/github/dist/database/src/lib/loadProject.d.ts.map +1 -0
  274. package/analyzer-template/packages/github/dist/database/src/lib/loadProject.js.map +1 -0
  275. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.d.ts.map +1 -0
  276. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js +65 -0
  277. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -0
  278. package/analyzer-template/packages/github/dist/database/src/lib/loadScenario.d.ts.map +1 -0
  279. package/analyzer-template/packages/github/dist/database/src/lib/loadScenario.js.map +1 -0
  280. package/analyzer-template/packages/github/dist/database/src/lib/loadStatement.d.ts +3 -0
  281. package/analyzer-template/packages/github/dist/database/src/lib/loadStatement.d.ts.map +1 -0
  282. package/analyzer-template/packages/github/dist/database/src/lib/loadStatement.js.map +1 -0
  283. package/analyzer-template/packages/github/dist/database/src/lib/nullsToUndefines.d.ts.map +1 -0
  284. package/analyzer-template/packages/github/dist/database/src/lib/nullsToUndefines.js.map +1 -0
  285. package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.d.ts.map +1 -0
  286. package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.js.map +1 -0
  287. package/analyzer-template/packages/github/dist/database/src/lib/saveBackgroundEvent.d.ts.map +1 -0
  288. package/analyzer-template/packages/github/dist/database/src/lib/saveBackgroundEvent.js.map +1 -0
  289. package/analyzer-template/packages/github/dist/database/src/lib/saveEntityStatements.d.ts.map +1 -0
  290. package/analyzer-template/packages/github/dist/database/src/lib/saveEntityStatements.js.map +1 -0
  291. package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.d.ts.map +1 -0
  292. package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.js.map +1 -0
  293. package/analyzer-template/packages/github/dist/database/src/lib/saveStatement.d.ts.map +1 -0
  294. package/analyzer-template/packages/github/dist/database/src/lib/saveStatement.js.map +1 -0
  295. package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.d.ts.map +1 -0
  296. package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.js +18 -0
  297. package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.js.map +1 -0
  298. package/analyzer-template/packages/github/dist/database/src/lib/supabase.d.ts +4 -0
  299. package/analyzer-template/packages/github/dist/database/src/lib/supabase.d.ts.map +1 -0
  300. package/analyzer-template/packages/github/dist/database/src/lib/supabase.js.map +1 -0
  301. package/analyzer-template/packages/github/dist/database/src/lib/updateBackgroundJobProgress.d.ts.map +1 -0
  302. package/analyzer-template/packages/github/dist/database/src/lib/updateBackgroundJobProgress.js.map +1 -0
  303. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts.map +1 -0
  304. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js.map +1 -0
  305. package/analyzer-template/packages/github/dist/database/src/lib/updateEntityBranch.d.ts.map +1 -0
  306. package/analyzer-template/packages/github/dist/database/src/lib/updateEntityBranch.js.map +1 -0
  307. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisMetadata.d.ts.map +1 -0
  308. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisMetadata.js.map +1 -0
  309. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.d.ts.map +1 -0
  310. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.js.map +1 -0
  311. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.d.ts.map +1 -0
  312. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +1 -0
  313. package/analyzer-template/packages/github/dist/database/src/lib/updateProjectMetadata.d.ts.map +1 -0
  314. package/analyzer-template/packages/github/dist/database/src/lib/updateProjectMetadata.js.map +1 -0
  315. package/analyzer-template/packages/github/dist/database/src/lib/upsertAnalyses.d.ts.map +1 -0
  316. package/analyzer-template/packages/github/dist/database/src/lib/upsertAnalyses.js.map +1 -0
  317. package/analyzer-template/packages/github/dist/database/src/lib/upsertAnalysesWithScenarios.d.ts.map +1 -0
  318. package/analyzer-template/packages/github/dist/database/src/lib/upsertAnalysesWithScenarios.js.map +1 -0
  319. package/analyzer-template/packages/github/dist/database/src/lib/upsertAnalysisBranches.d.ts.map +1 -0
  320. package/analyzer-template/packages/github/dist/database/src/lib/upsertAnalysisBranches.js.map +1 -0
  321. package/analyzer-template/packages/github/dist/database/src/lib/upsertBackgroundJob.d.ts.map +1 -0
  322. package/analyzer-template/packages/github/dist/database/src/lib/upsertBackgroundJob.js.map +1 -0
  323. package/analyzer-template/packages/github/dist/database/src/lib/upsertBranches.d.ts.map +1 -0
  324. package/analyzer-template/packages/github/dist/database/src/lib/upsertBranches.js.map +1 -0
  325. package/analyzer-template/packages/github/dist/database/src/lib/upsertCommitBranches.d.ts.map +1 -0
  326. package/analyzer-template/packages/github/dist/database/src/lib/upsertCommitBranches.js.map +1 -0
  327. package/analyzer-template/packages/github/dist/database/src/lib/upsertCommits.d.ts.map +1 -0
  328. package/analyzer-template/packages/github/dist/database/src/lib/upsertCommits.js.map +1 -0
  329. package/analyzer-template/packages/github/dist/database/src/lib/upsertEntities.d.ts.map +1 -0
  330. package/analyzer-template/packages/github/dist/database/src/lib/upsertEntities.js.map +1 -0
  331. package/analyzer-template/packages/github/dist/database/src/lib/upsertEntityBranches.d.ts.map +1 -0
  332. package/analyzer-template/packages/github/dist/database/src/lib/upsertEntityBranches.js.map +1 -0
  333. package/analyzer-template/packages/github/dist/database/src/lib/upsertFiles.d.ts.map +1 -0
  334. package/analyzer-template/packages/github/dist/database/src/lib/upsertFiles.js.map +1 -0
  335. package/analyzer-template/packages/github/dist/database/src/lib/upsertGithubUser.d.ts.map +1 -0
  336. package/analyzer-template/packages/github/dist/database/src/lib/upsertGithubUser.js.map +1 -0
  337. package/analyzer-template/packages/github/dist/database/src/lib/upsertProjects.d.ts.map +1 -0
  338. package/analyzer-template/packages/github/dist/database/src/lib/upsertProjects.js.map +1 -0
  339. package/analyzer-template/packages/github/dist/database/src/lib/upsertScenarios.d.ts.map +1 -0
  340. package/analyzer-template/packages/github/dist/database/src/lib/upsertScenarios.js.map +1 -0
  341. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.d.ts.map +1 -1
  342. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +28 -21
  343. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
  344. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.d.ts.map +1 -1
  345. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js +18 -11
  346. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js.map +1 -1
  347. package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.d.ts.map +1 -1
  348. package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.js +3 -1
  349. package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.js.map +1 -1
  350. package/analyzer-template/packages/github/dist/generate/src/lib/directExecutionScript.d.ts.map +1 -1
  351. package/analyzer-template/packages/github/dist/generate/src/lib/directExecutionScript.js +10 -1
  352. package/analyzer-template/packages/github/dist/generate/src/lib/directExecutionScript.js.map +1 -1
  353. package/analyzer-template/packages/github/dist/generate/src/lib/getComponentScenarioPath.d.ts.map +1 -1
  354. package/analyzer-template/packages/github/dist/generate/src/lib/getComponentScenarioPath.js +7 -3
  355. package/analyzer-template/packages/github/dist/generate/src/lib/getComponentScenarioPath.js.map +1 -1
  356. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponent.d.ts.map +1 -1
  357. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponent.js +5 -3
  358. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponent.js.map +1 -1
  359. package/analyzer-template/packages/github/dist/github/src/lib/getCommitsFromGithub.js +1 -1
  360. package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.js +1 -1
  361. package/analyzer-template/packages/github/dist/github/src/lib/syncBranches.js +1 -1
  362. package/analyzer-template/packages/github/dist/github/src/lib/syncHeadBranches.js +1 -1
  363. package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.js +1 -1
  364. package/analyzer-template/packages/github/dist/github/src/lib/syncPullRequest.js +1 -1
  365. package/analyzer-template/packages/github/dist/github/src/lib/updateCommitBranchesInDb.js +1 -1
  366. package/analyzer-template/packages/github/dist/github/src/lib/updateFilesInDb.js +1 -1
  367. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts +4 -0
  368. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts.map +1 -1
  369. package/analyzer-template/packages/github/dist/types/src/types/Entity.d.ts +2 -0
  370. package/analyzer-template/packages/github/dist/types/src/types/Entity.d.ts.map +1 -1
  371. package/analyzer-template/packages/github/dist/utils/index.d.ts +3 -0
  372. package/analyzer-template/packages/github/dist/utils/index.d.ts.map +1 -1
  373. package/analyzer-template/packages/github/dist/utils/index.js +4 -0
  374. package/analyzer-template/packages/github/dist/utils/index.js.map +1 -1
  375. package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.d.ts +25 -0
  376. package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.d.ts.map +1 -0
  377. package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.js +40 -0
  378. package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.js.map +1 -0
  379. package/analyzer-template/packages/github/dist/utils/src/lib/applyUniversalMocks.d.ts.map +1 -1
  380. package/analyzer-template/packages/github/dist/utils/src/lib/applyUniversalMocks.js +65 -7
  381. package/analyzer-template/packages/github/dist/utils/src/lib/applyUniversalMocks.js.map +1 -1
  382. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.d.ts +13 -1
  383. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.d.ts.map +1 -1
  384. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.js +14 -2
  385. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.js.map +1 -1
  386. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getNextRoutePath.d.ts.map +1 -1
  387. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getNextRoutePath.js +5 -3
  388. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getNextRoutePath.js.map +1 -1
  389. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getRemixRoutePath.d.ts.map +1 -1
  390. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getRemixRoutePath.js +2 -1
  391. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getRemixRoutePath.js.map +1 -1
  392. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.d.ts +12 -1
  393. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.d.ts.map +1 -1
  394. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +14 -2
  395. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
  396. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.d.ts.map +1 -1
  397. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js +1 -0
  398. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js.map +1 -1
  399. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts +21 -0
  400. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts.map +1 -0
  401. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +62 -0
  402. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -0
  403. package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.d.ts.map +1 -1
  404. package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.js +17 -0
  405. package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
  406. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
  407. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js +4 -1
  408. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js.map +1 -1
  409. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/buildStartCommand.d.ts +18 -0
  410. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/buildStartCommand.d.ts.map +1 -0
  411. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/buildStartCommand.js +45 -0
  412. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/buildStartCommand.js.map +1 -0
  413. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/getWebappInfo.d.ts +26 -0
  414. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/getWebappInfo.d.ts.map +1 -0
  415. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/getWebappInfo.js +67 -0
  416. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/getWebappInfo.js.map +1 -0
  417. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/index.d.ts +3 -0
  418. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/index.d.ts.map +1 -0
  419. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/index.js +3 -0
  420. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/index.js.map +1 -0
  421. package/analyzer-template/packages/github/src/lib/getCommitsFromGithub.ts +1 -1
  422. package/analyzer-template/packages/github/src/lib/loadOrCreateCommit.ts +1 -1
  423. package/analyzer-template/packages/github/src/lib/syncBranches.ts +1 -1
  424. package/analyzer-template/packages/github/src/lib/syncHeadBranches.ts +1 -1
  425. package/analyzer-template/packages/github/src/lib/syncPrimaryBranch.ts +1 -1
  426. package/analyzer-template/packages/github/src/lib/syncPullRequest.ts +1 -1
  427. package/analyzer-template/packages/github/src/lib/updateCommitBranchesInDb.ts +1 -1
  428. package/analyzer-template/packages/github/src/lib/updateFilesInDb.ts +1 -1
  429. package/analyzer-template/packages/types/src/types/Analysis.ts +4 -0
  430. package/analyzer-template/packages/types/src/types/Entity.ts +2 -0
  431. package/analyzer-template/packages/ui-components/package.json +4 -4
  432. package/analyzer-template/packages/ui-components/src/scenario-editor/components/DataItemEditor.tsx +1 -1
  433. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts +4 -0
  434. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts.map +1 -1
  435. package/analyzer-template/packages/utils/dist/types/src/types/Entity.d.ts +2 -0
  436. package/analyzer-template/packages/utils/dist/types/src/types/Entity.d.ts.map +1 -1
  437. package/analyzer-template/packages/utils/dist/utils/index.d.ts +3 -0
  438. package/analyzer-template/packages/utils/dist/utils/index.d.ts.map +1 -1
  439. package/analyzer-template/packages/utils/dist/utils/index.js +4 -0
  440. package/analyzer-template/packages/utils/dist/utils/index.js.map +1 -1
  441. package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.d.ts +25 -0
  442. package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.d.ts.map +1 -0
  443. package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.js +40 -0
  444. package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.js.map +1 -0
  445. package/analyzer-template/packages/utils/dist/utils/src/lib/applyUniversalMocks.d.ts.map +1 -1
  446. package/analyzer-template/packages/utils/dist/utils/src/lib/applyUniversalMocks.js +65 -7
  447. package/analyzer-template/packages/utils/dist/utils/src/lib/applyUniversalMocks.js.map +1 -1
  448. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.d.ts +13 -1
  449. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.d.ts.map +1 -1
  450. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.js +14 -2
  451. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.js.map +1 -1
  452. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getNextRoutePath.d.ts.map +1 -1
  453. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getNextRoutePath.js +5 -3
  454. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getNextRoutePath.js.map +1 -1
  455. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getRemixRoutePath.d.ts.map +1 -1
  456. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getRemixRoutePath.js +2 -1
  457. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getRemixRoutePath.js.map +1 -1
  458. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.d.ts +12 -1
  459. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.d.ts.map +1 -1
  460. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +14 -2
  461. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
  462. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.d.ts.map +1 -1
  463. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js +1 -0
  464. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js.map +1 -1
  465. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts +21 -0
  466. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts.map +1 -0
  467. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +62 -0
  468. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -0
  469. package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.d.ts.map +1 -1
  470. package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.js +17 -0
  471. package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
  472. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
  473. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js +4 -1
  474. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js.map +1 -1
  475. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/buildStartCommand.d.ts +18 -0
  476. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/buildStartCommand.d.ts.map +1 -0
  477. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/buildStartCommand.js +45 -0
  478. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/buildStartCommand.js.map +1 -0
  479. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/getWebappInfo.d.ts +26 -0
  480. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/getWebappInfo.d.ts.map +1 -0
  481. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/getWebappInfo.js +67 -0
  482. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/getWebappInfo.js.map +1 -0
  483. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/index.d.ts +3 -0
  484. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/index.d.ts.map +1 -0
  485. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/index.js +3 -0
  486. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/index.js.map +1 -0
  487. package/analyzer-template/packages/utils/index.ts +11 -0
  488. package/analyzer-template/packages/utils/src/lib/Semaphore.ts +42 -0
  489. package/analyzer-template/packages/utils/src/lib/applyUniversalMocks.ts +74 -9
  490. package/analyzer-template/packages/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.ts +20 -1
  491. package/analyzer-template/packages/utils/src/lib/frameworks/getNextRoutePath.ts +8 -3
  492. package/analyzer-template/packages/utils/src/lib/frameworks/getRemixRoutePath.ts +2 -1
  493. package/analyzer-template/packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.ts +17 -1
  494. package/analyzer-template/packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.ts +1 -0
  495. package/analyzer-template/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.ts +67 -0
  496. package/analyzer-template/packages/utils/src/lib/lightweightEntityExtractor.ts +16 -0
  497. package/analyzer-template/packages/utils/src/lib/safeFileName.ts +4 -1
  498. package/analyzer-template/packages/utils/src/lib/startCommand/buildStartCommand.ts +63 -0
  499. package/analyzer-template/packages/utils/src/lib/startCommand/getWebappInfo.ts +108 -0
  500. package/analyzer-template/packages/utils/src/lib/startCommand/index.ts +10 -0
  501. package/analyzer-template/playwright/capture.ts +46 -67
  502. package/analyzer-template/playwright/captureFromUrl.ts +48 -17
  503. package/analyzer-template/playwright/captureStatic.ts +1 -1
  504. package/analyzer-template/playwright/takeElementScreenshot.ts +22 -0
  505. package/analyzer-template/playwright/takeScreenshot.ts +29 -3
  506. package/analyzer-template/playwright/updateBackgroundJob.ts +1 -1
  507. package/analyzer-template/project/LazyFileStore.ts +1 -1
  508. package/analyzer-template/project/TESTING.md +83 -0
  509. package/analyzer-template/project/analyzeBaselineCommit.ts +1 -1
  510. package/analyzer-template/project/analyzeBranchCommit.ts +1 -1
  511. package/analyzer-template/project/analyzeFileEntities.ts +1 -1
  512. package/analyzer-template/project/analyzeRegularCommit.ts +1 -1
  513. package/analyzer-template/project/captureLibraryFunctionDirect.ts +1 -1
  514. package/analyzer-template/project/constructMockCode.ts +548 -29
  515. package/analyzer-template/project/createEntitiesAndSortFiles.ts +15 -7
  516. package/analyzer-template/project/getFilesWithEntitiesFromRepo.ts +1 -1
  517. package/analyzer-template/project/getScenarioUrl.ts +73 -5
  518. package/analyzer-template/project/loadReadyToBeCaptured.ts +138 -2
  519. package/analyzer-template/project/orchestrateCapture/KyselyAnalysisLoader.ts +18 -15
  520. package/analyzer-template/project/orchestrateCapture/SequentialCaptureTaskRunner.ts +5 -26
  521. package/analyzer-template/project/orchestrateCapture/SupabaseAnalysisLoader.ts +6 -6
  522. package/analyzer-template/project/orchestrateCapture.ts +8 -4
  523. package/analyzer-template/project/prepareRepo.ts +1 -1
  524. package/analyzer-template/project/reconcileMockDataKeys.ts +13 -0
  525. package/analyzer-template/project/runAnalysis.ts +1 -1
  526. package/analyzer-template/project/runMultiScenarioServer.ts +2 -6
  527. package/analyzer-template/project/runScenarioServer.ts +1 -5
  528. package/analyzer-template/project/serverOnlyModules.ts +240 -0
  529. package/analyzer-template/project/start.ts +33 -18
  530. package/analyzer-template/project/startScenarioCapture.ts +25 -1
  531. package/analyzer-template/project/startServer.ts +50 -70
  532. package/analyzer-template/project/trackGeneratedFiles.ts +41 -0
  533. package/analyzer-template/project/updateCommitBackgroundJob.ts +1 -1
  534. package/analyzer-template/project/utils/errorHandling.ts +1 -1
  535. package/analyzer-template/project/writeMockDataTsx.ts +351 -20
  536. package/analyzer-template/project/writeScenario.ts +1 -1
  537. package/analyzer-template/project/writeScenarioComponents.ts +1612 -182
  538. package/analyzer-template/project/writeSimpleRoot.ts +117 -2
  539. package/analyzer-template/project/writeUniversalMocks.ts +94 -11
  540. package/analyzer-template/scripts/postbuild.cjs +12 -1
  541. package/background/src/lib/virtualized/common/execAsync.js +1 -1
  542. package/background/src/lib/virtualized/project/LazyFileStore.js +1 -1
  543. package/background/src/lib/virtualized/project/analyzeBaselineCommit.js +1 -1
  544. package/background/src/lib/virtualized/project/analyzeBranchCommit.js +1 -1
  545. package/background/src/lib/virtualized/project/analyzeFileEntities.js +1 -1
  546. package/background/src/lib/virtualized/project/analyzeRegularCommit.js +1 -1
  547. package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js +1 -1
  548. package/background/src/lib/virtualized/project/constructMockCode.js +458 -27
  549. package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
  550. package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js +10 -3
  551. package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js.map +1 -1
  552. package/background/src/lib/virtualized/project/getFilesWithEntitiesFromRepo.js +1 -1
  553. package/background/src/lib/virtualized/project/getScenarioUrl.js +38 -3
  554. package/background/src/lib/virtualized/project/getScenarioUrl.js.map +1 -1
  555. package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js +93 -2
  556. package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js.map +1 -1
  557. package/background/src/lib/virtualized/project/orchestrateCapture/KyselyAnalysisLoader.js +12 -7
  558. package/background/src/lib/virtualized/project/orchestrateCapture/KyselyAnalysisLoader.js.map +1 -1
  559. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js +1 -14
  560. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js.map +1 -1
  561. package/background/src/lib/virtualized/project/orchestrateCapture.js +8 -4
  562. package/background/src/lib/virtualized/project/orchestrateCapture.js.map +1 -1
  563. package/background/src/lib/virtualized/project/prepareRepo.js +1 -1
  564. package/background/src/lib/virtualized/project/prepareRepo.js.map +1 -1
  565. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +12 -0
  566. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
  567. package/background/src/lib/virtualized/project/runAnalysis.js +1 -1
  568. package/background/src/lib/virtualized/project/runMultiScenarioServer.js +2 -5
  569. package/background/src/lib/virtualized/project/runMultiScenarioServer.js.map +1 -1
  570. package/background/src/lib/virtualized/project/serverOnlyModules.js +198 -0
  571. package/background/src/lib/virtualized/project/serverOnlyModules.js.map +1 -0
  572. package/background/src/lib/virtualized/project/start.js +28 -15
  573. package/background/src/lib/virtualized/project/start.js.map +1 -1
  574. package/background/src/lib/virtualized/project/startScenarioCapture.js +19 -1
  575. package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
  576. package/background/src/lib/virtualized/project/startServer.js +40 -68
  577. package/background/src/lib/virtualized/project/startServer.js.map +1 -1
  578. package/background/src/lib/virtualized/project/trackGeneratedFiles.js +30 -0
  579. package/background/src/lib/virtualized/project/trackGeneratedFiles.js.map +1 -0
  580. package/background/src/lib/virtualized/project/updateCommitBackgroundJob.js +1 -1
  581. package/background/src/lib/virtualized/project/utils/errorHandling.js +1 -1
  582. package/background/src/lib/virtualized/project/writeMockDataTsx.js +292 -19
  583. package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
  584. package/background/src/lib/virtualized/project/writeScenario.js +1 -1
  585. package/background/src/lib/virtualized/project/writeScenarioComponents.js +1176 -118
  586. package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
  587. package/background/src/lib/virtualized/project/writeSimpleRoot.js +103 -2
  588. package/background/src/lib/virtualized/project/writeSimpleRoot.js.map +1 -1
  589. package/background/src/lib/virtualized/project/writeUniversalMocks.js +75 -10
  590. package/background/src/lib/virtualized/project/writeUniversalMocks.js.map +1 -1
  591. package/codeyam-cli/scripts/apply-setup.js +288 -0
  592. package/codeyam-cli/scripts/apply-setup.js.map +1 -0
  593. package/codeyam-cli/scripts/extract-setup.js +130 -0
  594. package/codeyam-cli/scripts/extract-setup.js.map +1 -0
  595. package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js +238 -0
  596. package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js.map +1 -0
  597. package/codeyam-cli/scripts/populateEntityTimestamps.js +1 -1
  598. package/codeyam-cli/scripts/populateEntityTimestamps.js.map +1 -1
  599. package/codeyam-cli/src/cli.js +8 -0
  600. package/codeyam-cli/src/cli.js.map +1 -1
  601. package/codeyam-cli/src/codeyam-cli.js +0 -0
  602. package/codeyam-cli/src/commands/debug.js +227 -0
  603. package/codeyam-cli/src/commands/debug.js.map +1 -0
  604. package/codeyam-cli/src/commands/detect-universal-mocks.js +1 -1
  605. package/codeyam-cli/src/commands/entities.js +1 -1
  606. package/codeyam-cli/src/commands/generate-data-structure.js +17 -8
  607. package/codeyam-cli/src/commands/generate-data-structure.js.map +1 -1
  608. package/codeyam-cli/src/commands/init.js +2 -21
  609. package/codeyam-cli/src/commands/init.js.map +1 -1
  610. package/codeyam-cli/src/commands/report.js +102 -0
  611. package/codeyam-cli/src/commands/report.js.map +1 -0
  612. package/codeyam-cli/src/commands/setup-sandbox.js +165 -0
  613. package/codeyam-cli/src/commands/setup-sandbox.js.map +1 -0
  614. package/codeyam-cli/src/commands/suggest.js +1 -1
  615. package/codeyam-cli/src/commands/test-startup.js +14 -5
  616. package/codeyam-cli/src/commands/test-startup.js.map +1 -1
  617. package/codeyam-cli/src/commands/webapp-info.js +146 -0
  618. package/codeyam-cli/src/commands/webapp-info.js.map +1 -0
  619. package/codeyam-cli/src/utils/__tests__/cleanupAnalysisFiles.test.js +6 -6
  620. package/codeyam-cli/src/utils/__tests__/cleanupAnalysisFiles.test.js.map +1 -1
  621. package/codeyam-cli/src/utils/__tests__/entityVersioning.test.js +2 -2
  622. package/codeyam-cli/src/utils/__tests__/fileWatcher.batch.test.js +2 -2
  623. package/codeyam-cli/src/utils/__tests__/fileWatcher.multiversion.test.js +58 -30
  624. package/codeyam-cli/src/utils/__tests__/fileWatcher.multiversion.test.js.map +1 -1
  625. package/codeyam-cli/src/utils/__tests__/fileWatcher.optimization.test.js +2 -2
  626. package/codeyam-cli/src/utils/__tests__/fileWatcher.versioning.test.js +2 -2
  627. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +8 -0
  628. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
  629. package/codeyam-cli/src/utils/analysisRunner.js +6 -4
  630. package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
  631. package/codeyam-cli/src/utils/analyzer.js +24 -2
  632. package/codeyam-cli/src/utils/analyzer.js.map +1 -1
  633. package/codeyam-cli/src/utils/backgroundServer.js +25 -5
  634. package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
  635. package/codeyam-cli/src/utils/changeDetection.js +1 -1
  636. package/codeyam-cli/src/utils/cleanupAnalysisFiles.js +2 -2
  637. package/codeyam-cli/src/utils/cleanupAnalysisFiles.js.map +1 -1
  638. package/codeyam-cli/src/utils/database.js +1 -1
  639. package/codeyam-cli/src/utils/entityCache.js +1 -1
  640. package/codeyam-cli/src/utils/entityMetadata.js +1 -1
  641. package/codeyam-cli/src/utils/entityVersioning.js +1 -1
  642. package/codeyam-cli/src/utils/fileWatcher.js +77 -7
  643. package/codeyam-cli/src/utils/fileWatcher.js.map +1 -1
  644. package/codeyam-cli/src/utils/generateReport.js +219 -0
  645. package/codeyam-cli/src/utils/generateReport.js.map +1 -0
  646. package/codeyam-cli/src/utils/install-skills.js +7 -5
  647. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  648. package/codeyam-cli/src/utils/queue/__tests__/heartbeat.test.js +3 -3
  649. package/codeyam-cli/src/utils/queue/__tests__/job.pidTracking.test.js +3 -2
  650. package/codeyam-cli/src/utils/queue/__tests__/job.pidTracking.test.js.map +1 -1
  651. package/codeyam-cli/src/utils/queue/heartbeat.js +1 -1
  652. package/codeyam-cli/src/utils/queue/heartbeat.js.map +1 -1
  653. package/codeyam-cli/src/utils/queue/job.js +15 -9
  654. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  655. package/codeyam-cli/src/utils/queue/manager.js +78 -0
  656. package/codeyam-cli/src/utils/queue/manager.js.map +1 -1
  657. package/codeyam-cli/src/utils/sandbox.js +190 -0
  658. package/codeyam-cli/src/utils/sandbox.js.map +1 -0
  659. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +4 -0
  660. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
  661. package/codeyam-cli/src/utils/syncUncommittedEntities.js +1 -1
  662. package/codeyam-cli/src/utils/syncUniversalMocks.js +1 -1
  663. package/codeyam-cli/src/utils/webappDetection.js +2 -1
  664. package/codeyam-cli/src/utils/webappDetection.js.map +1 -1
  665. package/codeyam-cli/src/webserver/app/lib/database.js +64 -3
  666. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  667. package/codeyam-cli/src/webserver/app/lib/dbNotifier.js +3 -1
  668. package/codeyam-cli/src/webserver/app/lib/dbNotifier.js.map +1 -1
  669. package/codeyam-cli/src/webserver/backgroundServer.js +15 -35
  670. package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
  671. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-CVbSvOjo.js +1 -0
  672. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeBadge-efWKDYMr.js +1 -0
  673. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-DcwcHyl5.js +1 -0
  674. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-WgwC1GfJ.js +26 -0
  675. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-IEKom9O2.js +3 -0
  676. package/codeyam-cli/src/webserver/build/client/assets/LogViewer-BYnfxbUG.js +3 -0
  677. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-_lBPJCzG.js +1 -0
  678. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-lHVhvsu_.js +1 -0
  679. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-d_TBk4GQ.js +5 -0
  680. package/codeyam-cli/src/webserver/build/client/assets/TruncatedFilePath-COPstp9J.js +1 -0
  681. package/codeyam-cli/src/webserver/build/client/assets/_index-kGT7VUqj.js +1 -0
  682. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-DDGmhu7P.js +7 -0
  683. package/codeyam-cli/src/webserver/build/client/assets/api.generate-report-l0sNRNKZ.js +1 -0
  684. package/codeyam-cli/src/webserver/build/client/assets/chevron-down-n_HPRfM_.js +1 -0
  685. package/codeyam-cli/src/webserver/build/client/assets/chunk-WWGJGFF6-CbVoyx1U.js +26 -0
  686. package/codeyam-cli/src/webserver/build/client/assets/circle-check-D1VOYveA.js +1 -0
  687. package/codeyam-cli/src/webserver/build/client/assets/codeyam-name-logo-CvKwUgHo.svg +9 -0
  688. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-YR8jjAlu.js +1 -0
  689. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-B8vP3V_s.js +1 -0
  690. package/codeyam-cli/src/webserver/build/client/assets/entity._sha._-CN6aLCT1.js +16 -0
  691. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-DA5Jeu2P.js +1 -0
  692. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-BTeitalf.js +5 -0
  693. package/codeyam-cli/src/webserver/build/client/assets/entry.client-du6UEYD-.js +13 -0
  694. package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-BpjkhMoi.js +1 -0
  695. package/codeyam-cli/src/webserver/build/client/assets/files-BQGvk4lJ.js +1 -0
  696. package/codeyam-cli/src/webserver/build/client/assets/git-DVdYRT-I.js +12 -0
  697. package/codeyam-cli/src/webserver/build/client/assets/globals-CO-U8Bpo.css +1 -0
  698. package/codeyam-cli/src/webserver/build/client/assets/html2canvas-pro.esm-XQCGvadH.js +5 -0
  699. package/codeyam-cli/src/webserver/build/client/assets/index-DCG-vks0.js +1 -0
  700. package/codeyam-cli/src/webserver/build/client/assets/loader-circle-GazdNeLl.js +1 -0
  701. package/codeyam-cli/src/webserver/build/client/assets/manifest-0b694d28.js +1 -0
  702. package/codeyam-cli/src/webserver/build/client/assets/root-D3tQP7hx.js +16 -0
  703. package/codeyam-cli/src/webserver/build/client/assets/search-CIY6XmtE.js +1 -0
  704. package/codeyam-cli/src/webserver/build/client/assets/settings-CoMDgElu.js +1 -0
  705. package/codeyam-cli/src/webserver/build/client/assets/simulations-agkniXp2.js +1 -0
  706. package/codeyam-cli/src/webserver/build/client/assets/triangle-alert-B2VUcygF.js +1 -0
  707. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-3pmpUQB-.js +2 -0
  708. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-EvdK-zXP.js +1 -0
  709. package/codeyam-cli/src/webserver/build/client/assets/useToast-DEyawJ8r.js +1 -0
  710. package/codeyam-cli/src/webserver/build/server/assets/index-DGVHQEXD.js +1 -0
  711. package/codeyam-cli/src/webserver/build/server/assets/server-build-CghkTkIL.js +166 -0
  712. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  713. package/codeyam-cli/src/webserver/build-info.json +5 -5
  714. package/codeyam-cli/src/webserver/server.js +1 -1
  715. package/codeyam-cli/src/webserver/server.js.map +1 -1
  716. package/codeyam-cli/templates/codeyam-setup-skill.md +85 -94
  717. package/codeyam-cli/templates/debug-command.md +303 -0
  718. package/package.json +9 -11
  719. package/packages/ai/index.js +2 -3
  720. package/packages/ai/index.js.map +1 -1
  721. package/packages/ai/src/lib/analyzeScope.js +38 -1
  722. package/packages/ai/src/lib/analyzeScope.js.map +1 -1
  723. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +38 -34
  724. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
  725. package/packages/ai/src/lib/astScopes/methodSemantics.js +173 -0
  726. package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
  727. package/packages/ai/src/lib/astScopes/paths.js +39 -4
  728. package/packages/ai/src/lib/astScopes/paths.js.map +1 -1
  729. package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js +8 -1
  730. package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js.map +1 -1
  731. package/packages/ai/src/lib/astScopes/processExpression.js +182 -14
  732. package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
  733. package/packages/ai/src/lib/checkAllAttributes.js +1 -3
  734. package/packages/ai/src/lib/checkAllAttributes.js.map +1 -1
  735. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +1535 -398
  736. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  737. package/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.js +164 -2
  738. package/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.js.map +1 -1
  739. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js +12 -2
  740. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js.map +1 -1
  741. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js +5 -3
  742. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js.map +1 -1
  743. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js +112 -0
  744. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js.map +1 -0
  745. package/packages/ai/src/lib/dataStructure/helpers/DebugTracer.js +176 -0
  746. package/packages/ai/src/lib/dataStructure/helpers/DebugTracer.js.map +1 -0
  747. package/packages/ai/src/lib/dataStructure/helpers/PathManager.js +178 -0
  748. package/packages/ai/src/lib/dataStructure/helpers/PathManager.js.map +1 -0
  749. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js +138 -0
  750. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js.map +1 -0
  751. package/packages/ai/src/lib/dataStructure/helpers/VisitedTracker.js +199 -0
  752. package/packages/ai/src/lib/dataStructure/helpers/VisitedTracker.js.map +1 -0
  753. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js +59 -2
  754. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js.map +1 -1
  755. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js +3 -3
  756. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js.map +1 -1
  757. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +38 -10
  758. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js.map +1 -1
  759. package/packages/ai/src/lib/dataStructure/helpers/getFunctionCallRoot.js +28 -3
  760. package/packages/ai/src/lib/dataStructure/helpers/getFunctionCallRoot.js.map +1 -1
  761. package/packages/ai/src/lib/dataStructure/helpers/selectBestValue.js +62 -0
  762. package/packages/ai/src/lib/dataStructure/helpers/selectBestValue.js.map +1 -0
  763. package/packages/ai/src/lib/dataStructure/helpers/uniqueIdUtils.js +90 -0
  764. package/packages/ai/src/lib/dataStructure/helpers/uniqueIdUtils.js.map +1 -0
  765. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js +27 -3
  766. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js.map +1 -1
  767. package/packages/ai/src/lib/generateChangesEntityDocumentation.js +19 -1
  768. package/packages/ai/src/lib/generateChangesEntityDocumentation.js.map +1 -1
  769. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js +72 -98
  770. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js.map +1 -1
  771. package/packages/ai/src/lib/generateChangesEntityScenarioData.js +58 -156
  772. package/packages/ai/src/lib/generateChangesEntityScenarioData.js.map +1 -1
  773. package/packages/ai/src/lib/generateChangesEntityScenarios.js +81 -263
  774. package/packages/ai/src/lib/generateChangesEntityScenarios.js.map +1 -1
  775. package/packages/ai/src/lib/generateEntityDataStructure.js +6 -5
  776. package/packages/ai/src/lib/generateEntityDataStructure.js.map +1 -1
  777. package/packages/ai/src/lib/generateEntityDocumentation.js +15 -1
  778. package/packages/ai/src/lib/generateEntityDocumentation.js.map +1 -1
  779. package/packages/ai/src/lib/generateEntityKeyAttributes.js +80 -168
  780. package/packages/ai/src/lib/generateEntityKeyAttributes.js.map +1 -1
  781. package/packages/ai/src/lib/generateEntityScenarioData.js +61 -147
  782. package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
  783. package/packages/ai/src/lib/generateEntityScenarios.js +88 -258
  784. package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
  785. package/packages/ai/src/lib/generateStatementAnalysis.js +47 -72
  786. package/packages/ai/src/lib/generateStatementAnalysis.js.map +1 -1
  787. package/packages/ai/src/lib/getConditionalUsagesFromCode.js +13 -8
  788. package/packages/ai/src/lib/getConditionalUsagesFromCode.js.map +1 -1
  789. package/packages/ai/src/lib/getLLMCallStats.js +0 -14
  790. package/packages/ai/src/lib/getLLMCallStats.js.map +1 -1
  791. package/packages/ai/src/lib/mergeStatements.js +56 -0
  792. package/packages/ai/src/lib/mergeStatements.js.map +1 -1
  793. package/packages/ai/src/lib/modelInfo.js +15 -0
  794. package/packages/ai/src/lib/modelInfo.js.map +1 -1
  795. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js +102 -19
  796. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js.map +1 -1
  797. package/packages/ai/src/lib/promptGenerators/generateChangesEntityDocumentationGenerator.js +8 -33
  798. package/packages/ai/src/lib/promptGenerators/generateChangesEntityDocumentationGenerator.js.map +1 -1
  799. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js +35 -41
  800. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js.map +1 -1
  801. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js +67 -74
  802. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js.map +1 -1
  803. package/packages/ai/src/lib/promptGenerators/generateEntityDocumentationGenerator.js +8 -27
  804. package/packages/ai/src/lib/promptGenerators/generateEntityDocumentationGenerator.js.map +1 -1
  805. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js +24 -27
  806. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js.map +1 -1
  807. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js +27 -22
  808. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js.map +1 -1
  809. package/packages/ai/src/lib/types/index.js +2 -0
  810. package/packages/ai/src/lib/types/index.js.map +1 -1
  811. package/packages/ai/src/lib/worker/SerializableDataStructure.js +7 -0
  812. package/packages/ai/src/lib/worker/SerializableDataStructure.js.map +1 -1
  813. package/packages/analyze/src/lib/FileAnalyzer.js +155 -11
  814. package/packages/analyze/src/lib/FileAnalyzer.js.map +1 -1
  815. package/packages/analyze/src/lib/asts/nodes/getNodeType.js +1 -1
  816. package/packages/analyze/src/lib/asts/nodes/getNodeType.js.map +1 -1
  817. package/packages/analyze/src/lib/asts/nodes/index.js +2 -1
  818. package/packages/analyze/src/lib/asts/nodes/index.js.map +1 -1
  819. package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js +191 -0
  820. package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js.map +1 -0
  821. package/packages/analyze/src/lib/asts/sourceFiles/getAllExportedNodes.js +3 -2
  822. package/packages/analyze/src/lib/asts/sourceFiles/getAllExportedNodes.js.map +1 -1
  823. package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js +35 -9
  824. package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js.map +1 -1
  825. package/packages/analyze/src/lib/asts/sourceFiles/getDeclaredEntityNode.js +16 -0
  826. package/packages/analyze/src/lib/asts/sourceFiles/getDeclaredEntityNode.js.map +1 -0
  827. package/packages/analyze/src/lib/asts/sourceFiles/index.js +2 -0
  828. package/packages/analyze/src/lib/asts/sourceFiles/index.js.map +1 -1
  829. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +357 -94
  830. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
  831. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +24 -2
  832. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
  833. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js +1 -1
  834. package/packages/analyze/src/lib/files/analyze/findPreviousAnalysis.js +1 -1
  835. package/packages/analyze/src/lib/files/analyze/findValidExistingAnalysis.js +1 -1
  836. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js +13 -2
  837. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js.map +1 -1
  838. package/packages/analyze/src/lib/files/analyze/setActiveAnalysisBranches.js +1 -1
  839. package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js +5 -8
  840. package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js.map +1 -1
  841. package/packages/analyze/src/lib/files/analyzeChange.js +22 -10
  842. package/packages/analyze/src/lib/files/analyzeChange.js.map +1 -1
  843. package/packages/analyze/src/lib/files/analyzeEntity.js +11 -5
  844. package/packages/analyze/src/lib/files/analyzeEntity.js.map +1 -1
  845. package/packages/analyze/src/lib/files/analyzeInitial.js +22 -10
  846. package/packages/analyze/src/lib/files/analyzeInitial.js.map +1 -1
  847. package/packages/analyze/src/lib/files/analyzeNextRoute.js +1 -1
  848. package/packages/analyze/src/lib/files/analyzeRemixRoute.js +19 -24
  849. package/packages/analyze/src/lib/files/analyzeRemixRoute.js.map +1 -1
  850. package/packages/analyze/src/lib/files/getImportedExports.js +99 -8
  851. package/packages/analyze/src/lib/files/getImportedExports.js.map +1 -1
  852. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js +181 -71
  853. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js.map +1 -1
  854. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +112 -7
  855. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
  856. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js +15 -2
  857. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js.map +1 -1
  858. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js +11 -4
  859. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js.map +1 -1
  860. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js +9 -1
  861. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js.map +1 -1
  862. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +136 -12
  863. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
  864. package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js +8 -2
  865. package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js.map +1 -1
  866. package/packages/analyze/src/lib/files/setImportedExports.js +1 -1
  867. package/packages/database/index.js.map +1 -0
  868. package/packages/database/src/lib/analysisBranchToDb.js.map +1 -0
  869. package/packages/database/src/lib/analysisToDb.js.map +1 -0
  870. package/packages/database/src/lib/backgroundJobToDb.js.map +1 -0
  871. package/packages/database/src/lib/branchToDb.js.map +1 -0
  872. package/packages/database/src/lib/commitBranchToDb.js.map +1 -0
  873. package/packages/database/src/lib/commitToDb.js.map +1 -0
  874. package/packages/database/src/lib/createOrUpdateBranchCommitStats.js.map +1 -0
  875. package/packages/database/src/lib/createProject.js.map +1 -0
  876. package/packages/database/src/lib/createRetryFetch.js.map +1 -0
  877. package/packages/database/src/lib/dbToAnalysis.js.map +1 -0
  878. package/packages/database/src/lib/dbToAnalysisBranch.js.map +1 -0
  879. package/packages/database/src/lib/dbToBackgroundJob.js.map +1 -0
  880. package/packages/database/src/lib/dbToBranch.js.map +1 -0
  881. package/packages/database/src/lib/dbToCommit.js.map +1 -0
  882. package/packages/database/src/lib/dbToCommitBranch.js.map +1 -0
  883. package/packages/database/src/lib/dbToEntity.js.map +1 -0
  884. package/packages/database/src/lib/dbToEntityBranch.js.map +1 -0
  885. package/packages/database/src/lib/dbToFile.js.map +1 -0
  886. package/packages/database/src/lib/dbToProject.js.map +1 -0
  887. package/packages/database/src/lib/dbToScenario.js.map +1 -0
  888. package/packages/database/src/lib/dbToScenarioComment.js.map +1 -0
  889. package/packages/database/src/lib/dbToUserScenario.js.map +1 -0
  890. package/packages/database/src/lib/deleteBranch.js.map +1 -0
  891. package/packages/database/src/lib/deleteEntities.js.map +1 -0
  892. package/packages/database/src/lib/deleteFile.js.map +1 -0
  893. package/packages/database/src/lib/deleteScenarios.js.map +1 -0
  894. package/packages/database/src/lib/entityToDb.js.map +1 -0
  895. package/packages/database/src/lib/fileToDb.js.map +1 -0
  896. package/packages/database/src/lib/generateSha.js.map +1 -0
  897. package/packages/database/src/lib/jsonUpdateUtils.js.map +1 -0
  898. package/packages/database/src/lib/kysely/aggregationHelpers.js.map +1 -0
  899. package/packages/database/src/lib/kysely/db.js +363 -0
  900. package/packages/database/src/lib/kysely/db.js.map +1 -0
  901. package/packages/database/src/lib/kysely/schemaHelpers.js.map +1 -0
  902. package/packages/database/src/lib/kysely/sqliteBooleanPlugin.js.map +1 -0
  903. package/packages/database/src/lib/kysely/tableRelations.js.map +1 -0
  904. package/packages/database/src/lib/kysely/tableRelationsTypes.js.map +1 -0
  905. package/packages/database/src/lib/kysely/tables/analysesTable.js.map +1 -0
  906. package/packages/database/src/lib/kysely/tables/analysisBranchesTable.js.map +1 -0
  907. package/packages/database/src/lib/kysely/tables/backgroundJobsTable.js.map +1 -0
  908. package/packages/database/src/lib/kysely/tables/branchesTable.js.map +1 -0
  909. package/packages/database/src/lib/kysely/tables/commitBranchesTable.js.map +1 -0
  910. package/packages/database/src/lib/kysely/tables/commitsTable.js.map +1 -0
  911. package/packages/database/src/lib/kysely/tables/debugReportsTable.js +27 -0
  912. package/packages/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -0
  913. package/packages/database/src/lib/kysely/tables/entitiesTable.js.map +1 -0
  914. package/packages/database/src/lib/kysely/tables/entityBranchesTable.js.map +1 -0
  915. package/packages/database/src/lib/kysely/tables/entityStatementsTable.js.map +1 -0
  916. package/packages/database/src/lib/kysely/tables/filesTable.js.map +1 -0
  917. package/packages/database/src/lib/kysely/tables/githubPayloadsTable.js.map +1 -0
  918. package/packages/database/src/lib/kysely/tables/githubUsersTable.js.map +1 -0
  919. package/packages/database/src/lib/kysely/tables/projectsTable.js.map +1 -0
  920. package/packages/database/src/lib/kysely/tables/scenarioCommentsTable.js.map +1 -0
  921. package/packages/database/src/lib/kysely/tables/scenariosTable.js.map +1 -0
  922. package/packages/database/src/lib/kysely/tables/statementsTable.js.map +1 -0
  923. package/packages/database/src/lib/kysely/tables/teamsTable.js.map +1 -0
  924. package/packages/database/src/lib/kysely/tables/userScenariosTable.js.map +1 -0
  925. package/packages/database/src/lib/kysely/tables/userTeamsTable.js.map +1 -0
  926. package/packages/database/src/lib/kysely/tables/usersTable.js.map +1 -0
  927. package/packages/database/src/lib/kysely/upsertHelpers.js.map +1 -0
  928. package/packages/database/src/lib/loadAnalyses.js.map +1 -0
  929. package/packages/database/src/lib/loadAnalysis.js.map +1 -0
  930. package/packages/database/src/lib/loadAnalysisBranches.js.map +1 -0
  931. package/packages/database/src/lib/loadBackgroundJob.js.map +1 -0
  932. package/packages/database/src/lib/loadBranch.js.map +1 -0
  933. package/packages/database/src/lib/loadBranches.js.map +1 -0
  934. package/packages/database/src/lib/loadCommit.js.map +1 -0
  935. package/packages/database/src/lib/loadCommitBranches.js.map +1 -0
  936. package/packages/database/src/lib/loadCommitMetadata.js.map +1 -0
  937. package/packages/database/src/lib/loadCommits.js.map +1 -0
  938. package/packages/database/src/lib/loadEntities.js +63 -0
  939. package/packages/database/src/lib/loadEntities.js.map +1 -0
  940. package/packages/database/src/lib/loadEntity.js.map +1 -0
  941. package/packages/database/src/lib/loadEntityBranches.js.map +1 -0
  942. package/packages/database/src/lib/loadFile.js.map +1 -0
  943. package/packages/database/src/lib/loadFiles.js.map +1 -0
  944. package/packages/database/src/lib/loadMostRecentPreviousAnalysis.js.map +1 -0
  945. package/packages/database/src/lib/loadProject.js.map +1 -0
  946. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js +65 -0
  947. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -0
  948. package/packages/database/src/lib/loadScenario.js.map +1 -0
  949. package/packages/database/src/lib/loadStatement.js.map +1 -0
  950. package/packages/database/src/lib/nullsToUndefines.js.map +1 -0
  951. package/packages/database/src/lib/projectToDb.js.map +1 -0
  952. package/packages/database/src/lib/saveBackgroundEvent.js.map +1 -0
  953. package/packages/database/src/lib/saveEntityStatements.js.map +1 -0
  954. package/packages/database/src/lib/saveFiles.js.map +1 -0
  955. package/packages/database/src/lib/saveStatement.js.map +1 -0
  956. package/packages/database/src/lib/scenarioToDb.js +18 -0
  957. package/packages/database/src/lib/scenarioToDb.js.map +1 -0
  958. package/packages/database/src/lib/supabase.js.map +1 -0
  959. package/packages/database/src/lib/updateBackgroundJobProgress.js.map +1 -0
  960. package/packages/database/src/lib/updateCommitMetadata.js.map +1 -0
  961. package/packages/database/src/lib/updateEntityBranch.js.map +1 -0
  962. package/packages/database/src/lib/updateFreshAnalysisMetadata.js.map +1 -0
  963. package/packages/database/src/lib/updateFreshAnalysisStatus.js.map +1 -0
  964. package/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +1 -0
  965. package/packages/database/src/lib/updateProjectMetadata.js.map +1 -0
  966. package/packages/database/src/lib/upsertAnalyses.js.map +1 -0
  967. package/packages/database/src/lib/upsertAnalysesWithScenarios.js.map +1 -0
  968. package/packages/database/src/lib/upsertAnalysisBranches.js.map +1 -0
  969. package/packages/database/src/lib/upsertBackgroundJob.js.map +1 -0
  970. package/packages/database/src/lib/upsertBranches.js.map +1 -0
  971. package/packages/database/src/lib/upsertCommitBranches.js.map +1 -0
  972. package/packages/database/src/lib/upsertCommits.js.map +1 -0
  973. package/packages/database/src/lib/upsertEntities.js.map +1 -0
  974. package/packages/database/src/lib/upsertEntityBranches.js.map +1 -0
  975. package/packages/database/src/lib/upsertFiles.js.map +1 -0
  976. package/packages/database/src/lib/upsertGithubUser.js.map +1 -0
  977. package/packages/database/src/lib/upsertProjects.js.map +1 -0
  978. package/packages/database/src/lib/upsertScenarios.js.map +1 -0
  979. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +28 -21
  980. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
  981. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js +18 -11
  982. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js.map +1 -1
  983. package/packages/generate/src/lib/deepMerge.js +3 -1
  984. package/packages/generate/src/lib/deepMerge.js.map +1 -1
  985. package/packages/generate/src/lib/directExecutionScript.js +10 -1
  986. package/packages/generate/src/lib/directExecutionScript.js.map +1 -1
  987. package/packages/generate/src/lib/getComponentScenarioPath.js +7 -3
  988. package/packages/generate/src/lib/getComponentScenarioPath.js.map +1 -1
  989. package/packages/generate/src/lib/scenarioComponent.js +5 -3
  990. package/packages/generate/src/lib/scenarioComponent.js.map +1 -1
  991. package/packages/github/src/lib/getCommitsFromGithub.js +1 -1
  992. package/packages/github/src/lib/loadOrCreateCommit.js +1 -1
  993. package/packages/github/src/lib/syncHeadBranches.js +1 -1
  994. package/packages/github/src/lib/syncPrimaryBranch.js +1 -1
  995. package/packages/github/src/lib/syncPullRequest.js +1 -1
  996. package/packages/github/src/lib/updateCommitBranchesInDb.js +1 -1
  997. package/packages/github/src/lib/updateFilesInDb.js +1 -1
  998. package/packages/utils/index.js +4 -0
  999. package/packages/utils/index.js.map +1 -1
  1000. package/packages/utils/src/lib/Semaphore.js +40 -0
  1001. package/packages/utils/src/lib/Semaphore.js.map +1 -0
  1002. package/packages/utils/src/lib/applyUniversalMocks.js +65 -7
  1003. package/packages/utils/src/lib/applyUniversalMocks.js.map +1 -1
  1004. package/packages/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.js +14 -2
  1005. package/packages/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.js.map +1 -1
  1006. package/packages/utils/src/lib/frameworks/getNextRoutePath.js +5 -3
  1007. package/packages/utils/src/lib/frameworks/getNextRoutePath.js.map +1 -1
  1008. package/packages/utils/src/lib/frameworks/getRemixRoutePath.js +2 -1
  1009. package/packages/utils/src/lib/frameworks/getRemixRoutePath.js.map +1 -1
  1010. package/packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +14 -2
  1011. package/packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
  1012. package/packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.js +1 -0
  1013. package/packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.js.map +1 -1
  1014. package/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +62 -0
  1015. package/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -0
  1016. package/packages/utils/src/lib/lightweightEntityExtractor.js +17 -0
  1017. package/packages/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
  1018. package/packages/utils/src/lib/safeFileName.js +4 -1
  1019. package/packages/utils/src/lib/safeFileName.js.map +1 -1
  1020. package/packages/utils/src/lib/startCommand/buildStartCommand.js +45 -0
  1021. package/packages/utils/src/lib/startCommand/buildStartCommand.js.map +1 -0
  1022. package/packages/utils/src/lib/startCommand/getWebappInfo.js +67 -0
  1023. package/packages/utils/src/lib/startCommand/getWebappInfo.js.map +1 -0
  1024. package/packages/utils/src/lib/startCommand/index.js +3 -0
  1025. package/packages/utils/src/lib/startCommand/index.js.map +1 -0
  1026. package/analyzer-template/packages/ai/src/lib/generateEntityDataMap.ts +0 -375
  1027. package/analyzer-template/packages/github/dist/supabase/index.d.ts.map +0 -1
  1028. package/analyzer-template/packages/github/dist/supabase/index.js.map +0 -1
  1029. package/analyzer-template/packages/github/dist/supabase/src/lib/analysisBranchToDb.d.ts.map +0 -1
  1030. package/analyzer-template/packages/github/dist/supabase/src/lib/analysisBranchToDb.js.map +0 -1
  1031. package/analyzer-template/packages/github/dist/supabase/src/lib/analysisToDb.d.ts.map +0 -1
  1032. package/analyzer-template/packages/github/dist/supabase/src/lib/analysisToDb.js.map +0 -1
  1033. package/analyzer-template/packages/github/dist/supabase/src/lib/backgroundJobToDb.d.ts.map +0 -1
  1034. package/analyzer-template/packages/github/dist/supabase/src/lib/backgroundJobToDb.js.map +0 -1
  1035. package/analyzer-template/packages/github/dist/supabase/src/lib/branchToDb.d.ts.map +0 -1
  1036. package/analyzer-template/packages/github/dist/supabase/src/lib/branchToDb.js.map +0 -1
  1037. package/analyzer-template/packages/github/dist/supabase/src/lib/commitBranchToDb.d.ts.map +0 -1
  1038. package/analyzer-template/packages/github/dist/supabase/src/lib/commitBranchToDb.js.map +0 -1
  1039. package/analyzer-template/packages/github/dist/supabase/src/lib/commitToDb.d.ts.map +0 -1
  1040. package/analyzer-template/packages/github/dist/supabase/src/lib/commitToDb.js.map +0 -1
  1041. package/analyzer-template/packages/github/dist/supabase/src/lib/createOrUpdateBranchCommitStats.d.ts.map +0 -1
  1042. package/analyzer-template/packages/github/dist/supabase/src/lib/createOrUpdateBranchCommitStats.js.map +0 -1
  1043. package/analyzer-template/packages/github/dist/supabase/src/lib/createProject.d.ts.map +0 -1
  1044. package/analyzer-template/packages/github/dist/supabase/src/lib/createProject.js.map +0 -1
  1045. package/analyzer-template/packages/github/dist/supabase/src/lib/createRetryFetch.d.ts.map +0 -1
  1046. package/analyzer-template/packages/github/dist/supabase/src/lib/createRetryFetch.js.map +0 -1
  1047. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToAnalysis.d.ts.map +0 -1
  1048. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToAnalysis.js.map +0 -1
  1049. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToAnalysisBranch.d.ts.map +0 -1
  1050. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToAnalysisBranch.js.map +0 -1
  1051. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToBackgroundJob.d.ts.map +0 -1
  1052. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToBackgroundJob.js.map +0 -1
  1053. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToBranch.d.ts.map +0 -1
  1054. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToBranch.js.map +0 -1
  1055. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToCommit.d.ts.map +0 -1
  1056. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToCommit.js.map +0 -1
  1057. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToCommitBranch.d.ts.map +0 -1
  1058. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToCommitBranch.js.map +0 -1
  1059. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToEntity.d.ts.map +0 -1
  1060. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToEntity.js.map +0 -1
  1061. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToEntityBranch.d.ts.map +0 -1
  1062. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToEntityBranch.js.map +0 -1
  1063. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToFile.d.ts.map +0 -1
  1064. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToFile.js.map +0 -1
  1065. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToProject.d.ts.map +0 -1
  1066. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToProject.js.map +0 -1
  1067. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToScenario.d.ts.map +0 -1
  1068. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToScenario.js.map +0 -1
  1069. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToScenarioComment.d.ts.map +0 -1
  1070. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToScenarioComment.js.map +0 -1
  1071. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToUserScenario.d.ts.map +0 -1
  1072. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToUserScenario.js.map +0 -1
  1073. package/analyzer-template/packages/github/dist/supabase/src/lib/deleteBranch.d.ts.map +0 -1
  1074. package/analyzer-template/packages/github/dist/supabase/src/lib/deleteBranch.js.map +0 -1
  1075. package/analyzer-template/packages/github/dist/supabase/src/lib/deleteEntities.d.ts.map +0 -1
  1076. package/analyzer-template/packages/github/dist/supabase/src/lib/deleteEntities.js.map +0 -1
  1077. package/analyzer-template/packages/github/dist/supabase/src/lib/deleteFile.d.ts.map +0 -1
  1078. package/analyzer-template/packages/github/dist/supabase/src/lib/deleteFile.js.map +0 -1
  1079. package/analyzer-template/packages/github/dist/supabase/src/lib/deleteScenarios.d.ts.map +0 -1
  1080. package/analyzer-template/packages/github/dist/supabase/src/lib/deleteScenarios.js.map +0 -1
  1081. package/analyzer-template/packages/github/dist/supabase/src/lib/entityToDb.d.ts.map +0 -1
  1082. package/analyzer-template/packages/github/dist/supabase/src/lib/entityToDb.js.map +0 -1
  1083. package/analyzer-template/packages/github/dist/supabase/src/lib/fileToDb.d.ts.map +0 -1
  1084. package/analyzer-template/packages/github/dist/supabase/src/lib/fileToDb.js.map +0 -1
  1085. package/analyzer-template/packages/github/dist/supabase/src/lib/generateSha.d.ts.map +0 -1
  1086. package/analyzer-template/packages/github/dist/supabase/src/lib/generateSha.js.map +0 -1
  1087. package/analyzer-template/packages/github/dist/supabase/src/lib/jsonUpdateUtils.d.ts.map +0 -1
  1088. package/analyzer-template/packages/github/dist/supabase/src/lib/jsonUpdateUtils.js.map +0 -1
  1089. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/aggregationHelpers.d.ts.map +0 -1
  1090. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/aggregationHelpers.js.map +0 -1
  1091. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.d.ts +0 -67
  1092. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.d.ts.map +0 -1
  1093. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.js +0 -360
  1094. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.js.map +0 -1
  1095. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/schemaHelpers.d.ts.map +0 -1
  1096. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/schemaHelpers.js.map +0 -1
  1097. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/sqliteBooleanPlugin.d.ts.map +0 -1
  1098. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/sqliteBooleanPlugin.js.map +0 -1
  1099. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelations.d.ts +0 -87
  1100. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelations.d.ts.map +0 -1
  1101. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelations.js.map +0 -1
  1102. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelationsTypes.d.ts.map +0 -1
  1103. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelationsTypes.js.map +0 -1
  1104. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/analysesTable.d.ts +0 -105
  1105. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/analysesTable.d.ts.map +0 -1
  1106. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/analysesTable.js.map +0 -1
  1107. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/analysisBranchesTable.d.ts.map +0 -1
  1108. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/analysisBranchesTable.js.map +0 -1
  1109. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/backgroundJobsTable.d.ts.map +0 -1
  1110. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/backgroundJobsTable.js.map +0 -1
  1111. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/branchesTable.d.ts.map +0 -1
  1112. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/branchesTable.js.map +0 -1
  1113. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/commitBranchesTable.d.ts.map +0 -1
  1114. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/commitBranchesTable.js.map +0 -1
  1115. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/commitsTable.d.ts.map +0 -1
  1116. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/commitsTable.js.map +0 -1
  1117. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/entitiesTable.d.ts +0 -65
  1118. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/entitiesTable.d.ts.map +0 -1
  1119. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/entitiesTable.js.map +0 -1
  1120. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/entityBranchesTable.d.ts.map +0 -1
  1121. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/entityBranchesTable.js.map +0 -1
  1122. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/entityStatementsTable.d.ts.map +0 -1
  1123. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/entityStatementsTable.js.map +0 -1
  1124. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/filesTable.d.ts.map +0 -1
  1125. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/filesTable.js.map +0 -1
  1126. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/githubPayloadsTable.d.ts.map +0 -1
  1127. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/githubPayloadsTable.js.map +0 -1
  1128. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/githubUsersTable.d.ts.map +0 -1
  1129. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/githubUsersTable.js.map +0 -1
  1130. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/projectsTable.d.ts.map +0 -1
  1131. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/projectsTable.js.map +0 -1
  1132. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/scenarioCommentsTable.d.ts.map +0 -1
  1133. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/scenarioCommentsTable.js.map +0 -1
  1134. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/scenariosTable.d.ts.map +0 -1
  1135. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/scenariosTable.js.map +0 -1
  1136. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/statementsTable.d.ts.map +0 -1
  1137. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/statementsTable.js.map +0 -1
  1138. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/teamsTable.d.ts.map +0 -1
  1139. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/teamsTable.js.map +0 -1
  1140. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/userScenariosTable.d.ts.map +0 -1
  1141. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/userScenariosTable.js.map +0 -1
  1142. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/userTeamsTable.d.ts.map +0 -1
  1143. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/userTeamsTable.js.map +0 -1
  1144. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/usersTable.d.ts.map +0 -1
  1145. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/usersTable.js.map +0 -1
  1146. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/upsertHelpers.d.ts.map +0 -1
  1147. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/upsertHelpers.js.map +0 -1
  1148. package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalyses.d.ts.map +0 -1
  1149. package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalyses.js.map +0 -1
  1150. package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalysis.d.ts.map +0 -1
  1151. package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalysis.js.map +0 -1
  1152. package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalysisBranches.d.ts.map +0 -1
  1153. package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalysisBranches.js.map +0 -1
  1154. package/analyzer-template/packages/github/dist/supabase/src/lib/loadBackgroundJob.d.ts.map +0 -1
  1155. package/analyzer-template/packages/github/dist/supabase/src/lib/loadBackgroundJob.js.map +0 -1
  1156. package/analyzer-template/packages/github/dist/supabase/src/lib/loadBranch.d.ts.map +0 -1
  1157. package/analyzer-template/packages/github/dist/supabase/src/lib/loadBranch.js.map +0 -1
  1158. package/analyzer-template/packages/github/dist/supabase/src/lib/loadBranches.d.ts.map +0 -1
  1159. package/analyzer-template/packages/github/dist/supabase/src/lib/loadBranches.js.map +0 -1
  1160. package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommit.d.ts.map +0 -1
  1161. package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommit.js.map +0 -1
  1162. package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommitBranches.d.ts.map +0 -1
  1163. package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommitBranches.js.map +0 -1
  1164. package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommitMetadata.d.ts.map +0 -1
  1165. package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommitMetadata.js.map +0 -1
  1166. package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommits.d.ts.map +0 -1
  1167. package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommits.js.map +0 -1
  1168. package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntities.d.ts.map +0 -1
  1169. package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntities.js +0 -63
  1170. package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntities.js.map +0 -1
  1171. package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntity.d.ts.map +0 -1
  1172. package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntity.js.map +0 -1
  1173. package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntityBranches.d.ts.map +0 -1
  1174. package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntityBranches.js.map +0 -1
  1175. package/analyzer-template/packages/github/dist/supabase/src/lib/loadFile.d.ts.map +0 -1
  1176. package/analyzer-template/packages/github/dist/supabase/src/lib/loadFile.js.map +0 -1
  1177. package/analyzer-template/packages/github/dist/supabase/src/lib/loadFiles.d.ts.map +0 -1
  1178. package/analyzer-template/packages/github/dist/supabase/src/lib/loadFiles.js.map +0 -1
  1179. package/analyzer-template/packages/github/dist/supabase/src/lib/loadMostRecentPreviousAnalysis.d.ts.map +0 -1
  1180. package/analyzer-template/packages/github/dist/supabase/src/lib/loadMostRecentPreviousAnalysis.js.map +0 -1
  1181. package/analyzer-template/packages/github/dist/supabase/src/lib/loadProject.d.ts.map +0 -1
  1182. package/analyzer-template/packages/github/dist/supabase/src/lib/loadProject.js.map +0 -1
  1183. package/analyzer-template/packages/github/dist/supabase/src/lib/loadReadyToBeCapturedAnalyses.d.ts.map +0 -1
  1184. package/analyzer-template/packages/github/dist/supabase/src/lib/loadReadyToBeCapturedAnalyses.js +0 -50
  1185. package/analyzer-template/packages/github/dist/supabase/src/lib/loadReadyToBeCapturedAnalyses.js.map +0 -1
  1186. package/analyzer-template/packages/github/dist/supabase/src/lib/loadScenario.d.ts.map +0 -1
  1187. package/analyzer-template/packages/github/dist/supabase/src/lib/loadScenario.js.map +0 -1
  1188. package/analyzer-template/packages/github/dist/supabase/src/lib/loadStatement.d.ts +0 -3
  1189. package/analyzer-template/packages/github/dist/supabase/src/lib/loadStatement.d.ts.map +0 -1
  1190. package/analyzer-template/packages/github/dist/supabase/src/lib/loadStatement.js.map +0 -1
  1191. package/analyzer-template/packages/github/dist/supabase/src/lib/nullsToUndefines.d.ts.map +0 -1
  1192. package/analyzer-template/packages/github/dist/supabase/src/lib/nullsToUndefines.js.map +0 -1
  1193. package/analyzer-template/packages/github/dist/supabase/src/lib/projectToDb.d.ts.map +0 -1
  1194. package/analyzer-template/packages/github/dist/supabase/src/lib/projectToDb.js.map +0 -1
  1195. package/analyzer-template/packages/github/dist/supabase/src/lib/saveBackgroundEvent.d.ts.map +0 -1
  1196. package/analyzer-template/packages/github/dist/supabase/src/lib/saveBackgroundEvent.js.map +0 -1
  1197. package/analyzer-template/packages/github/dist/supabase/src/lib/saveEntityStatements.d.ts.map +0 -1
  1198. package/analyzer-template/packages/github/dist/supabase/src/lib/saveEntityStatements.js.map +0 -1
  1199. package/analyzer-template/packages/github/dist/supabase/src/lib/saveFiles.d.ts.map +0 -1
  1200. package/analyzer-template/packages/github/dist/supabase/src/lib/saveFiles.js.map +0 -1
  1201. package/analyzer-template/packages/github/dist/supabase/src/lib/saveStatement.d.ts.map +0 -1
  1202. package/analyzer-template/packages/github/dist/supabase/src/lib/saveStatement.js.map +0 -1
  1203. package/analyzer-template/packages/github/dist/supabase/src/lib/scenarioToDb.d.ts.map +0 -1
  1204. package/analyzer-template/packages/github/dist/supabase/src/lib/scenarioToDb.js +0 -18
  1205. package/analyzer-template/packages/github/dist/supabase/src/lib/scenarioToDb.js.map +0 -1
  1206. package/analyzer-template/packages/github/dist/supabase/src/lib/supabase.d.ts +0 -4
  1207. package/analyzer-template/packages/github/dist/supabase/src/lib/supabase.d.ts.map +0 -1
  1208. package/analyzer-template/packages/github/dist/supabase/src/lib/supabase.js.map +0 -1
  1209. package/analyzer-template/packages/github/dist/supabase/src/lib/updateBackgroundJobProgress.d.ts.map +0 -1
  1210. package/analyzer-template/packages/github/dist/supabase/src/lib/updateBackgroundJobProgress.js.map +0 -1
  1211. package/analyzer-template/packages/github/dist/supabase/src/lib/updateCommitMetadata.d.ts.map +0 -1
  1212. package/analyzer-template/packages/github/dist/supabase/src/lib/updateCommitMetadata.js.map +0 -1
  1213. package/analyzer-template/packages/github/dist/supabase/src/lib/updateEntityBranch.d.ts.map +0 -1
  1214. package/analyzer-template/packages/github/dist/supabase/src/lib/updateEntityBranch.js.map +0 -1
  1215. package/analyzer-template/packages/github/dist/supabase/src/lib/updateFreshAnalysisMetadata.d.ts.map +0 -1
  1216. package/analyzer-template/packages/github/dist/supabase/src/lib/updateFreshAnalysisMetadata.js.map +0 -1
  1217. package/analyzer-template/packages/github/dist/supabase/src/lib/updateFreshAnalysisStatus.d.ts.map +0 -1
  1218. package/analyzer-template/packages/github/dist/supabase/src/lib/updateFreshAnalysisStatus.js.map +0 -1
  1219. package/analyzer-template/packages/github/dist/supabase/src/lib/updateFreshAnalysisStatusWithScenarios.d.ts.map +0 -1
  1220. package/analyzer-template/packages/github/dist/supabase/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +0 -1
  1221. package/analyzer-template/packages/github/dist/supabase/src/lib/updateProjectMetadata.d.ts.map +0 -1
  1222. package/analyzer-template/packages/github/dist/supabase/src/lib/updateProjectMetadata.js.map +0 -1
  1223. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertAnalyses.d.ts.map +0 -1
  1224. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertAnalyses.js.map +0 -1
  1225. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertAnalysesWithScenarios.d.ts.map +0 -1
  1226. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertAnalysesWithScenarios.js.map +0 -1
  1227. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertAnalysisBranches.d.ts.map +0 -1
  1228. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertAnalysisBranches.js.map +0 -1
  1229. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertBackgroundJob.d.ts.map +0 -1
  1230. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertBackgroundJob.js.map +0 -1
  1231. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertBranches.d.ts.map +0 -1
  1232. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertBranches.js.map +0 -1
  1233. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertCommitBranches.d.ts.map +0 -1
  1234. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertCommitBranches.js.map +0 -1
  1235. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertCommits.d.ts.map +0 -1
  1236. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertCommits.js.map +0 -1
  1237. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertEntities.d.ts.map +0 -1
  1238. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertEntities.js.map +0 -1
  1239. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertEntityBranches.d.ts.map +0 -1
  1240. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertEntityBranches.js.map +0 -1
  1241. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertFiles.d.ts.map +0 -1
  1242. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertFiles.js.map +0 -1
  1243. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertGithubUser.d.ts.map +0 -1
  1244. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertGithubUser.js.map +0 -1
  1245. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertProjects.d.ts.map +0 -1
  1246. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertProjects.js.map +0 -1
  1247. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertScenarios.d.ts.map +0 -1
  1248. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertScenarios.js.map +0 -1
  1249. package/analyzer-template/packages/supabase/client.ts +0 -35
  1250. package/analyzer-template/packages/supabase/package.json +0 -31
  1251. package/analyzer-template/packages/supabase/src/lib/kysely/db.ts +0 -476
  1252. package/analyzer-template/packages/supabase/src/lib/kysely/tableRelations.ts +0 -105
  1253. package/analyzer-template/packages/supabase/src/lib/loadCommit.ts +0 -163
  1254. package/analyzer-template/packages/supabase/src/lib/loadEntities.ts +0 -94
  1255. package/analyzer-template/packages/supabase/src/lib/loadEntity.ts +0 -110
  1256. package/analyzer-template/packages/supabase/src/lib/loadFile.ts +0 -47
  1257. package/analyzer-template/packages/supabase/src/lib/loadFiles.ts +0 -137
  1258. package/analyzer-template/packages/supabase/src/lib/loadReadyToBeCapturedAnalyses.ts +0 -76
  1259. package/analyzer-template/packages/supabase/src/lib/loadStatement.ts +0 -23
  1260. package/analyzer-template/packages/supabase/src/lib/saveEntityStatements.ts +0 -28
  1261. package/analyzer-template/packages/supabase/src/lib/scenarioToDb.ts +0 -34
  1262. package/analyzer-template/packages/supabase/src/lib/updateCommitMetadata.ts +0 -188
  1263. package/analyzer-template/packages/supabase/src/lib/updateProjectMetadata.ts +0 -96
  1264. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-GqWwt5wG.js +0 -1
  1265. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-Dh-FldQK.js +0 -26
  1266. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-p0fuyqGQ.js +0 -3
  1267. package/codeyam-cli/src/webserver/build/client/assets/LogViewer-Dp6DC845.js +0 -3
  1268. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-xwuhwsZH.js +0 -1
  1269. package/codeyam-cli/src/webserver/build/client/assets/ScenarioPreview-Bl2IRh55.js +0 -1
  1270. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-M2QuSHKC.js +0 -5
  1271. package/codeyam-cli/src/webserver/build/client/assets/_index-CAVtep9Q.js +0 -1
  1272. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-CLmzsLsT.js +0 -10
  1273. package/codeyam-cli/src/webserver/build/client/assets/chart-column-B2I7jQx2.js +0 -1
  1274. package/codeyam-cli/src/webserver/build/client/assets/circle-alert-GwwOAbhw.js +0 -1
  1275. package/codeyam-cli/src/webserver/build/client/assets/components-CAx5ONX_.js +0 -40
  1276. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-CgyOwWip.js +0 -1
  1277. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-DGy3zrli.js +0 -1
  1278. package/codeyam-cli/src/webserver/build/client/assets/entity._sha._-1Z6D0fLM.js +0 -11
  1279. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-ChAdTrrU.js +0 -1
  1280. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-D9L7267w.js +0 -5
  1281. package/codeyam-cli/src/webserver/build/client/assets/entityVersioning-DO2gCvXv.js +0 -1
  1282. package/codeyam-cli/src/webserver/build/client/assets/entry.client-C6FRgjPr.js +0 -1
  1283. package/codeyam-cli/src/webserver/build/client/assets/files-C3-cQjgv.js +0 -1
  1284. package/codeyam-cli/src/webserver/build/client/assets/git-Dp4EB9nv.js +0 -12
  1285. package/codeyam-cli/src/webserver/build/client/assets/globals-Da3jt49-.css +0 -1
  1286. package/codeyam-cli/src/webserver/build/client/assets/loader-circle-DN7Vr40D.js +0 -1
  1287. package/codeyam-cli/src/webserver/build/client/assets/manifest-172a4629.js +0 -1
  1288. package/codeyam-cli/src/webserver/build/client/assets/root-COyVTsPq.js +0 -16
  1289. package/codeyam-cli/src/webserver/build/client/assets/search-CvyP_1Lo.js +0 -1
  1290. package/codeyam-cli/src/webserver/build/client/assets/settings-Hbf8b7J_.js +0 -1
  1291. package/codeyam-cli/src/webserver/build/client/assets/settings-MZc4XdmE.js +0 -1
  1292. package/codeyam-cli/src/webserver/build/client/assets/simulations-BMBi0VzO.js +0 -1
  1293. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-BBlyqxij.js +0 -2
  1294. package/codeyam-cli/src/webserver/build/client/assets/useToast-C_VxoXTh.js +0 -1
  1295. package/codeyam-cli/src/webserver/build/client/assets/zap-B4gsLUZQ.js +0 -1
  1296. package/codeyam-cli/src/webserver/build/client/cy-logo-cli.svg +0 -13
  1297. package/codeyam-cli/src/webserver/build/server/assets/index-eAULANMV.js +0 -1
  1298. package/codeyam-cli/src/webserver/build/server/assets/server-build-lutv16q5.js +0 -161
  1299. package/codeyam-cli/src/webserver/public/cy-logo-cli.svg +0 -13
  1300. package/packages/ai/src/lib/generateEntityDataMap.js +0 -335
  1301. package/packages/ai/src/lib/generateEntityDataMap.js.map +0 -1
  1302. package/packages/ai/src/lib/promptGenerators/generateEntityDataMapGenerator.js +0 -17
  1303. package/packages/ai/src/lib/promptGenerators/generateEntityDataMapGenerator.js.map +0 -1
  1304. package/packages/supabase/index.js.map +0 -1
  1305. package/packages/supabase/src/lib/analysisBranchToDb.js.map +0 -1
  1306. package/packages/supabase/src/lib/analysisToDb.js.map +0 -1
  1307. package/packages/supabase/src/lib/backgroundJobToDb.js.map +0 -1
  1308. package/packages/supabase/src/lib/branchToDb.js.map +0 -1
  1309. package/packages/supabase/src/lib/commitBranchToDb.js.map +0 -1
  1310. package/packages/supabase/src/lib/commitToDb.js.map +0 -1
  1311. package/packages/supabase/src/lib/createOrUpdateBranchCommitStats.js.map +0 -1
  1312. package/packages/supabase/src/lib/createProject.js.map +0 -1
  1313. package/packages/supabase/src/lib/createRetryFetch.js.map +0 -1
  1314. package/packages/supabase/src/lib/dbToAnalysis.js.map +0 -1
  1315. package/packages/supabase/src/lib/dbToAnalysisBranch.js.map +0 -1
  1316. package/packages/supabase/src/lib/dbToBackgroundJob.js.map +0 -1
  1317. package/packages/supabase/src/lib/dbToBranch.js.map +0 -1
  1318. package/packages/supabase/src/lib/dbToCommit.js.map +0 -1
  1319. package/packages/supabase/src/lib/dbToCommitBranch.js.map +0 -1
  1320. package/packages/supabase/src/lib/dbToEntity.js.map +0 -1
  1321. package/packages/supabase/src/lib/dbToEntityBranch.js.map +0 -1
  1322. package/packages/supabase/src/lib/dbToFile.js.map +0 -1
  1323. package/packages/supabase/src/lib/dbToProject.js.map +0 -1
  1324. package/packages/supabase/src/lib/dbToScenario.js.map +0 -1
  1325. package/packages/supabase/src/lib/dbToScenarioComment.js.map +0 -1
  1326. package/packages/supabase/src/lib/dbToUserScenario.js.map +0 -1
  1327. package/packages/supabase/src/lib/deleteBranch.js.map +0 -1
  1328. package/packages/supabase/src/lib/deleteEntities.js.map +0 -1
  1329. package/packages/supabase/src/lib/deleteFile.js.map +0 -1
  1330. package/packages/supabase/src/lib/deleteScenarios.js.map +0 -1
  1331. package/packages/supabase/src/lib/entityToDb.js.map +0 -1
  1332. package/packages/supabase/src/lib/fileToDb.js.map +0 -1
  1333. package/packages/supabase/src/lib/generateSha.js.map +0 -1
  1334. package/packages/supabase/src/lib/jsonUpdateUtils.js.map +0 -1
  1335. package/packages/supabase/src/lib/kysely/aggregationHelpers.js.map +0 -1
  1336. package/packages/supabase/src/lib/kysely/db.js +0 -360
  1337. package/packages/supabase/src/lib/kysely/db.js.map +0 -1
  1338. package/packages/supabase/src/lib/kysely/schemaHelpers.js.map +0 -1
  1339. package/packages/supabase/src/lib/kysely/sqliteBooleanPlugin.js.map +0 -1
  1340. package/packages/supabase/src/lib/kysely/tableRelations.js.map +0 -1
  1341. package/packages/supabase/src/lib/kysely/tableRelationsTypes.js.map +0 -1
  1342. package/packages/supabase/src/lib/kysely/tables/analysesTable.js.map +0 -1
  1343. package/packages/supabase/src/lib/kysely/tables/analysisBranchesTable.js.map +0 -1
  1344. package/packages/supabase/src/lib/kysely/tables/backgroundJobsTable.js.map +0 -1
  1345. package/packages/supabase/src/lib/kysely/tables/branchesTable.js.map +0 -1
  1346. package/packages/supabase/src/lib/kysely/tables/commitBranchesTable.js.map +0 -1
  1347. package/packages/supabase/src/lib/kysely/tables/commitsTable.js.map +0 -1
  1348. package/packages/supabase/src/lib/kysely/tables/entitiesTable.js.map +0 -1
  1349. package/packages/supabase/src/lib/kysely/tables/entityBranchesTable.js.map +0 -1
  1350. package/packages/supabase/src/lib/kysely/tables/entityStatementsTable.js.map +0 -1
  1351. package/packages/supabase/src/lib/kysely/tables/filesTable.js.map +0 -1
  1352. package/packages/supabase/src/lib/kysely/tables/githubPayloadsTable.js.map +0 -1
  1353. package/packages/supabase/src/lib/kysely/tables/githubUsersTable.js.map +0 -1
  1354. package/packages/supabase/src/lib/kysely/tables/projectsTable.js.map +0 -1
  1355. package/packages/supabase/src/lib/kysely/tables/scenarioCommentsTable.js.map +0 -1
  1356. package/packages/supabase/src/lib/kysely/tables/scenariosTable.js.map +0 -1
  1357. package/packages/supabase/src/lib/kysely/tables/statementsTable.js.map +0 -1
  1358. package/packages/supabase/src/lib/kysely/tables/teamsTable.js.map +0 -1
  1359. package/packages/supabase/src/lib/kysely/tables/userScenariosTable.js.map +0 -1
  1360. package/packages/supabase/src/lib/kysely/tables/userTeamsTable.js.map +0 -1
  1361. package/packages/supabase/src/lib/kysely/tables/usersTable.js.map +0 -1
  1362. package/packages/supabase/src/lib/kysely/upsertHelpers.js.map +0 -1
  1363. package/packages/supabase/src/lib/loadAnalyses.js.map +0 -1
  1364. package/packages/supabase/src/lib/loadAnalysis.js.map +0 -1
  1365. package/packages/supabase/src/lib/loadAnalysisBranches.js.map +0 -1
  1366. package/packages/supabase/src/lib/loadBackgroundJob.js.map +0 -1
  1367. package/packages/supabase/src/lib/loadBranch.js.map +0 -1
  1368. package/packages/supabase/src/lib/loadBranches.js.map +0 -1
  1369. package/packages/supabase/src/lib/loadCommit.js.map +0 -1
  1370. package/packages/supabase/src/lib/loadCommitBranches.js.map +0 -1
  1371. package/packages/supabase/src/lib/loadCommitMetadata.js.map +0 -1
  1372. package/packages/supabase/src/lib/loadCommits.js.map +0 -1
  1373. package/packages/supabase/src/lib/loadEntities.js +0 -63
  1374. package/packages/supabase/src/lib/loadEntities.js.map +0 -1
  1375. package/packages/supabase/src/lib/loadEntity.js.map +0 -1
  1376. package/packages/supabase/src/lib/loadEntityBranches.js.map +0 -1
  1377. package/packages/supabase/src/lib/loadFile.js.map +0 -1
  1378. package/packages/supabase/src/lib/loadFiles.js.map +0 -1
  1379. package/packages/supabase/src/lib/loadMostRecentPreviousAnalysis.js.map +0 -1
  1380. package/packages/supabase/src/lib/loadProject.js.map +0 -1
  1381. package/packages/supabase/src/lib/loadReadyToBeCapturedAnalyses.js +0 -50
  1382. package/packages/supabase/src/lib/loadReadyToBeCapturedAnalyses.js.map +0 -1
  1383. package/packages/supabase/src/lib/loadScenario.js.map +0 -1
  1384. package/packages/supabase/src/lib/loadStatement.js.map +0 -1
  1385. package/packages/supabase/src/lib/nullsToUndefines.js.map +0 -1
  1386. package/packages/supabase/src/lib/projectToDb.js.map +0 -1
  1387. package/packages/supabase/src/lib/saveBackgroundEvent.js.map +0 -1
  1388. package/packages/supabase/src/lib/saveEntityStatements.js.map +0 -1
  1389. package/packages/supabase/src/lib/saveFiles.js.map +0 -1
  1390. package/packages/supabase/src/lib/saveStatement.js.map +0 -1
  1391. package/packages/supabase/src/lib/scenarioToDb.js +0 -18
  1392. package/packages/supabase/src/lib/scenarioToDb.js.map +0 -1
  1393. package/packages/supabase/src/lib/supabase.js.map +0 -1
  1394. package/packages/supabase/src/lib/updateBackgroundJobProgress.js.map +0 -1
  1395. package/packages/supabase/src/lib/updateCommitMetadata.js.map +0 -1
  1396. package/packages/supabase/src/lib/updateEntityBranch.js.map +0 -1
  1397. package/packages/supabase/src/lib/updateFreshAnalysisMetadata.js.map +0 -1
  1398. package/packages/supabase/src/lib/updateFreshAnalysisStatus.js.map +0 -1
  1399. package/packages/supabase/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +0 -1
  1400. package/packages/supabase/src/lib/updateProjectMetadata.js.map +0 -1
  1401. package/packages/supabase/src/lib/upsertAnalyses.js.map +0 -1
  1402. package/packages/supabase/src/lib/upsertAnalysesWithScenarios.js.map +0 -1
  1403. package/packages/supabase/src/lib/upsertAnalysisBranches.js.map +0 -1
  1404. package/packages/supabase/src/lib/upsertBackgroundJob.js.map +0 -1
  1405. package/packages/supabase/src/lib/upsertBranches.js.map +0 -1
  1406. package/packages/supabase/src/lib/upsertCommitBranches.js.map +0 -1
  1407. package/packages/supabase/src/lib/upsertCommits.js.map +0 -1
  1408. package/packages/supabase/src/lib/upsertEntities.js.map +0 -1
  1409. package/packages/supabase/src/lib/upsertEntityBranches.js.map +0 -1
  1410. package/packages/supabase/src/lib/upsertFiles.js.map +0 -1
  1411. package/packages/supabase/src/lib/upsertGithubUser.js.map +0 -1
  1412. package/packages/supabase/src/lib/upsertProjects.js.map +0 -1
  1413. package/packages/supabase/src/lib/upsertScenarios.js.map +0 -1
  1414. /package/analyzer-template/packages/{supabase → database}/__mocks__/index.ts +0 -0
  1415. /package/analyzer-template/packages/{supabase → database}/index.ts +0 -0
  1416. /package/analyzer-template/packages/{supabase → database}/src/lib/analysisBranchToDb.ts +0 -0
  1417. /package/analyzer-template/packages/{supabase → database}/src/lib/analysisToDb.ts +0 -0
  1418. /package/analyzer-template/packages/{supabase → database}/src/lib/backgroundJobToDb.ts +0 -0
  1419. /package/analyzer-template/packages/{supabase → database}/src/lib/branchToDb.ts +0 -0
  1420. /package/analyzer-template/packages/{supabase → database}/src/lib/client/listenForCommits_Client.ts +0 -0
  1421. /package/analyzer-template/packages/{supabase → database}/src/lib/client/loadAnalysesInClient.ts +0 -0
  1422. /package/analyzer-template/packages/{supabase → database}/src/lib/client/loadAnalysis_Client.ts +0 -0
  1423. /package/analyzer-template/packages/{supabase → database}/src/lib/client/loadBranches_Client.ts +0 -0
  1424. /package/analyzer-template/packages/{supabase → database}/src/lib/client/loadCommit_Client.ts +0 -0
  1425. /package/analyzer-template/packages/{supabase → database}/src/lib/client/upsertFiles_Client.ts +0 -0
  1426. /package/analyzer-template/packages/{supabase → database}/src/lib/commitBranchToDb.ts +0 -0
  1427. /package/analyzer-template/packages/{supabase → database}/src/lib/commitToDb.ts +0 -0
  1428. /package/analyzer-template/packages/{supabase → database}/src/lib/createOrUpdateBranchCommitStats.ts +0 -0
  1429. /package/analyzer-template/packages/{supabase → database}/src/lib/createProject.ts +0 -0
  1430. /package/analyzer-template/packages/{supabase → database}/src/lib/createRetryFetch.ts +0 -0
  1431. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToAnalysis.ts +0 -0
  1432. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToAnalysisBranch.ts +0 -0
  1433. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToBackgroundJob.ts +0 -0
  1434. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToBranch.ts +0 -0
  1435. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToCommit.ts +0 -0
  1436. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToCommitBranch.ts +0 -0
  1437. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToEntity.ts +0 -0
  1438. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToEntityBranch.ts +0 -0
  1439. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToFile.ts +0 -0
  1440. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToProject.ts +0 -0
  1441. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToScenario.ts +0 -0
  1442. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToScenarioComment.ts +0 -0
  1443. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToUserScenario.ts +0 -0
  1444. /package/analyzer-template/packages/{supabase → database}/src/lib/deleteBranch.ts +0 -0
  1445. /package/analyzer-template/packages/{supabase → database}/src/lib/deleteEntities.ts +0 -0
  1446. /package/analyzer-template/packages/{supabase → database}/src/lib/deleteFile.ts +0 -0
  1447. /package/analyzer-template/packages/{supabase → database}/src/lib/deleteScenarios.ts +0 -0
  1448. /package/analyzer-template/packages/{supabase → database}/src/lib/entityToDb.ts +0 -0
  1449. /package/analyzer-template/packages/{supabase → database}/src/lib/fileToDb.ts +0 -0
  1450. /package/analyzer-template/packages/{supabase → database}/src/lib/generateSha.ts +0 -0
  1451. /package/analyzer-template/packages/{supabase → database}/src/lib/jsonUpdateUtils.ts +0 -0
  1452. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/aggregationHelpers.ts +0 -0
  1453. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/schemaHelpers.ts +0 -0
  1454. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/sqliteBooleanPlugin.ts +0 -0
  1455. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tableRelationsTypes.ts +0 -0
  1456. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/analysesTable.ts +0 -0
  1457. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/analysisBranchesTable.ts +0 -0
  1458. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/backgroundJobsTable.ts +0 -0
  1459. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/branchesTable.ts +0 -0
  1460. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/commitBranchesTable.ts +0 -0
  1461. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/commitsTable.ts +0 -0
  1462. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/entitiesTable.ts +0 -0
  1463. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/entityBranchesTable.ts +0 -0
  1464. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/entityStatementsTable.ts +0 -0
  1465. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/filesTable.ts +0 -0
  1466. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/githubPayloadsTable.ts +0 -0
  1467. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/githubUsersTable.ts +0 -0
  1468. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/projectsTable.ts +0 -0
  1469. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/scenarioCommentsTable.ts +0 -0
  1470. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/scenariosTable.ts +0 -0
  1471. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/statementsTable.ts +0 -0
  1472. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/teamsTable.ts +0 -0
  1473. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/userScenariosTable.ts +0 -0
  1474. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/userTeamsTable.ts +0 -0
  1475. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/usersTable.ts +0 -0
  1476. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/upsertHelpers.ts +0 -0
  1477. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely.ts +0 -0
  1478. /package/analyzer-template/packages/{supabase → database}/src/lib/loadAnalyses.ts +0 -0
  1479. /package/analyzer-template/packages/{supabase → database}/src/lib/loadAnalysis.ts +0 -0
  1480. /package/analyzer-template/packages/{supabase → database}/src/lib/loadAnalysisBranches.ts +0 -0
  1481. /package/analyzer-template/packages/{supabase → database}/src/lib/loadBackgroundJob.ts +0 -0
  1482. /package/analyzer-template/packages/{supabase → database}/src/lib/loadBranch.ts +0 -0
  1483. /package/analyzer-template/packages/{supabase → database}/src/lib/loadBranches.ts +0 -0
  1484. /package/analyzer-template/packages/{supabase → database}/src/lib/loadCommitBranches.ts +0 -0
  1485. /package/analyzer-template/packages/{supabase → database}/src/lib/loadCommitMetadata.ts +0 -0
  1486. /package/analyzer-template/packages/{supabase → database}/src/lib/loadCommits.ts +0 -0
  1487. /package/analyzer-template/packages/{supabase → database}/src/lib/loadEntityBranches.ts +0 -0
  1488. /package/analyzer-template/packages/{supabase → database}/src/lib/loadMostRecentPreviousAnalysis.ts +0 -0
  1489. /package/analyzer-template/packages/{supabase → database}/src/lib/loadProject.ts +0 -0
  1490. /package/analyzer-template/packages/{supabase → database}/src/lib/loadScenario.ts +0 -0
  1491. /package/analyzer-template/packages/{supabase → database}/src/lib/nullsToUndefines.ts +0 -0
  1492. /package/analyzer-template/packages/{supabase → database}/src/lib/projectToDb.ts +0 -0
  1493. /package/analyzer-template/packages/{supabase → database}/src/lib/saveBackgroundEvent.ts +0 -0
  1494. /package/analyzer-template/packages/{supabase → database}/src/lib/saveFiles.ts +0 -0
  1495. /package/analyzer-template/packages/{supabase → database}/src/lib/saveStatement.ts +0 -0
  1496. /package/analyzer-template/packages/{supabase → database}/src/lib/scenarioCommentToDb.ts +0 -0
  1497. /package/analyzer-template/packages/{supabase → database}/src/lib/supabase.ts +0 -0
  1498. /package/analyzer-template/packages/{supabase → database}/src/lib/updateBackgroundJobProgress.ts +0 -0
  1499. /package/analyzer-template/packages/{supabase → database}/src/lib/updateEntityBranch.ts +0 -0
  1500. /package/analyzer-template/packages/{supabase → database}/src/lib/updateFreshAnalysisMetadata.ts +0 -0
  1501. /package/analyzer-template/packages/{supabase → database}/src/lib/updateFreshAnalysisStatus.ts +0 -0
  1502. /package/analyzer-template/packages/{supabase → database}/src/lib/updateFreshAnalysisStatusWithScenarios.ts +0 -0
  1503. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertAnalyses.ts +0 -0
  1504. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertAnalysesWithScenarios.ts +0 -0
  1505. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertAnalysisBranches.ts +0 -0
  1506. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertBackgroundJob.ts +0 -0
  1507. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertBranches.ts +0 -0
  1508. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertCommitBranches.ts +0 -0
  1509. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertCommits.ts +0 -0
  1510. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertEntities.ts +0 -0
  1511. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertEntityBranches.ts +0 -0
  1512. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertFiles.ts +0 -0
  1513. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertGithubUser.ts +0 -0
  1514. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertProjects.ts +0 -0
  1515. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertScenarios.ts +0 -0
  1516. /package/analyzer-template/packages/{supabase → database}/src/lib/userScenarioToDb.ts +0 -0
  1517. /package/analyzer-template/packages/{supabase → database}/tsconfig.json +0 -0
  1518. /package/analyzer-template/packages/github/dist/{supabase → database}/index.d.ts +0 -0
  1519. /package/analyzer-template/packages/github/dist/{supabase → database}/index.js +0 -0
  1520. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/analysisBranchToDb.d.ts +0 -0
  1521. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/analysisBranchToDb.js +0 -0
  1522. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/analysisToDb.d.ts +0 -0
  1523. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/analysisToDb.js +0 -0
  1524. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/backgroundJobToDb.d.ts +0 -0
  1525. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/backgroundJobToDb.js +0 -0
  1526. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/branchToDb.d.ts +0 -0
  1527. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/branchToDb.js +0 -0
  1528. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/commitBranchToDb.d.ts +0 -0
  1529. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/commitBranchToDb.js +0 -0
  1530. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/commitToDb.d.ts +0 -0
  1531. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/commitToDb.js +0 -0
  1532. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/createOrUpdateBranchCommitStats.d.ts +0 -0
  1533. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/createOrUpdateBranchCommitStats.js +0 -0
  1534. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/createProject.d.ts +0 -0
  1535. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/createProject.js +0 -0
  1536. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/createRetryFetch.d.ts +0 -0
  1537. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/createRetryFetch.js +0 -0
  1538. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToAnalysis.d.ts +0 -0
  1539. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToAnalysis.js +0 -0
  1540. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToAnalysisBranch.d.ts +0 -0
  1541. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToAnalysisBranch.js +0 -0
  1542. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToBackgroundJob.d.ts +0 -0
  1543. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToBackgroundJob.js +0 -0
  1544. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToBranch.d.ts +0 -0
  1545. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToBranch.js +0 -0
  1546. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToCommit.d.ts +0 -0
  1547. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToCommit.js +0 -0
  1548. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToCommitBranch.d.ts +0 -0
  1549. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToCommitBranch.js +0 -0
  1550. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToEntity.d.ts +0 -0
  1551. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToEntity.js +0 -0
  1552. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToEntityBranch.d.ts +0 -0
  1553. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToEntityBranch.js +0 -0
  1554. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToFile.d.ts +0 -0
  1555. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToFile.js +0 -0
  1556. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToProject.d.ts +0 -0
  1557. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToProject.js +0 -0
  1558. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToScenario.d.ts +0 -0
  1559. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToScenario.js +0 -0
  1560. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToScenarioComment.d.ts +0 -0
  1561. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToScenarioComment.js +0 -0
  1562. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToUserScenario.d.ts +0 -0
  1563. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToUserScenario.js +0 -0
  1564. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteBranch.d.ts +0 -0
  1565. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteBranch.js +0 -0
  1566. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteEntities.d.ts +0 -0
  1567. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteEntities.js +0 -0
  1568. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteFile.d.ts +0 -0
  1569. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteFile.js +0 -0
  1570. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteScenarios.d.ts +0 -0
  1571. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteScenarios.js +0 -0
  1572. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/entityToDb.d.ts +0 -0
  1573. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/entityToDb.js +0 -0
  1574. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/fileToDb.d.ts +0 -0
  1575. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/fileToDb.js +0 -0
  1576. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/generateSha.d.ts +0 -0
  1577. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/generateSha.js +0 -0
  1578. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/jsonUpdateUtils.d.ts +0 -0
  1579. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/jsonUpdateUtils.js +0 -0
  1580. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/aggregationHelpers.d.ts +0 -0
  1581. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/aggregationHelpers.js +0 -0
  1582. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/schemaHelpers.d.ts +0 -0
  1583. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/schemaHelpers.js +0 -0
  1584. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/sqliteBooleanPlugin.d.ts +0 -0
  1585. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/sqliteBooleanPlugin.js +0 -0
  1586. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tableRelations.js +0 -0
  1587. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tableRelationsTypes.d.ts +0 -0
  1588. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tableRelationsTypes.js +0 -0
  1589. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/analysesTable.js +0 -0
  1590. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/analysisBranchesTable.d.ts +0 -0
  1591. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/analysisBranchesTable.js +0 -0
  1592. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/backgroundJobsTable.d.ts +0 -0
  1593. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/backgroundJobsTable.js +0 -0
  1594. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/branchesTable.d.ts +0 -0
  1595. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/branchesTable.js +0 -0
  1596. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/commitBranchesTable.d.ts +0 -0
  1597. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/commitBranchesTable.js +0 -0
  1598. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/commitsTable.d.ts +0 -0
  1599. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/commitsTable.js +0 -0
  1600. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/entitiesTable.js +0 -0
  1601. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/entityBranchesTable.d.ts +0 -0
  1602. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/entityBranchesTable.js +0 -0
  1603. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/entityStatementsTable.d.ts +0 -0
  1604. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/entityStatementsTable.js +0 -0
  1605. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/filesTable.d.ts +0 -0
  1606. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/filesTable.js +0 -0
  1607. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/githubPayloadsTable.d.ts +0 -0
  1608. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/githubPayloadsTable.js +0 -0
  1609. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/githubUsersTable.d.ts +0 -0
  1610. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/githubUsersTable.js +0 -0
  1611. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/projectsTable.d.ts +0 -0
  1612. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/projectsTable.js +0 -0
  1613. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/scenarioCommentsTable.d.ts +0 -0
  1614. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/scenarioCommentsTable.js +0 -0
  1615. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/scenariosTable.d.ts +0 -0
  1616. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/scenariosTable.js +0 -0
  1617. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/statementsTable.d.ts +0 -0
  1618. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/statementsTable.js +0 -0
  1619. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/teamsTable.d.ts +0 -0
  1620. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/teamsTable.js +0 -0
  1621. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/userScenariosTable.d.ts +0 -0
  1622. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/userScenariosTable.js +0 -0
  1623. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/userTeamsTable.d.ts +0 -0
  1624. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/userTeamsTable.js +0 -0
  1625. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/usersTable.d.ts +0 -0
  1626. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/usersTable.js +0 -0
  1627. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/upsertHelpers.d.ts +0 -0
  1628. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/upsertHelpers.js +0 -0
  1629. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadAnalyses.d.ts +0 -0
  1630. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadAnalyses.js +0 -0
  1631. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadAnalysis.d.ts +0 -0
  1632. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadAnalysis.js +0 -0
  1633. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadAnalysisBranches.d.ts +0 -0
  1634. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadAnalysisBranches.js +0 -0
  1635. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadBackgroundJob.d.ts +0 -0
  1636. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadBackgroundJob.js +0 -0
  1637. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadBranch.d.ts +0 -0
  1638. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadBranch.js +0 -0
  1639. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadBranches.d.ts +0 -0
  1640. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadBranches.js +0 -0
  1641. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadCommit.d.ts +0 -0
  1642. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadCommit.js +0 -0
  1643. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadCommitBranches.d.ts +0 -0
  1644. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadCommitBranches.js +0 -0
  1645. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadCommitMetadata.d.ts +0 -0
  1646. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadCommitMetadata.js +0 -0
  1647. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadCommits.d.ts +0 -0
  1648. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadCommits.js +0 -0
  1649. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadEntities.d.ts +0 -0
  1650. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadEntity.d.ts +0 -0
  1651. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadEntity.js +0 -0
  1652. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadEntityBranches.d.ts +0 -0
  1653. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadEntityBranches.js +0 -0
  1654. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadFile.d.ts +0 -0
  1655. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadFile.js +0 -0
  1656. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadFiles.d.ts +0 -0
  1657. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadFiles.js +0 -0
  1658. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadMostRecentPreviousAnalysis.d.ts +0 -0
  1659. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadMostRecentPreviousAnalysis.js +0 -0
  1660. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadProject.d.ts +0 -0
  1661. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadProject.js +0 -0
  1662. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadReadyToBeCapturedAnalyses.d.ts +0 -0
  1663. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadScenario.d.ts +0 -0
  1664. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadScenario.js +0 -0
  1665. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadStatement.js +0 -0
  1666. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/nullsToUndefines.d.ts +0 -0
  1667. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/nullsToUndefines.js +0 -0
  1668. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/projectToDb.d.ts +0 -0
  1669. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/projectToDb.js +0 -0
  1670. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/saveBackgroundEvent.d.ts +0 -0
  1671. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/saveBackgroundEvent.js +0 -0
  1672. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/saveEntityStatements.d.ts +0 -0
  1673. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/saveEntityStatements.js +0 -0
  1674. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/saveFiles.d.ts +0 -0
  1675. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/saveFiles.js +0 -0
  1676. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/saveStatement.d.ts +0 -0
  1677. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/saveStatement.js +0 -0
  1678. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/scenarioToDb.d.ts +0 -0
  1679. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/supabase.js +0 -0
  1680. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateBackgroundJobProgress.d.ts +0 -0
  1681. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateBackgroundJobProgress.js +0 -0
  1682. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateCommitMetadata.d.ts +0 -0
  1683. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateCommitMetadata.js +0 -0
  1684. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateEntityBranch.d.ts +0 -0
  1685. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateEntityBranch.js +0 -0
  1686. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateFreshAnalysisMetadata.d.ts +0 -0
  1687. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateFreshAnalysisMetadata.js +0 -0
  1688. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateFreshAnalysisStatus.d.ts +0 -0
  1689. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateFreshAnalysisStatus.js +0 -0
  1690. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateFreshAnalysisStatusWithScenarios.d.ts +0 -0
  1691. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateFreshAnalysisStatusWithScenarios.js +0 -0
  1692. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateProjectMetadata.d.ts +0 -0
  1693. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateProjectMetadata.js +0 -0
  1694. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertAnalyses.d.ts +0 -0
  1695. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertAnalyses.js +0 -0
  1696. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertAnalysesWithScenarios.d.ts +0 -0
  1697. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertAnalysesWithScenarios.js +0 -0
  1698. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertAnalysisBranches.d.ts +0 -0
  1699. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertAnalysisBranches.js +0 -0
  1700. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertBackgroundJob.d.ts +0 -0
  1701. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertBackgroundJob.js +0 -0
  1702. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertBranches.d.ts +0 -0
  1703. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertBranches.js +0 -0
  1704. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertCommitBranches.d.ts +0 -0
  1705. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertCommitBranches.js +0 -0
  1706. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertCommits.d.ts +0 -0
  1707. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertCommits.js +0 -0
  1708. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertEntities.d.ts +0 -0
  1709. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertEntities.js +0 -0
  1710. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertEntityBranches.d.ts +0 -0
  1711. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertEntityBranches.js +0 -0
  1712. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertFiles.d.ts +0 -0
  1713. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertFiles.js +0 -0
  1714. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertGithubUser.d.ts +0 -0
  1715. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertGithubUser.js +0 -0
  1716. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertProjects.d.ts +0 -0
  1717. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertProjects.js +0 -0
  1718. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertScenarios.d.ts +0 -0
  1719. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertScenarios.js +0 -0
  1720. /package/packages/{supabase → database}/index.js +0 -0
  1721. /package/packages/{supabase → database}/src/lib/analysisBranchToDb.js +0 -0
  1722. /package/packages/{supabase → database}/src/lib/analysisToDb.js +0 -0
  1723. /package/packages/{supabase → database}/src/lib/backgroundJobToDb.js +0 -0
  1724. /package/packages/{supabase → database}/src/lib/branchToDb.js +0 -0
  1725. /package/packages/{supabase → database}/src/lib/commitBranchToDb.js +0 -0
  1726. /package/packages/{supabase → database}/src/lib/commitToDb.js +0 -0
  1727. /package/packages/{supabase → database}/src/lib/createOrUpdateBranchCommitStats.js +0 -0
  1728. /package/packages/{supabase → database}/src/lib/createProject.js +0 -0
  1729. /package/packages/{supabase → database}/src/lib/createRetryFetch.js +0 -0
  1730. /package/packages/{supabase → database}/src/lib/dbToAnalysis.js +0 -0
  1731. /package/packages/{supabase → database}/src/lib/dbToAnalysisBranch.js +0 -0
  1732. /package/packages/{supabase → database}/src/lib/dbToBackgroundJob.js +0 -0
  1733. /package/packages/{supabase → database}/src/lib/dbToBranch.js +0 -0
  1734. /package/packages/{supabase → database}/src/lib/dbToCommit.js +0 -0
  1735. /package/packages/{supabase → database}/src/lib/dbToCommitBranch.js +0 -0
  1736. /package/packages/{supabase → database}/src/lib/dbToEntity.js +0 -0
  1737. /package/packages/{supabase → database}/src/lib/dbToEntityBranch.js +0 -0
  1738. /package/packages/{supabase → database}/src/lib/dbToFile.js +0 -0
  1739. /package/packages/{supabase → database}/src/lib/dbToProject.js +0 -0
  1740. /package/packages/{supabase → database}/src/lib/dbToScenario.js +0 -0
  1741. /package/packages/{supabase → database}/src/lib/dbToScenarioComment.js +0 -0
  1742. /package/packages/{supabase → database}/src/lib/dbToUserScenario.js +0 -0
  1743. /package/packages/{supabase → database}/src/lib/deleteBranch.js +0 -0
  1744. /package/packages/{supabase → database}/src/lib/deleteEntities.js +0 -0
  1745. /package/packages/{supabase → database}/src/lib/deleteFile.js +0 -0
  1746. /package/packages/{supabase → database}/src/lib/deleteScenarios.js +0 -0
  1747. /package/packages/{supabase → database}/src/lib/entityToDb.js +0 -0
  1748. /package/packages/{supabase → database}/src/lib/fileToDb.js +0 -0
  1749. /package/packages/{supabase → database}/src/lib/generateSha.js +0 -0
  1750. /package/packages/{supabase → database}/src/lib/jsonUpdateUtils.js +0 -0
  1751. /package/packages/{supabase → database}/src/lib/kysely/aggregationHelpers.js +0 -0
  1752. /package/packages/{supabase → database}/src/lib/kysely/schemaHelpers.js +0 -0
  1753. /package/packages/{supabase → database}/src/lib/kysely/sqliteBooleanPlugin.js +0 -0
  1754. /package/packages/{supabase → database}/src/lib/kysely/tableRelations.js +0 -0
  1755. /package/packages/{supabase → database}/src/lib/kysely/tableRelationsTypes.js +0 -0
  1756. /package/packages/{supabase → database}/src/lib/kysely/tables/analysesTable.js +0 -0
  1757. /package/packages/{supabase → database}/src/lib/kysely/tables/analysisBranchesTable.js +0 -0
  1758. /package/packages/{supabase → database}/src/lib/kysely/tables/backgroundJobsTable.js +0 -0
  1759. /package/packages/{supabase → database}/src/lib/kysely/tables/branchesTable.js +0 -0
  1760. /package/packages/{supabase → database}/src/lib/kysely/tables/commitBranchesTable.js +0 -0
  1761. /package/packages/{supabase → database}/src/lib/kysely/tables/commitsTable.js +0 -0
  1762. /package/packages/{supabase → database}/src/lib/kysely/tables/entitiesTable.js +0 -0
  1763. /package/packages/{supabase → database}/src/lib/kysely/tables/entityBranchesTable.js +0 -0
  1764. /package/packages/{supabase → database}/src/lib/kysely/tables/entityStatementsTable.js +0 -0
  1765. /package/packages/{supabase → database}/src/lib/kysely/tables/filesTable.js +0 -0
  1766. /package/packages/{supabase → database}/src/lib/kysely/tables/githubPayloadsTable.js +0 -0
  1767. /package/packages/{supabase → database}/src/lib/kysely/tables/githubUsersTable.js +0 -0
  1768. /package/packages/{supabase → database}/src/lib/kysely/tables/projectsTable.js +0 -0
  1769. /package/packages/{supabase → database}/src/lib/kysely/tables/scenarioCommentsTable.js +0 -0
  1770. /package/packages/{supabase → database}/src/lib/kysely/tables/scenariosTable.js +0 -0
  1771. /package/packages/{supabase → database}/src/lib/kysely/tables/statementsTable.js +0 -0
  1772. /package/packages/{supabase → database}/src/lib/kysely/tables/teamsTable.js +0 -0
  1773. /package/packages/{supabase → database}/src/lib/kysely/tables/userScenariosTable.js +0 -0
  1774. /package/packages/{supabase → database}/src/lib/kysely/tables/userTeamsTable.js +0 -0
  1775. /package/packages/{supabase → database}/src/lib/kysely/tables/usersTable.js +0 -0
  1776. /package/packages/{supabase → database}/src/lib/kysely/upsertHelpers.js +0 -0
  1777. /package/packages/{supabase → database}/src/lib/loadAnalyses.js +0 -0
  1778. /package/packages/{supabase → database}/src/lib/loadAnalysis.js +0 -0
  1779. /package/packages/{supabase → database}/src/lib/loadAnalysisBranches.js +0 -0
  1780. /package/packages/{supabase → database}/src/lib/loadBackgroundJob.js +0 -0
  1781. /package/packages/{supabase → database}/src/lib/loadBranch.js +0 -0
  1782. /package/packages/{supabase → database}/src/lib/loadBranches.js +0 -0
  1783. /package/packages/{supabase → database}/src/lib/loadCommit.js +0 -0
  1784. /package/packages/{supabase → database}/src/lib/loadCommitBranches.js +0 -0
  1785. /package/packages/{supabase → database}/src/lib/loadCommitMetadata.js +0 -0
  1786. /package/packages/{supabase → database}/src/lib/loadCommits.js +0 -0
  1787. /package/packages/{supabase → database}/src/lib/loadEntity.js +0 -0
  1788. /package/packages/{supabase → database}/src/lib/loadEntityBranches.js +0 -0
  1789. /package/packages/{supabase → database}/src/lib/loadFile.js +0 -0
  1790. /package/packages/{supabase → database}/src/lib/loadFiles.js +0 -0
  1791. /package/packages/{supabase → database}/src/lib/loadMostRecentPreviousAnalysis.js +0 -0
  1792. /package/packages/{supabase → database}/src/lib/loadProject.js +0 -0
  1793. /package/packages/{supabase → database}/src/lib/loadScenario.js +0 -0
  1794. /package/packages/{supabase → database}/src/lib/loadStatement.js +0 -0
  1795. /package/packages/{supabase → database}/src/lib/nullsToUndefines.js +0 -0
  1796. /package/packages/{supabase → database}/src/lib/projectToDb.js +0 -0
  1797. /package/packages/{supabase → database}/src/lib/saveBackgroundEvent.js +0 -0
  1798. /package/packages/{supabase → database}/src/lib/saveEntityStatements.js +0 -0
  1799. /package/packages/{supabase → database}/src/lib/saveFiles.js +0 -0
  1800. /package/packages/{supabase → database}/src/lib/saveStatement.js +0 -0
  1801. /package/packages/{supabase → database}/src/lib/supabase.js +0 -0
  1802. /package/packages/{supabase → database}/src/lib/updateBackgroundJobProgress.js +0 -0
  1803. /package/packages/{supabase → database}/src/lib/updateCommitMetadata.js +0 -0
  1804. /package/packages/{supabase → database}/src/lib/updateEntityBranch.js +0 -0
  1805. /package/packages/{supabase → database}/src/lib/updateFreshAnalysisMetadata.js +0 -0
  1806. /package/packages/{supabase → database}/src/lib/updateFreshAnalysisStatus.js +0 -0
  1807. /package/packages/{supabase → database}/src/lib/updateFreshAnalysisStatusWithScenarios.js +0 -0
  1808. /package/packages/{supabase → database}/src/lib/updateProjectMetadata.js +0 -0
  1809. /package/packages/{supabase → database}/src/lib/upsertAnalyses.js +0 -0
  1810. /package/packages/{supabase → database}/src/lib/upsertAnalysesWithScenarios.js +0 -0
  1811. /package/packages/{supabase → database}/src/lib/upsertAnalysisBranches.js +0 -0
  1812. /package/packages/{supabase → database}/src/lib/upsertBackgroundJob.js +0 -0
  1813. /package/packages/{supabase → database}/src/lib/upsertBranches.js +0 -0
  1814. /package/packages/{supabase → database}/src/lib/upsertCommitBranches.js +0 -0
  1815. /package/packages/{supabase → database}/src/lib/upsertCommits.js +0 -0
  1816. /package/packages/{supabase → database}/src/lib/upsertEntities.js +0 -0
  1817. /package/packages/{supabase → database}/src/lib/upsertEntityBranches.js +0 -0
  1818. /package/packages/{supabase → database}/src/lib/upsertFiles.js +0 -0
  1819. /package/packages/{supabase → database}/src/lib/upsertGithubUser.js +0 -0
  1820. /package/packages/{supabase → database}/src/lib/upsertProjects.js +0 -0
  1821. /package/packages/{supabase → database}/src/lib/upsertScenarios.js +0 -0
@@ -0,0 +1,5 @@
1
+ import{r as o,j as e,b as ee,L as se}from"./chunk-WWGJGFF6-CbVoyx1U.js";import{a as te,I as re}from"./InteractivePreview-WgwC1GfJ.js";import{L as ae}from"./LogViewer-BYnfxbUG.js";import{S as ne}from"./SafeScreenshot-lHVhvsu_.js";import{u as oe}from"./useLastLogLine-3pmpUQB-.js";import{R as ie,_ as le}from"./ReportIssueModal-_lBPJCzG.js";import{T as ce}from"./triangle-alert-B2VUcygF.js";function de({presets:t,customSizes:i,currentWidth:l,currentHeight:n,scale:f,onSizeChange:j,onSaveCustomSize:m,onRemoveCustomSize:r,className:c=""}){const[a,x]=o.useState(!1),[h,C]=o.useState(String(l)),[y,w]=o.useState(String(n)),[u,g]=o.useState(!1),[p,k]=o.useState(!1),I=o.useRef(null);o.useEffect(()=>{u||C(String(l))},[l,u]),o.useEffect(()=>{p||w(String(n))},[n,p]),o.useEffect(()=>{const s=N=>{I.current&&!I.current.contains(N.target)&&x(!1)};return document.addEventListener("mousedown",s),()=>document.removeEventListener("mousedown",s)},[]);const P=o.useMemo(()=>{const s=t.find(b=>b.width===l&&b.height===n);if(s)return s.name;const N=i.find(b=>b.width===l&&b.height===n);return N?N.name:"Custom"},[t,i,l,n]),A=P==="Custom",M=s=>{j(s.width,s.height),x(!1)},E=s=>{const N=s.target.value;C(N);const b=parseInt(N,10);!isNaN(b)&&b>0&&j(b,n)},R=s=>{const N=s.target.value;w(N);const b=parseInt(N,10);!isNaN(b)&&b>0&&j(l,b)},D=()=>{g(!1);const s=parseInt(h,10);(isNaN(s)||s<=0)&&C(String(l))},S=()=>{k(!1);const s=parseInt(y,10);(isNaN(s)||s<=0)&&w(String(n))},$=s=>{(s.key==="Enter"||s.key==="Escape")&&s.target.blur()};return e.jsxs("div",{className:`flex items-center gap-3 ${c}`,children:[e.jsxs("div",{className:"relative",ref:I,children:[e.jsxs("button",{onClick:()=>x(!a),className:"flex items-center gap-2 px-3 py-1.5 bg-white border border-gray-300 rounded-md text-sm font-medium text-gray-700 hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-[#005c75] focus:ring-offset-1 min-w-[120px] justify-between",children:[e.jsx("span",{children:P}),e.jsx("svg",{className:`w-4 h-4 transition-transform ${a?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),a&&e.jsx("div",{className:"absolute top-full left-0 mt-1 min-w-full bg-white border border-gray-200 rounded-md shadow-lg z-50",children:e.jsxs("div",{className:"py-1",children:[t.length>0&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"px-3 py-1 text-xs font-semibold text-gray-500 uppercase tracking-wider whitespace-nowrap",children:"Presets"}),t.map(s=>e.jsxs("button",{onClick:()=>M(s),className:`w-full text-left px-3 py-2 text-sm hover:bg-gray-100 flex justify-between items-center gap-4 whitespace-nowrap ${P===s.name?"bg-[#f0f7f9] text-[#005c75]":"text-gray-700"}`,children:[e.jsx("span",{children:s.name}),e.jsxs("span",{className:"text-xs text-gray-500",children:[s.width," x ",s.height]})]},s.name))]}),i.length>0&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"border-t border-gray-100 my-1"}),e.jsx("div",{className:"px-3 py-1 text-xs font-semibold text-gray-500 uppercase tracking-wider whitespace-nowrap",children:"Custom"}),[...i].sort((s,N)=>s.width-N.width).map(s=>e.jsxs("div",{className:`flex items-center gap-1 hover:bg-gray-100 ${P===s.name?"bg-[#f0f7f9] text-[#005c75]":"text-gray-700"}`,children:[e.jsxs("button",{onClick:()=>M(s),className:"flex-1 text-left px-3 py-2 text-sm flex justify-between items-center gap-4 whitespace-nowrap cursor-pointer",children:[e.jsx("span",{children:s.name}),e.jsxs("span",{className:"text-xs text-gray-500",children:[s.width," x ",s.height]})]}),r&&e.jsx("button",{onClick:N=>{N.stopPropagation(),P===s.name&&t.length>0&&j(t[0].width,t[0].height),r(s.name)},className:"p-1.5 mr-1 text-gray-400 hover:text-red-500 hover:bg-red-50 rounded cursor-pointer transition-colors",title:"Remove custom size",children:e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]},s.name))]})]})})]}),e.jsxs("div",{className:"flex items-center gap-1 text-sm",children:[e.jsxs("div",{className:"flex items-center",children:[e.jsx("input",{type:"text",value:h,onChange:E,onFocus:()=>g(!0),onBlur:D,onKeyDown:$,className:"w-16 px-2 py-1 text-right border border-gray-300 rounded-l-md text-sm focus:outline-none focus:ring-2 focus:ring-[#005c75] focus:border-[#005c75]"}),e.jsx("span",{className:"px-2 py-1 bg-gray-100 border border-l-0 border-gray-300 rounded-r-md text-gray-500 text-sm",children:"px"})]}),e.jsx("span",{className:"text-gray-400 mx-1",children:"×"}),e.jsxs("div",{className:"flex items-center",children:[e.jsx("input",{type:"text",value:y,onChange:R,onFocus:()=>k(!0),onBlur:S,onKeyDown:$,className:"w-16 px-2 py-1 text-right border border-gray-300 rounded-l-md text-sm focus:outline-none focus:ring-2 focus:ring-[#005c75] focus:border-[#005c75]"}),e.jsx("span",{className:"px-2 py-1 bg-gray-100 border border-l-0 border-gray-300 rounded-r-md text-gray-500 text-sm",children:"px"})]}),f!==void 0&&f<1&&e.jsxs("span",{className:"text-xs text-gray-500 ml-1",children:["(",Math.round(f*100),"%)"]})]}),A&&e.jsx("button",{onClick:m,className:"px-3 py-1.5 bg-[#005c75] text-white text-sm font-medium rounded-md hover:bg-[#004a5c] focus:outline-none focus:ring-2 focus:ring-[#005c75] focus:ring-offset-1 transition-colors",children:"Save Custom Size"})]})}function me({scenario:t,analysis:i,entity:l}){const n=t.metadata?.executionResult||null,f=t.metadata?.data?.argumentsData||[],j=m=>{if(!m)return"No execution results available yet. Run the function to capture side effects including console output, file operations, and API calls.";const r=[],c=m.sideEffects?.consoleOutput||[];c.length>0&&(r.push(`Console Output: ${c.length} log ${c.length===1?"entry":"entries"} captured`),c.forEach(h=>{r.push(` [${h.level.toUpperCase()}] ${h.args.join(" ")}`)}));const a=m.sideEffects?.fileWrites||[];a.length>0&&(r.push(`
2
+ File System Operations: ${a.length} ${a.length===1?"operation":"operations"} detected`),a.forEach(h=>{r.push(` ${h.operation}: ${h.path}${h.size?` (${h.size} bytes)`:""}`)}));const x=m.sideEffects?.apiCalls||[];return x.length>0&&(r.push(`
3
+ API Calls: ${x.length} ${x.length===1?"call":"calls"} made`),x.forEach(h=>{r.push(` ${h.method} ${h.url}${h.status?` → ${h.status}`:""}${h.duration?` (${h.duration}ms)`:""}`)})),m.error&&r.push(`
4
+ Error: ${m.error.name||"Error"}: ${m.error.message}`),r.length===0?"No side effects detected. The function executed without console output, file operations, or API calls.":r.join(`
5
+ `)};return e.jsxs("div",{className:"flex w-full h-full gap-0",children:[e.jsxs("div",{className:"flex-1 border border-gray-200 bg-white rounded flex flex-col",children:[e.jsx("div",{className:"px-4 pt-3.5 pb-2.5",children:e.jsx("h3",{className:"text-[9px] font-semibold text-[#005c75] uppercase tracking-wide text-center m-0",children:"Input Data"})}),e.jsx("div",{className:"flex-1 overflow-auto px-4 pb-0",children:e.jsx("pre",{className:"text-xs font-mono text-gray-800 whitespace-pre-wrap break-words m-0",children:JSON.stringify(f,null,2)})})]}),e.jsxs("div",{className:"flex-1 border border-gray-200 bg-white rounded flex flex-col ml-[-1px]",children:[e.jsx("div",{className:"px-4 pt-3.5 pb-2.5",children:e.jsx("h3",{className:"text-[9px] font-semibold text-[#005c75] uppercase tracking-wide text-center m-0",children:"Returned Data"})}),e.jsx("div",{className:"flex-1 overflow-auto px-4 pb-0",children:n?e.jsx("pre",{className:"text-xs font-mono text-gray-800 whitespace-pre-wrap break-words m-0",children:n.returnValue!==void 0?JSON.stringify(n.returnValue,null,2):"undefined"}):e.jsx("div",{className:"text-sm text-gray-500 italic",children:"No execution results yet"})})]}),e.jsxs("div",{className:"flex-1 border border-gray-200 bg-white rounded flex flex-col ml-[-1px]",children:[e.jsx("div",{className:"px-4 pt-3.5 pb-2.5",children:e.jsx("h3",{className:"text-[9px] font-semibold text-[#005c75] uppercase tracking-wide text-center m-0",children:"Side Effects"})}),e.jsx("div",{className:"flex-1 overflow-auto px-4 pb-4",children:e.jsx("p",{className:"text-sm text-gray-700 leading-[22px] m-0 whitespace-pre-wrap",children:j(n)})})]})]})}const B=10,xe=1024;function he({currentViewportWidth:t,currentPresetName:i,onDevicePresetClick:l,devicePresets:n}){const[f,j]=o.useState(null),m=o.useRef(null),r=o.useMemo(()=>[...n].sort((u,g)=>u.width-g.width),[n]),{fittingPresets:c,overflowPresets:a}=o.useMemo(()=>{const u=[],g=[];for(const p of r)p.width<=xe?u.push(p):g.push(p);return g.sort((p,k)=>k.width-p.width),{fittingPresets:u,overflowPresets:g}},[r]),x=o.useCallback(u=>{if(!m.current)return null;const g=m.current.getBoundingClientRect(),p=u-g.left,k=g.width,I=k/2,A=(c.length>0?c[c.length-1].width:0)/2,M=I-A,E=I+A,R=a.length>0?(a.length-1)*B:0;if(a.length>0){if(p<M){if(p<=R){const S=Math.min(Math.floor(p/B),a.length-1);return a[S]}return a[a.length-1]}if(p>E){const S=k-p;if(S<=R){const $=Math.min(Math.floor(S/B),a.length-1);return a[$]}return a[a.length-1]}}const D=Math.abs(p-I);for(let S=c.length-1;S>=0;S--){const $=c[S],s=c[S-1],N=$.width/2,b=s?s.width/2:0;if(D<=N&&D>=b)return $}return c[0]||a[a.length-1]||null},[c,a]),h=o.useCallback(u=>{const g=x(u.clientX);j(g)},[x]),C=o.useCallback(()=>{j(null)},[]),y=o.useCallback(u=>{const g=x(u.clientX);g&&l(g)},[x,l]),w=f||{name:i,width:t};return e.jsxs("div",{ref:m,className:"relative h-6 bg-[#f6f9fc] shrink-0 overflow-hidden cursor-pointer",onMouseMove:h,onMouseLeave:C,onClick:y,children:[e.jsx("div",{className:"absolute inset-0 flex items-center justify-center pointer-events-none",children:e.jsx("div",{className:"h-full transition-all duration-100 bg-[rgba(0,92,117,0.15)]",style:{width:`${t}px`}})}),e.jsx("div",{className:"absolute inset-0 pointer-events-none",children:c.map(u=>{const g=u.width===t,p=f?.name===u.name,k=u.width/2;return e.jsxs("div",{children:[e.jsx("div",{className:"absolute top-0 bottom-0",style:{left:`calc(50% - ${k}px)`},children:e.jsx("div",{className:`w-0.5 h-full transition-colors duration-75 ${g||p?"bg-[#005c75]":"bg-[rgba(0,92,117,0.25)]"}`})}),e.jsx("div",{className:"absolute top-0 bottom-0",style:{left:`calc(50% + ${k}px)`},children:e.jsx("div",{className:`w-0.5 h-full transition-colors duration-75 ${g||p?"bg-[#005c75]":"bg-[rgba(0,92,117,0.25)]"}`})})]},u.name)})}),e.jsx("div",{className:"absolute inset-0 pointer-events-none",children:a.map((u,g)=>{const p=g*B,k=u.width===t,I=f?.name===u.name;return e.jsxs("div",{children:[e.jsx("div",{className:"absolute top-0 bottom-0",style:{left:`${p}px`},children:e.jsx("div",{className:`w-0.5 h-full transition-colors duration-75 ${k||I?"bg-[#005c75]":"bg-[rgba(0,92,117,0.25)]"}`})}),e.jsx("div",{className:"absolute top-0 bottom-0",style:{right:`${p}px`},children:e.jsx("div",{className:`w-0.5 h-full transition-colors duration-75 ${k||I?"bg-[#005c75]":"bg-[rgba(0,92,117,0.25)]"}`})})]},u.name)})}),e.jsx("div",{className:"absolute inset-0 flex items-center justify-center pointer-events-none",children:e.jsxs("div",{className:`text-[10px] px-2 py-0.5 rounded shadow-sm whitespace-nowrap transition-colors ${f?"bg-[#005c75] text-white":"bg-white/90 text-[#005c75] border border-[rgba(0,92,117,0.25)]"}`,children:[w.name," - ",w.width,"px"]})})]})}function ue({width:t,height:i,onSave:l,onCancel:n}){const[f,j]=o.useState(""),[m,r]=o.useState(""),c=()=>{const x=f.trim();if(!x){r("Please enter a name for this custom size");return}l(x)},a=x=>{x.key==="Enter"&&f.trim()&&c(),x.key==="Escape"&&n()};return e.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center p-4 z-50",children:e.jsxs("div",{className:"bg-white rounded-lg max-w-md w-full p-6 shadow-xl",children:[e.jsxs("div",{className:"flex items-center justify-between mb-6",children:[e.jsx("h2",{className:"text-xl font-semibold text-gray-900",children:"Save Custom Size"}),e.jsx("button",{onClick:n,className:"text-gray-400 hover:text-gray-600 transition-colors cursor-pointer","aria-label":"Close",children:e.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),e.jsxs("div",{className:"mb-6 p-4 bg-gray-50 rounded-lg border border-gray-200",children:[e.jsx("div",{className:"text-sm text-gray-500 mb-1",children:"Dimensions"}),e.jsxs("div",{className:"text-lg font-medium text-gray-900",children:[t,"px × ",i,"px"]})]}),e.jsxs("div",{className:"mb-6",children:[e.jsx("label",{htmlFor:"custom-size-name",className:"block text-sm font-medium text-gray-700 mb-2",children:"Name"}),e.jsx("input",{id:"custom-size-name",type:"text",value:f,onChange:x=>{j(x.target.value),r("")},onKeyDown:a,placeholder:"e.g., iPhone 15 Pro",className:`w-full px-3 py-2 border rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-[#005c75] focus:border-[#005c75] ${m?"border-red-300":"border-gray-300"}`,autoFocus:!0}),m&&e.jsx("p",{className:"mt-1 text-sm text-red-600",children:m})]}),e.jsxs("div",{className:"flex gap-3 justify-end",children:[e.jsx("button",{onClick:n,className:"px-4 py-2 bg-gray-100 text-gray-700 text-sm font-medium rounded-md hover:bg-gray-200 focus:outline-none focus:ring-2 focus:ring-gray-300 transition-colors cursor-pointer",children:"Cancel"}),e.jsx("button",{onClick:c,disabled:!f.trim(),className:"px-4 py-2 bg-[#005c75] text-white text-sm font-medium rounded-md hover:bg-[#004a5c] focus:outline-none focus:ring-2 focus:ring-[#005c75] focus:ring-offset-1 transition-colors cursor-pointer disabled:bg-gray-300 disabled:cursor-not-allowed",children:"Save"})]})]})})}function fe(t){const[i,l]=o.useState([]),n=t?`codeyam-custom-sizes-${t}`:null;o.useEffect(()=>{if(!n||typeof window>"u"){l([]);return}try{const r=localStorage.getItem(n);if(r){const c=JSON.parse(r);Array.isArray(c)&&l(c)}}catch(r){console.error("[useCustomSizes] Failed to load custom sizes:",r),l([])}},[n]);const f=o.useCallback(r=>{if(!(!n||typeof window>"u"))try{localStorage.setItem(n,JSON.stringify(r))}catch(c){console.error("[useCustomSizes] Failed to save custom sizes:",c)}},[n]),j=o.useCallback((r,c,a)=>{l(x=>{const h=x.findIndex(w=>w.name===r),C={name:r,width:c,height:a};let y;return h>=0?(y=[...x],y[h]=C):y=[...x,C],f(y),y})},[f]),m=o.useCallback(r=>{l(c=>{const a=c.filter(x=>x.name!==r);return f(a),a})},[f]);return{customSizes:i,addCustomSize:j,removeCustomSize:m}}function pe({content:t,label:i="Copy",copiedLabel:l="✓ Copied!",className:n="",duration:f=2e3,ariaLabel:j}){const[m,r]=o.useState(!1),c=o.useCallback(()=>{navigator.clipboard.writeText(t).then(()=>{r(!0),setTimeout(()=>r(!1),f)}).catch(a=>{console.error("Failed to copy:",a)})},[t,f]);return e.jsx("button",{onClick:c,className:`cursor-pointer ${n}`,disabled:m,"aria-label":j||(m?"Copied to clipboard":"Copy to clipboard"),"aria-live":"polite",children:m?l:i})}function V({scenarioId:t,analysisId:i}){const[l,n]=o.useState(!1),[f,j]=o.useState(!1),[m,r]=o.useState(null),c=t||i;if(!c)return null;const a=`/debug ${c}`,x=async()=>{j(!0);try{const{default:C}=await le(async()=>{const{default:u}=await import("./html2canvas-pro.esm-XQCGvadH.js");return{default:u}},[]),w=(await C(document.body,{scale:.5})).toDataURL("image/jpeg",.8);r(w),n(!0)}catch(C){console.error("Screenshot capture failed:",C),n(!0)}finally{j(!1)}},h=()=>{n(!1),r(null)};return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"text-center p-6",children:[e.jsx("h3",{className:"font-semibold",style:{fontSize:"16px",lineHeight:"26px",color:"#000"},children:"Claude can help debug this error."}),e.jsx("p",{className:"m-0 mb-4",style:{fontSize:"14px",lineHeight:"18px",color:"#646464"},children:"Simply run this command in Claude Code:"}),e.jsxs("div",{className:"flex items-center justify-between p-3 rounded mx-auto mb-3",style:{backgroundColor:"#f5f5f5",maxWidth:"505px"},children:[e.jsx("code",{className:"font-mono flex-1 text-left",style:{fontSize:"14px",lineHeight:"20px",color:"#000"},children:a}),e.jsx(pe,{content:a,label:"Copy",copiedLabel:"Copied!",className:"ml-3 cursor-pointer",style:{background:"transparent",border:"none",padding:0,fontSize:"14px",color:"#646464"}})]}),e.jsxs("p",{className:"m-0",style:{fontSize:"12px",lineHeight:"15px",color:"#646464"},children:["If Claude is unable to address this issue or suggests reporting it,"," ",e.jsx("button",{onClick:()=>{x()},disabled:f,className:"underline cursor-pointer bg-transparent border-none p-0 font-normal hover:opacity-80 disabled:opacity-50 disabled:cursor-not-allowed",style:{fontSize:"12px",lineHeight:"15px",color:"#005c75"},children:f?"capturing...":"please do so here"}),"."]})]}),e.jsx(ie,{isOpen:l,onClose:h,context:{source:t?"scenario-page":"entity-page",entitySha:void 0,scenarioId:t,analysisId:i,currentUrl:typeof window<"u"?window.location.pathname:"/"},screenshotDataUrl:m??void 0})]})}const X=1440,W=[{name:"Mobile",width:375,height:667},{name:"Tablet",width:768,height:1024},{name:"Laptop",width:1024,height:768},{name:"Desktop",width:1440,height:900}];function ke({selectedScenario:t,analysis:i,entity:l,viewMode:n,cacheBuster:f,hasScenarios:j,isAnalyzing:m=!1,projectSlug:r,hasAnApiKey:c=!0}){const a=ee(),[x,h]=o.useState(!1),[C,y]=o.useState(!1),[w,u]=o.useState({name:"Desktop",width:X,height:900}),[g,p]=o.useState(X),[k,I]=o.useState(1),{customSizes:P,addCustomSize:A,removeCustomSize:M}=fe(r),E=o.useMemo(()=>[...W,...P],[P]),R=(d,v)=>{p(d);const H=E.find(F=>F.width===d&&F.height===v);u({name:H?.name||"Custom",width:d,height:v})},D=d=>{p(d.width),u({name:d.name,width:d.width,height:d.height})},S=d=>{A(d,w.width,w.height??900),y(!1),u(v=>({...v,name:d}))},$=(d,v)=>{p(d);const H=E.find(F=>F.width===d&&F.height===v);u(F=>({name:H?.name||"Custom",width:d,height:F.height}))},s=t?.metadata?.screenshotPaths?.[0],N=o.useMemo(()=>!t||!i?.status?.scenarios?null:i.status.scenarios.find(d=>d.name===t.name),[t,i?.status?.scenarios]),b=o.useMemo(()=>{const d=[];if(i?.status?.errors&&i.status.errors.length>0)for(const v of i.status.errors)d.push({source:`${v.phase} phase`,message:v.message,stack:v.stack});if(i?.status?.steps)for(const v of i.status.steps)v.error&&d.push({source:v.name,message:v.error,stack:v.errorStack});return d},[i?.status?.errors,i?.status?.steps]),L=N?.error||(t?.metadata?.error?"Error during capture":null),O=N?.errorStack,{interactiveServerUrl:U,isStarting:K,isLoading:J,showIframe:G,iframeKey:q,onIframeLoad:Y}=te({analysisId:i?.id,scenarioId:t?.id,scenarioName:t?.name,projectSlug:r,enabled:n==="interactive"}),T=o.useMemo(()=>U||null,[U]),_=!m&&j&&t&&!t.metadata?.screenshotPaths?.[0]&&i?.status?.scenarios?.some(d=>d.name===t.name&&d.screenshotStartedAt&&!d.screenshotFinishedAt),{lastLine:z}=oe(r,m||n==="interactive"||_||!1);if(!t)return!j&&l?m?e.jsx("div",{className:"flex-1 flex flex-col items-center justify-center p-12 text-center bg-[#f6f9fc]",children:e.jsxs("div",{className:"flex flex-col items-center gap-6 max-w-2xl",children:[e.jsx("div",{className:"w-12 h-12 mb-2",children:e.jsx("svg",{className:"animate-spin",viewBox:"0 0 50 50",children:e.jsx("circle",{cx:"25",cy:"25",r:"20",fill:"none",stroke:"#005c75",strokeWidth:"4",strokeDasharray:"31.4 31.4",strokeLinecap:"round"})})}),e.jsx("h2",{className:"text-2xl font-semibold text-[#005c75] leading-[30px] m-0 font-['IBM_Plex_Sans']",children:_?"Capturing screenshots...":"Analyzing..."}),e.jsx("p",{className:"text-xs text-[#8e8e8e] text-center leading-5 m-0 font-['IBM_Plex_Mono']",children:"This may take a few minutes."}),z&&e.jsx("p",{className:"text-xs font-mono text-[#005c75] text-center leading-5 m-0 max-w-xl",children:z}),r&&e.jsx("button",{onClick:()=>h(!0),className:"w-[148px] px-2.5 py-[5px] bg-[#005c75] text-white border-none rounded-sm text-xs font-medium cursor-pointer transition-colors hover:bg-[#004a5c] font-['IBM_Plex_Sans']",children:"View full logs"})]})}):b.length>0?e.jsx("div",{className:"flex-1 flex flex-col items-center justify-center p-6 bg-[#f6f9fc] overflow-auto",children:e.jsxs("div",{className:"bg-red-50 border-2 border-red-300 rounded-lg p-8 w-full max-w-4xl",children:[e.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[e.jsx("span",{className:"text-red-500 text-4xl shrink-0",children:"⚠️"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("h3",{className:"text-xl font-semibold text-red-800 m-0 mb-3",children:"Analysis Failed"}),e.jsx("p",{className:"text-sm text-red-700 m-0 mb-4",children:b.length===1?"An error occurred during analysis. No scenarios were generated.":`${b.length} errors occurred during analysis. No scenarios were generated.`}),b.map((d,v)=>e.jsxs("div",{className:"bg-white border border-red-200 rounded p-4 mb-4 last:mb-0",children:[e.jsx("h4",{className:"text-xs font-semibold text-red-800 m-0 mb-2 uppercase tracking-wide",children:d.source}),e.jsx("div",{className:"max-h-[200px] overflow-auto",children:e.jsx("p",{className:"text-sm text-red-900 m-0 font-mono whitespace-pre-wrap wrap-break-word",children:d.message})}),d.stack&&e.jsxs("details",{className:"mt-2",children:[e.jsx("summary",{className:"text-xs text-red-700 cursor-pointer hover:text-red-900 font-semibold",children:"View stack trace"}),e.jsx("div",{className:"mt-2 bg-red-50 border border-red-200 rounded p-3 max-h-[200px] overflow-auto",children:e.jsx("pre",{className:"text-xs text-red-900 font-mono whitespace-pre-wrap wrap-break-word m-0",children:d.stack})})]})]},v))]})]}),l.filePath&&e.jsx("div",{className:"flex justify-center mt-4",children:e.jsx("button",{onClick:()=>{a.submit({entitySha:l.sha,filePath:l.filePath},{method:"post",action:"/api/analyze"})},disabled:a.state!=="idle",className:"h-[42px] px-6 py-2 bg-[#005c75] text-white border-none rounded-lg text-sm font-medium cursor-pointer transition-all hover:bg-[#004a5e] disabled:bg-gray-400 disabled:cursor-not-allowed",children:a.state!=="idle"?"Retrying...":"Retry Analysis"})}),e.jsx(V,{analysisId:i?.id})]})}):e.jsx("div",{className:"flex-1 flex flex-col items-center justify-center p-6 text-center bg-[#f6f9fc]",children:e.jsxs("div",{className:"max-w-[600px]",children:[e.jsx("h2",{className:"text-[28px] font-semibold text-[#343434] mb-4 m-0 leading-10",children:"No simulations yet"}),e.jsx("p",{className:"text-base font-normal text-[#3e3e3e] mb-8 leading-6 m-0",children:"Analyze the code to create simulations and create test scenarios automatically."}),l.filePath&&e.jsx("button",{onClick:()=>{a.submit({entitySha:l.sha,filePath:l.filePath},{method:"post",action:"/api/analyze"})},disabled:a.state!=="idle",className:"h-[54px] w-[183px] px-2.5 py-[5px] bg-[#005c75] text-white border-none rounded-lg text-base font-medium cursor-pointer transition-all hover:bg-[#004a5e] disabled:bg-gray-400 disabled:cursor-not-allowed",children:a.state!=="idle"?"Analyzing...":"Analyze"})]})}):e.jsx("div",{className:"flex-1 flex flex-col items-center justify-center p-6 text-center",children:e.jsx("p",{className:"text-base text-gray-500 m-0",children:"Select a scenario to view its screenshot"})});const Q=n==="screenshot"&&(s||L)||n==="interactive"&&(T||K)||n==="data",Z=(m||_)&&!s&&!L&&n==="screenshot";return e.jsxs(e.Fragment,{children:[e.jsx("main",{className:"flex-1 bg-[#f9f9f9] overflow-auto flex flex-col min-w-0",children:Z?e.jsx("div",{className:"flex-1 flex flex-col items-center justify-center p-6 text-center bg-linear-to-br from-blue-50 to-indigo-50",children:e.jsxs("div",{className:"max-w-2xl w-full bg-white rounded-t-2xl shadow-xl p-8",children:[e.jsxs("div",{className:"mb-8",children:[e.jsx("div",{className:"inline-flex items-center justify-center w-24 h-24 bg-blue-100 rounded-full mb-6",children:e.jsx("span",{className:"text-5xl animate-spin",children:"⚙️"})}),e.jsx("h2",{className:"text-3xl font-bold text-gray-900 mb-4 m-0",children:_?`Capturing ${l?.name}`:`Analyzing ${l?.name}`}),e.jsx("p",{className:"text-base text-gray-600 leading-relaxed m-0 mb-2",children:_?`Taking screenshots for ${i?.scenarios?.length||0} scenario${i?.scenarios?.length!==1?"s":""}...`:`Generating simulations and scenarios for this ${l?.entityType} entity...`}),t&&e.jsxs("p",{className:"text-sm text-blue-600 font-semibold m-0",children:["Currently processing: ",t.name]})]}),z&&e.jsx("div",{className:"bg-[#f6f9fc] border-2 border-[#e1e1e1] rounded-lg p-6 mb-6",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("span",{className:"text-xl shrink-0",children:"📝"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("h3",{className:"text-xs font-semibold text-gray-700 uppercase tracking-wide mb-2 m-0",children:"Current Progress"}),e.jsx("p",{className:"text-sm text-gray-900 font-mono wrap-break-word m-0",title:z,children:z})]})]})}),r&&e.jsx("button",{onClick:()=>h(!0),className:"px-6 py-3 bg-[#005c75] text-white border-none rounded-lg text-base font-semibold cursor-pointer transition-all hover:bg-[#004a5e] hover:shadow-lg",children:"📋 View Full Logs"}),e.jsx("p",{className:"text-xs text-gray-500 mt-8 m-0",children:"Screenshots will appear here as they are captured. This may take a few minutes."})]})}):Q?e.jsxs(e.Fragment,{children:[L&&!s&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mx-5 mt-4 p-4 rounded",style:{backgroundColor:"#ffe5e5",border:"2px solid #ff6b6b"},role:"alert",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(ce,{size:20,className:"shrink-0",style:{color:"#c92a2a"},"aria-hidden":"true"}),e.jsx("div",{className:"flex-1 min-w-0",children:e.jsxs("p",{className:"m-0",style:{fontSize:"14px",lineHeight:"20px",color:"#c92a2a"},children:[e.jsx("span",{className:"font-semibold",children:"Capture Error."})," ",L," ",e.jsx("button",{onClick:()=>h(!0),className:"underline cursor-pointer bg-transparent border-none p-0 font-medium hover:opacity-80",style:{color:"#c92a2a"},children:"See logs for details."})]})})]})}),e.jsx("div",{className:"mx-5 mt-4",children:e.jsx(V,{scenarioId:t?.id,analysisId:i?.id})})]}),n==="interactive"?e.jsxs("div",{className:"flex-1 flex flex-col min-h-0",children:[T&&e.jsx("div",{className:"bg-gray-50 border-b border-gray-200 px-6 py-3 shrink-0 flex justify-center",children:e.jsx(de,{presets:[...W],customSizes:P,currentWidth:w.width,currentHeight:w.height??900,scale:k,onSizeChange:R,onSaveCustomSize:()=>y(!0),onRemoveCustomSize:M})}),T&&e.jsx("div",{className:"bg-[#f6f9fc] border-b border-[rgba(0,92,117,0.25)] flex justify-center",children:e.jsx("div",{style:{maxWidth:`${W[W.length-1].width}px`,width:"100%"},children:e.jsx(he,{currentViewportWidth:g,currentPresetName:w.name,onDevicePresetClick:D,devicePresets:E})})}),e.jsx(re,{scenarioId:t.id,scenarioName:t.name,iframeUrl:T,isStarting:K,isLoading:J,showIframe:G,iframeKey:q,onIframeLoad:Y,onScaleChange:I,onDimensionChange:$,projectSlug:r,defaultWidth:w.width,defaultHeight:w.height})]}):n==="data"?e.jsx("div",{className:"flex-1 min-h-0",children:e.jsx(me,{scenario:t,analysis:i,entity:l})}):e.jsx("div",{className:"flex-1 flex flex-col",children:e.jsx("div",{className:"flex-1 p-6 flex items-center justify-center",children:e.jsx("div",{className:"transition-all duration-300",style:{maxWidth:`${g}px`},children:(s||!L)&&e.jsx(ne,{screenshotPath:s,cacheBuster:f,alt:t.name,className:"w-full rounded-lg shadow-[0_10px_25px_rgba(0,0,0,0.1)] bg-white"})})})})]}):e.jsx("div",{className:"flex-1 flex flex-col",children:e.jsx("div",{className:"flex-1 flex flex-col items-center justify-center p-6 overflow-auto w-full",children:m&&!s?e.jsx("div",{className:"w-full h-full flex items-center justify-center",children:e.jsx("div",{className:"bg-blue-50 border-2 border-blue-200 rounded-lg p-8",children:e.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[e.jsx("span",{className:"animate-spin text-4xl shrink-0",children:"⚙️"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("h3",{className:"text-xl font-semibold text-blue-900 m-0 mb-3",children:"Capturing Screenshot"}),e.jsxs("p",{className:"text-sm text-blue-800 m-0 mb-4",children:["Analysis is in progress for"," ",e.jsx("strong",{children:t.name}),". The screenshot will appear here once capture is complete."]}),z&&e.jsxs("div",{className:"bg-white border border-blue-200 rounded p-4 mt-4",children:[e.jsx("h4",{className:"text-xs font-semibold text-blue-800 m-0 mb-2 uppercase tracking-wide",children:"Current Progress"}),e.jsx("p",{className:"text-sm text-blue-900 m-0 font-mono wrap-break-word",children:z})]}),r&&e.jsx("button",{onClick:()=>h(!0),className:"mt-4 px-4 py-2 bg-[#005c75] text-white border-none rounded-md text-sm font-semibold cursor-pointer transition-colors hover:bg-[#004a5e]",children:"📋 View Full Logs"})]})]})})}):L?e.jsxs("div",{className:"w-full h-full flex flex-col items-center justify-center overflow-auto gap-6",children:[!c&&e.jsx("div",{className:"bg-blue-50 border-2 border-blue-300 rounded-lg p-8",children:e.jsxs("div",{className:"flex-1 flex flex-col gap-4 items-center justify-center",children:[e.jsxs("div",{className:"flex items-start gap-4",children:[e.jsx("span",{className:"text-blue-600 text-2xl shrink-0",children:"🔑"}),e.jsx("h3",{className:"text-xl font-semibold text-blue-900 m-0 mb-3",children:"Improve Analysis Quality with an API Key"})]}),e.jsxs("div",{className:"bg-white border border-blue-200 rounded p-4",children:[e.jsx("h4",{className:"text-xs font-semibold text-blue-900 m-0 mb-2 uppercase tracking-wide",children:"CodeYam requires an AI API key for reliable analysis."}),e.jsxs("ul",{className:"text-sm text-blue-800 m-0 space-y-1 pl-5 list-disc",children:[e.jsx("li",{children:"You can use API keys for a variety of models"}),e.jsx("li",{children:"Faster analysis processing"}),e.jsx("li",{children:"Better handling of complex code structures"}),e.jsx("li",{children:"Improved scenario generation quality"})]})]}),e.jsx(se,{to:"/settings",className:"inline-block px-4 py-2 bg-blue-600 text-white border-none rounded-md text-sm font-semibold cursor-pointer transition-colors hover:bg-blue-700",children:"🔐 Configure API Keys"})]})}),e.jsx("div",{className:"bg-red-50 border-2 border-red-300 rounded-lg p-8 w-full max-w-4xl my-auto",children:e.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[e.jsx("span",{className:"text-red-500 text-4xl shrink-0",children:"⚠️"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("h3",{className:"text-xl font-semibold text-red-800 m-0 mb-3",children:"Capture Failed"}),e.jsx("p",{className:"text-sm text-red-700 m-0 mb-4",children:"An error occurred while capturing this scenario. No screenshot is available."}),e.jsxs("div",{className:"bg-white border border-red-200 rounded p-4",children:[e.jsx("h4",{className:"text-xs font-semibold text-red-800 m-0 mb-2 uppercase tracking-wide",children:"Error Message"}),e.jsx("div",{className:"max-h-[300px] overflow-auto",children:e.jsx("p",{className:"text-sm text-red-900 m-0 font-mono whitespace-pre-wrap wrap-break-word",children:L})})]}),O&&e.jsxs("details",{className:"mt-4",children:[e.jsx("summary",{className:"text-sm text-red-700 cursor-pointer hover:text-red-900 font-semibold",children:"📋 View full stack trace"}),e.jsx("div",{className:"mt-3 bg-white border border-red-200 rounded p-4 overflow-auto",children:e.jsx("pre",{className:"text-xs text-red-900 font-mono whitespace-pre-wrap wrap-break-word m-0",children:O})})]}),e.jsx(V,{scenarioId:t?.id,analysisId:i?.id})]})]})})]}):b.length>0?e.jsx("div",{className:"w-full h-full flex items-center justify-center overflow-auto",children:e.jsx("div",{className:"bg-red-50 border-2 border-red-300 rounded-lg p-8 w-full max-w-4xl my-auto",children:e.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[e.jsx("span",{className:"text-red-500 text-4xl shrink-0",children:"⚠️"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("h3",{className:"text-xl font-semibold text-red-800 m-0 mb-3",children:"Analysis Error"}),e.jsx("p",{className:"text-sm text-red-700 m-0 mb-4",children:b.length===1?"An error occurred during analysis. Screenshot capture was not completed.":`${b.length} errors occurred during analysis. Screenshot capture was not completed.`}),b.map((d,v)=>e.jsxs("div",{className:"bg-white border border-red-200 rounded p-4 mb-4 last:mb-0",children:[e.jsx("h4",{className:"text-xs font-semibold text-red-800 m-0 mb-2 uppercase tracking-wide",children:d.source}),e.jsx("div",{className:"max-h-[200px] overflow-auto",children:e.jsx("p",{className:"text-sm text-red-900 m-0 font-mono whitespace-pre-wrap wrap-break-word",children:d.message})}),d.stack&&e.jsxs("details",{className:"mt-2",children:[e.jsx("summary",{className:"text-xs text-red-700 cursor-pointer hover:text-red-900 font-semibold",children:"View stack trace"}),e.jsx("div",{className:"mt-2 bg-red-50 border border-red-200 rounded p-3 max-h-[200px] overflow-auto",children:e.jsx("pre",{className:"text-xs text-red-900 font-mono whitespace-pre-wrap wrap-break-word m-0",children:d.stack})})]})]},v)),e.jsx(V,{scenarioId:t?.id,analysisId:i?.id})]})]})})}):e.jsxs("div",{className:"flex flex-col items-center gap-4 text-center",children:[e.jsx("span",{className:"text-6xl text-gray-300",children:"📷"}),e.jsx("p",{className:"text-lg text-gray-500 m-0",children:"No screenshot available for this scenario"}),e.jsx("p",{className:"text-sm text-gray-400 m-0",children:"Try recapturing or debugging this scenario"})]})})})}),x&&r&&e.jsx(ae,{projectSlug:r,onClose:()=>h(!1)}),C&&e.jsx(ue,{width:w.width,height:w.height??900,onSave:S,onCancel:()=>y(!1)})]})}export{pe as C,ke as S,V as a};
@@ -0,0 +1 @@
1
+ import{j as v}from"./chunk-WWGJGFF6-CbVoyx1U.js";function O({filePath:n,maxLength:x=60,className:f,style:u}){const o=((t,r)=>{if(t.length<=r)return t;const a="...",c=r-a.length,i=Math.ceil(c*.4),d=Math.floor(c*.6),e=t.slice(0,i),s=t.slice(-d),h=e.lastIndexOf("/"),l=s.indexOf("/"),g=h>i*.5?e.slice(0,h+1):e,m=l!==-1&&l<d*.5?s.slice(l):s;return`${g}${a}${m}`})(n,x),p=o!==n;return v.jsx("span",{className:f||"font-normal text-gray-900 text-[14px] select-text cursor-text",style:{...u,display:"inline-block",maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:p?n:void 0,children:o})}export{O as T};
@@ -0,0 +1 @@
1
+ import{w as J,u as ee,b as se,d as te,r as d,j as e,L as x}from"./chunk-WWGJGFF6-CbVoyx1U.js";import{u as le}from"./useLastLogLine-3pmpUQB-.js";import{u as ae}from"./useToast-DEyawJ8r.js";import{u as ne}from"./useReportContext-EvdK-zXP.js";import{L as re}from"./LogViewer-BYnfxbUG.js";import{I as j,C as V,E as ie}from"./EntityTypeIcon-DcwcHyl5.js";import{S as _}from"./SafeScreenshot-lHVhvsu_.js";import{c as H}from"./createLucideIcon-YR8jjAlu.js";import{C as oe}from"./circle-check-D1VOYveA.js";import{L as w}from"./loader-circle-GazdNeLl.js";const ce=[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]],de=H("folder-open",ce);const me=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],xe=H("zap",me),he="/assets/codeyam-name-logo-CvKwUgHo.svg",ke=()=>[{title:"Dashboard - CodeYam"},{name:"description",content:"CodeYam project dashboard"}],Se=J(function(){const{stats:v,uncommittedFiles:y,uncommittedEntitiesList:C,recentSimulations:h,visualEntitiesForSimulation:f,projectSlug:u,queueState:F,currentCommit:P}=ee(),i=se(),R=te(),{showToast:m}=ae();ne({source:"dashboard"});const[W,I]=d.useState(new Set),[o,T]=d.useState(null),[U,A]=d.useState(!1),[L,k]=d.useState(!1),{lastLine:S,isCompleted:z,resetLogs:q}=le(u,!!o),{simulatingEntity:b,scenarios:N,scenarioStatuses:Z,allScenariosCaptured:E}=d.useMemo(()=>{const s={simulatingEntity:null,scenarios:[],scenarioStatuses:[],allScenariosCaptured:!1};if(!o)return s;const t=f?.find(r=>r.sha===o);if(!t)return s;const l=t.analyses?.[0],n=l?.scenarios||[],a=l?.status?.scenarios||[],p=a.filter(r=>r.screenshotFinishedAt).length,g=n.length>0&&p===n.length;return{simulatingEntity:t,scenarios:n,scenarioStatuses:a,allScenariosCaptured:g}},[o,f]);d.useEffect(()=>{(z||E)&&T(null)},[z,E]);const Q=P?.metadata?.currentRun,$=new Set(Q?.currentEntityShas||[]),M=new Set(F.jobs.flatMap(s=>s.entityShas||[])),B=new Set(F.currentlyExecuting?.entityShas||[]),D=C.filter(s=>s.entityType==="visual"||s.entityType==="library"),c=D.filter(s=>!$.has(s.sha)&&!M.has(s.sha)&&!B.has(s.sha)),Y=()=>{if(c.length===0){m("All entities are already queued or analyzing","info",3e3);return}console.log("Analyzing uncommitted entities not yet queued:",c.length),console.log("Entity SHAs:",c.map(s=>s.sha)),k(!0),m(`Starting analysis for ${c.length} entities...`,"info",3e3),i.submit({entityShas:c.map(s=>s.sha).join(",")},{method:"post",action:"/api/analyze"})};d.useEffect(()=>{if(i.state==="idle"&&i.data){const s=i.data;s.success?(console.log("[Analyze All] Success:",s.message),m(`Analysis started for ${s.entityCount} entities in ${s.fileCount} files. Watch the logs for progress.`,"success",6e3),k(!1)):s.error&&(console.error("[Analyze All] Error:",s.error),m(`Error: ${s.error}`,"error",8e3),k(!1))}},[i.state,i.data,m]);const O=(s,t)=>{console.log("Simulating entity:",s);const l=f?.find(n=>n.sha===s);T(s),q(),m(`Starting analysis for ${l?.name||"entity"}...`,"info",3e3),i.submit({entitySha:s,filePath:t},{method:"post",action:"/api/analyze"})},G=s=>{I(t=>{const l=new Set(t);return l.has(s)?l.delete(s):l.add(s),l})},K=d.useMemo(()=>{const s=new Map;return h.forEach(t=>{const l=t.entitySha;s.has(l)||s.set(l,[]),s.get(l).push(t)}),Array.from(s.entries()).map(([t,l])=>({entitySha:t,entityName:l[0].entityName,scenarios:l}))},[h]),X=[{label:"Total Entities",value:v.totalEntities,iconType:"folder",link:"/files",color:"#F59E0B"},{label:"Analyzed Entities",value:v.entitiesWithAnalyses,iconType:"check",link:"/simulations",color:"#10B981"},{label:"Visual Components",value:v.visualEntities,iconType:"image",link:"/files?entityType=visual",color:"#8B5CF6"},{label:"Library Functions",value:v.libraryEntities,iconType:"code-xml",link:"/files?entityType=library",color:"#0DBFE9"}];return e.jsx("div",{className:"bg-cygray-10 min-h-screen",children:e.jsxs("div",{className:"pt-10 pb-6 px-12",children:[e.jsxs("header",{className:"mb-8 flex justify-between items-center",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("img",{src:he,alt:"CodeYam",className:"h-3.5"}),e.jsx("span",{className:"text-gray-400 text-sm",children:"|"}),e.jsxs("h1",{className:"text-sm font-normal text-gray-600 m-0",children:["Overview of"," ",e.jsx("span",{className:"font-semibold",children:u?u.replace(/-/g," ").replace(/\b\w/g,s=>s.toUpperCase()):"Project"})]})]}),R.state==="loading"&&e.jsx("div",{className:"text-blue-600 text-sm font-medium animate-pulse",children:"🔄 Updating..."})]}),e.jsx("div",{className:"flex items-center justify-between gap-3",children:X.map((s,t)=>e.jsx(x,{to:s.link,className:"flex-1 bg-white rounded-xl border border-gray-200 overflow-hidden flex transition-all hover:shadow-lg hover:-translate-y-0.5 no-underline cursor-pointer",style:{borderLeft:`4px solid ${s.color}`},children:e.jsxs("div",{className:"px-6 py-4 flex flex-col gap-3 flex-1",children:[e.jsxs("div",{className:"flex md:justify-between md:items-start md:flex-row flex-col",children:[e.jsx("div",{className:"text-xs text-gray-700 font-medium",children:s.label}),e.jsx("div",{className:"text-xs font-medium transition-colors flex items-center gap-1 sm:hidden md:flex",style:{color:s.color},children:"View All →"})]}),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"rounded-lg p-2 leading-none shrink-0",style:{backgroundColor:`${s.color}15`},children:[s.iconType==="folder"&&e.jsx(de,{size:20,style:{color:s.color}}),s.iconType==="check"&&e.jsx(oe,{size:20,style:{color:s.color}}),s.iconType==="image"&&e.jsx(j,{size:20,style:{color:s.color}}),s.iconType==="code-xml"&&e.jsx(V,{size:20,style:{color:s.color}})]}),e.jsx("div",{className:"text-2xl font-bold text-gray-900 leading-none",children:s.value})]}),e.jsx("div",{className:"text-xs font-medium transition-colors flex items-center gap-1 md:hidden",style:{color:s.color},children:"View All →"})]})]})},t))}),e.jsxs("div",{className:"mt-12 grid gap-8 items-start",style:{gridTemplateColumns:"repeat(auto-fit, minmax(500px, 1fr))"},children:[e.jsxs("section",{id:"uncommitted",className:"bg-white border border-gray-200 rounded-xl p-6",children:[e.jsxs("div",{className:"flex justify-between items-start mb-5",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-[22px] font-semibold text-gray-900 m-0 mb-1",children:"Uncommitted Changes"}),e.jsx("p",{className:"text-sm text-gray-500 m-0",children:y.length>0?`${y.length} file${y.length!==1?"s":""} with ${C.length} uncommitted entit${C.length!==1?"ies":"y"}`:"No uncommitted changes detected"})]}),D.length>0&&e.jsx("button",{onClick:Y,disabled:i.state!=="idle"||L||c.length===0,className:"px-5 py-2.5 text-white border-none rounded-lg text-sm font-semibold cursor-pointer transition-all hover:-translate-y-px disabled:bg-gray-400 disabled:cursor-not-allowed disabled:translate-y-0",style:{backgroundColor:"#005C75"},onMouseEnter:s=>s.currentTarget.style.backgroundColor="#004560",onMouseLeave:s=>s.currentTarget.style.backgroundColor="#005C75",children:i.state!=="idle"||L?"Starting analysis...":c.length===0?"All Queued":`Analyze All (${c.length})`})]}),y.length>0?e.jsx("div",{className:"flex flex-col gap-3",children:y.map(([s,t])=>{const l=W.has(s),n=t.editedEntities||[];return e.jsxs("div",{className:"bg-white border border-gray-200 border-l-4 rounded-lg overflow-hidden",style:{borderLeftColor:"#306AFF"},children:[e.jsx("div",{className:"p-4 cursor-pointer select-none transition-colors hover:bg-gray-50",onClick:()=>G(s),role:"button",tabIndex:0,children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:"text-gray-500 text-xs w-4 shrink-0",children:l?"▼":"▶"}),e.jsxs("svg",{width:"16",height:"20",viewBox:"0 0 12 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"shrink-0",children:[e.jsxs("g",{clipPath:"url(#clip0_784_10666)",children:[e.jsx("path",{d:"M0 2.55857C0 1.14551 1.14551 0 2.55857 0H8.73194L12 3.3616V13.4414C12 14.8545 10.8545 16 9.44143 16H2.55857C1.14551 16 0 14.8545 0 13.4414V2.55857Z",fill:"#DDDDFE"}),e.jsx("path",{d:"M8.72656 3.3307H11.9906L8.72656 0V3.3307Z",fill:"#306AFF"}),e.jsx("line",{x1:"1.8125",y1:"5.94825",x2:"10.0235",y2:"5.94825",stroke:"#306AFF",strokeWidth:"1.27929"}),e.jsx("line",{x1:"1.8125",y1:"8.82715",x2:"6.01207",y2:"8.82715",stroke:"#306AFF",strokeWidth:"1.27929"}),e.jsx("line",{x1:"1.8125",y1:"11.7061",x2:"10.0235",y2:"11.7061",stroke:"#306AFF",strokeWidth:"1.27929"})]}),e.jsx("defs",{children:e.jsx("clipPath",{id:"clip0_784_10666",children:e.jsx("rect",{width:"12",height:"16",fill:"white"})})})]}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("span",{className:"font-normal text-gray-900 text-sm block truncate",children:s}),e.jsxs("span",{className:"text-xs text-gray-500",children:[n.length," entit",n.length!==1?"ies":"y"]})]})]})}),l&&e.jsx("div",{className:"border-t border-gray-200 bg-gray-50 p-3 flex flex-col gap-2",children:n.length>0?n.map(a=>{const p=$.has(a.sha),g=M.has(a.sha)||B.has(a.sha);return e.jsxs(x,{to:`/entity/${a.sha}`,className:"flex items-center gap-4 p-4 bg-white border border-gray-200 rounded-lg no-underline transition-all hover:shadow-md hover:-translate-y-0.5",style:{borderColor:"inherit"},onMouseEnter:r=>r.currentTarget.style.borderColor="#005C75",onMouseLeave:r=>r.currentTarget.style.borderColor="inherit",children:[e.jsxs("div",{className:"shrink-0 rounded-lg p-1.5 flex items-center justify-center",style:{backgroundColor:a.entityType==="visual"?"#8B5CF615":a.entityType==="library"?"#6366F1":"#EC4899"},children:[a.entityType==="visual"&&e.jsx(j,{size:16,style:{color:"#8B5CF6"}}),a.entityType==="library"&&e.jsx(V,{size:16,className:"text-white"}),a.entityType==="other"&&e.jsx(xe,{size:16,className:"text-white"})]}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-0.5",children:[e.jsx("div",{className:"font-semibold text-gray-900 text-sm",children:a.name}),a.entityType==="visual"&&e.jsx("div",{className:"px-2 py-0.5 rounded-sm text-[10px] uppercase font-bold",style:{backgroundColor:"#8B5CF60D",color:"#8B5CF6"},children:"Visual"}),a.entityType==="library"&&e.jsx("div",{className:"px-2 py-0.5 rounded-sm text-[10px] uppercase font-bold",style:{backgroundColor:"#0DBFE90D",color:"#0DBFE9"},children:"Library"}),a.entityType==="other"&&e.jsx("div",{className:"px-2 py-0.5 rounded-sm text-[10px] uppercase font-bold",style:{backgroundColor:"#EC48990D",color:"#EC4899"},children:"Other"})]}),a.description&&e.jsx("div",{className:"text-sm text-gray-500 mt-1 overflow-hidden text-ellipsis whitespace-nowrap",children:a.description})]}),e.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[p&&e.jsxs("div",{className:"px-2 py-1 bg-pink-100 rounded text-xs text-pink-700 font-semibold flex items-center gap-1.5",children:[e.jsx(w,{size:14,className:"animate-spin"}),"Analyzing..."]}),!p&&g&&e.jsx("div",{className:"px-2 py-1 bg-purple-50 border border-purple-300 rounded text-xs text-purple-700 font-semibold",children:"⏳ Queued"}),!p&&!g&&e.jsx("button",{onClick:r=>{r.preventDefault(),r.stopPropagation(),m(`Starting analysis for ${a.name}...`,"info",3e3),i.submit({entityShas:a.sha},{method:"post",action:"/api/analyze"})},disabled:i.state!=="idle",className:"px-3 py-1.5 text-white border-none rounded text-xs font-medium cursor-pointer transition-all disabled:bg-gray-400 disabled:cursor-not-allowed",style:{backgroundColor:"#005C75"},onMouseEnter:r=>r.currentTarget.style.backgroundColor="#004560",onMouseLeave:r=>r.currentTarget.style.backgroundColor="#005C75",children:"Analyze"})]})]},a.sha)}):e.jsx("div",{className:"text-sm text-gray-500 italic p-2",children:"No entity changes detected in this file"})})]},s)})}):e.jsxs("div",{className:"py-12 px-6 text-center flex flex-col items-center bg-gray-50 rounded-lg min-h-50 justify-center",children:[e.jsxs("svg",{width:"52",height:"68",viewBox:"0 0 26 34",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"mb-4 opacity-40",children:[e.jsxs("g",{clipPath:"url(#clip0_784_10631)",children:[e.jsx("path",{d:"M0 2.55857C0 1.14551 1.14551 0 2.55857 0H18.9423L26.0318 7.14651V31.4562C26.0318 32.8693 24.8863 34.0148 23.4732 34.0148H2.55857C1.14551 34.0148 0 32.8693 0 31.4562V2.55857Z",fill:"#D9D9D9"}),e.jsx("path",{d:"M18.9453 7.08081H26.0261L18.9453 0V7.08081Z",fill:"#646464"}),e.jsx("line",{x1:"3.92188",y1:"13.3633",x2:"21.7341",y2:"13.3633",stroke:"#646464",strokeWidth:"1.27929"}),e.jsx("line",{x1:"3.92188",y1:"19.4863",x2:"13.0321",y2:"19.4863",stroke:"#646464",strokeWidth:"1.27929"}),e.jsx("line",{x1:"3.92188",y1:"25.6016",x2:"21.7341",y2:"25.6016",stroke:"#646464",strokeWidth:"1.27929"})]}),e.jsx("defs",{children:e.jsx("clipPath",{id:"clip0_784_10631",children:e.jsx("rect",{width:"26",height:"34",fill:"white"})})})]}),e.jsx("p",{className:"text-sm font-medium text-gray-400 m-0 mb-2",children:"No Uncommitted Changes."})]})]}),e.jsxs("section",{className:"bg-white border border-gray-200 rounded-xl p-6",children:[e.jsx("div",{className:"flex justify-between items-start mb-5",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-[22px] font-semibold text-gray-900 m-0 mb-1",children:"Recent Simulations"}),e.jsx("p",{className:"text-sm text-gray-500 m-0",children:h.length>0?`Latest ${h.length} captured screenshot${h.length!==1?"s":""}`:"No simulations captured yet"})]})}),h.length>0&&!o?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"space-y-6 mb-5",children:K.map(s=>e.jsxs("div",{children:[e.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[e.jsx("div",{className:"shrink-0 rounded-lg p-1.5 flex items-center justify-center bg-purple-100",children:e.jsx(j,{size:16,style:{color:"#8B5CF6"}})}),e.jsx(x,{to:`/entity/${s.entitySha}`,className:"text-sm font-semibold text-gray-900 no-underline hover:text-gray-700 transition-colors",children:s.entityName})]}),e.jsx("div",{className:"grid grid-cols-4 gap-3",children:s.scenarios.map((t,l)=>e.jsx(x,{to:t.scenarioId?`/entity/${t.entitySha}/scenarios/${t.scenarioId}`:`/entity/${t.entitySha}`,className:"aspect-4/3 border border-gray-200 rounded-lg overflow-hidden bg-gray-50 transition-all flex items-center justify-center hover:scale-105",onMouseEnter:n=>{n.currentTarget.style.borderColor="#005C75",n.currentTarget.style.boxShadow="0 4px 12px rgba(0, 92, 117, 0.2)"},onMouseLeave:n=>{n.currentTarget.style.borderColor="#E5E7EB",n.currentTarget.style.boxShadow="none"},title:`${t.scenarioName}`,children:e.jsx(_,{screenshotPath:t.screenshotPath,alt:t.scenarioName,className:"max-w-full max-h-full object-contain object-center"})},l))})]},s.entitySha))}),e.jsx(x,{to:"/simulations",className:"block text-center p-3 rounded-lg no-underline font-semibold text-sm transition-all",style:{color:"#005C75",backgroundColor:"#F6F9FC"},onMouseEnter:s=>s.currentTarget.style.backgroundColor="#EEF4F8",onMouseLeave:s=>s.currentTarget.style.backgroundColor="#F6F9FC",children:"View All Recent Simulations →"})]}):o?e.jsxs("div",{className:"p-0 bg-white rounded-lg flex flex-col gap-0",children:[b&&e.jsx("div",{className:"p-4 rounded-t-lg",style:{backgroundColor:"#F0F5F8",borderBottom:"2px solid #005C75"},children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:"text-[32px] leading-none",children:e.jsx(ie,{type:"visual"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"text-base font-bold mb-1",style:{color:"#005C75"},children:["Generating Simulations for ",b.name]}),e.jsx("div",{className:"text-[13px] text-gray-500 font-mono overflow-hidden text-ellipsis whitespace-nowrap",children:b.filePath})]})]})}),E?e.jsxs("div",{className:"flex items-center gap-2 text-sm text-emerald-600 font-medium p-4 bg-emerald-50",children:[e.jsx("span",{className:"text-lg",children:"✅"}),e.jsxs("span",{children:["Complete (",N.length," scenario",N.length!==1?"s":"",")"]})]}):S?e.jsxs("div",{className:"flex items-center justify-between gap-1.5 text-sm font-medium p-4 bg-gray-50",style:{color:"#005C75"},children:[e.jsx(w,{size:18,className:"animate-spin shrink-0"}),e.jsx("span",{className:"flex-1 overflow-hidden text-ellipsis whitespace-nowrap font-mono text-xs",title:S,children:S}),u&&e.jsx("button",{onClick:()=>A(!0),className:"px-2 py-1.5 bg-gray-500 text-white border-none rounded-md text-[13px] font-medium cursor-pointer transition-all whitespace-nowrap self-start hover:bg-gray-600 hover:-translate-y-px",title:"View analysis logs",children:"📋 Logs"})]}):i.state!=="idle"?e.jsxs("div",{className:"flex items-center justify-between gap-1.5 text-sm font-medium p-4 bg-gray-50",style:{color:"#005C75"},children:[e.jsx(w,{size:18,className:"animate-spin shrink-0"}),e.jsx("span",{className:"flex-1 overflow-hidden text-ellipsis whitespace-nowrap",children:"Initializing analysis..."})]}):e.jsxs("div",{className:"flex items-center justify-between gap-1.5 text-sm font-medium p-4 bg-gray-50",style:{color:"#005C75"},children:[e.jsx(w,{size:18,className:"animate-spin shrink-0"}),e.jsx("span",{className:"flex-1 overflow-hidden text-ellipsis whitespace-nowrap",children:"Starting analysis..."})]}),N.length>0&&e.jsx("div",{className:"flex gap-2 flex-wrap p-4 bg-white border-t border-gray-200",children:N.slice(0,8).map((s,t)=>{const l=s.metadata?.screenshotPaths?.[0],n=Z.find(g=>g.name===s.name),a=n?.screenshotStartedAt&&!n?.screenshotFinishedAt;return l?e.jsx(x,{to:`/entity/${o}`,className:"w-20 h-15 border-2 border-gray-200 rounded overflow-hidden bg-gray-50 cursor-pointer transition-all flex items-center justify-center no-underline hover:border-blue-600 hover:scale-105 hover:shadow-md",children:e.jsx(_,{screenshotPath:l,alt:s.name,title:s.name,className:"max-w-full max-h-full object-contain object-center"})},t):e.jsx("div",{className:"w-20 h-15 border-2 border-dashed border-gray-300 rounded bg-gray-50 flex items-center justify-center text-2xl",title:`Capturing ${s.name}...`,children:e.jsx("span",{className:a?"animate-pulse":"text-gray-400",children:a?"⋯":"⏹️"})},t)})})]}):e.jsxs("div",{className:"flex flex-col items-center",children:[e.jsxs("div",{className:"py-12 px-6 text-center bg-gray-50 rounded-lg w-full flex flex-col items-center justify-center min-h-50",children:[e.jsx("div",{className:"mb-4 bg-[#efefef] rounded-lg p-3",children:e.jsx(j,{size:28,style:{color:"#999999"},strokeWidth:1.5})}),e.jsx("p",{className:"text-gray-700 m-0 font-semibold",children:"Start by analyzing your first component below."})]}),(f?.length??0)>0?e.jsx(e.Fragment,{children:e.jsx("div",{className:"flex flex-col gap-3 mt-6 w-full",children:(o&&b?[b]:f||[]).map(s=>e.jsx("div",{className:"flex flex-col gap-3",children:e.jsxs("div",{className:"flex items-center gap-4 p-4 bg-white border border-gray-200 rounded-lg transition-colors",style:{borderLeft:"4px solid #8B5CF6"},onMouseEnter:t=>{t.currentTarget.style.backgroundColor="#F9FAFB"},onMouseLeave:t=>{t.currentTarget.style.backgroundColor="white"},children:[e.jsxs(x,{to:`/entity/${s.sha}`,className:"flex items-center gap-4 flex-1 min-w-0 no-underline",children:[e.jsx("div",{className:"shrink-0 rounded-lg p-1.5 flex items-center justify-center bg-purple-100",children:e.jsx(j,{size:16,style:{color:"#8B5CF6"}})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"font-semibold text-gray-900 text-sm mb-1",children:s.name}),e.jsx("div",{className:"text-xs text-gray-500 font-mono overflow-hidden text-ellipsis whitespace-nowrap",children:s.filePath})]})]}),e.jsx("button",{onClick:()=>O(s.sha,s.filePath||""),disabled:i.state!=="idle"||o!==null,className:"px-4 py-2 text-white border-none rounded text-sm font-medium cursor-pointer transition-all whitespace-nowrap shrink-0 disabled:bg-gray-400 disabled:cursor-not-allowed disabled:translate-y-0",style:{backgroundColor:"#005C75"},onMouseEnter:t=>t.currentTarget.style.backgroundColor="#004560",onMouseLeave:t=>t.currentTarget.style.backgroundColor="#005C75",title:o?"Please wait for current analysis to complete":"Analyze this entity",children:"Analyze"})]})},s.sha))})}):e.jsx("p",{className:"text-base text-gray-600 m-0 mb-6 leading-relaxed mt-6",children:"Run analysis on your visual components to create simulations and capture screenshots"})]})]})]}),U&&u&&e.jsx(re,{projectSlug:u,onClose:()=>A(!1)})]})})});export{Se as default,ke as meta};
@@ -0,0 +1,7 @@
1
+ import{j as e,w as R,u as F,h as K,r as P,L as u,d as V}from"./chunk-WWGJGFF6-CbVoyx1U.js";import{L as B}from"./LogViewer-BYnfxbUG.js";import{u as q}from"./useLastLogLine-3pmpUQB-.js";import{u as U}from"./useReportContext-EvdK-zXP.js";import{E as M}from"./EntityTypeIcon-DcwcHyl5.js";import{E as O}from"./EntityTypeBadge-efWKDYMr.js";import{S as W}from"./SafeScreenshot-lHVhvsu_.js";import{L as Q}from"./loader-circle-GazdNeLl.js";import{c as $}from"./createLucideIcon-YR8jjAlu.js";const J=[["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Y=$("ban",J);const G=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"10",x2:"10",y1:"15",y2:"9",key:"c1nkhi"}],["line",{x1:"14",x2:"14",y1:"15",y2:"9",key:"h65svq"}]],I=$("circle-pause",G);const X=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]],Z=$("file-code",X);const ee=[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]],te=$("grip-vertical",ee);const se=[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["rect",{x:"3",y:"4",width:"6",height:"6",rx:"1",key:"cif1o7"}]],re=$("list-todo",se),ie={analyzer:{bgColor:"#e1e1e1",textColor:"#3e3e3e",borderColor:"#e1e1e1"},capture:{bgColor:"#e1e1e1",textColor:"#3e3e3e",borderColor:"#e1e1e1"},running:{bgColor:"#e8ffe6",textColor:"#00925d",borderColor:"#c3f3bf"},error:{bgColor:"#fee2e2",textColor:"#991b1b",borderColor:"#fecaca"}};function D({variant:l,pid:t,label:g,className:a=""}){const c=ie[l],i=g||(l==="analyzer"&&t?`Analyzer: ${t}`:l==="capture"&&t?`Capture: ${t}`:l==="running"?"Running":l==="error"?"Error":"");return e.jsx("div",{className:`inline-flex items-center justify-center px-[8px] rounded-[4px] ${a}`,style:{backgroundColor:c.bgColor,borderWidth:"1px",borderStyle:"solid",borderColor:c.borderColor,height:"20px"},children:e.jsx("span",{className:"font-['IBM_Plex_Sans']",style:{fontSize:"10px",fontWeight:400,lineHeight:"15px",color:c.textColor},children:i})})}function le({activeTab:l,hasCurrentActivity:t,queuedCount:g,historicCount:a}){const c=[{id:"current",label:"Current Activity",hasContent:t,count:t?1:null},{id:"queued",label:"Queued Activity",hasContent:g>0,count:g},{id:"historic",label:"Historic Activity",hasContent:a>0,count:a}];return e.jsx("div",{className:"border-b border-gray-200 mb-6",children:e.jsx("nav",{className:"flex gap-8",children:c.map(i=>{const d=l===i.id;return e.jsx(u,{to:i.id==="current"?"/activity":`/activity/${i.id}`,className:`
2
+ relative pb-4 px-2 text-sm font-medium transition-colors cursor-pointer
3
+ ${d?"border-b-2":"text-gray-500 hover:text-gray-700"}
4
+ `,style:d?{color:"#005C75",borderColor:"#005C75"}:{},children:e.jsxs("span",{className:"flex items-center gap-2",children:[i.label,i.count!==null&&i.count>0&&e.jsx("span",{className:`inline-flex items-center justify-center px-2 py-0.5 text-xs font-semibold rounded-full ${d?"bg-[#cbf3fa] text-[#005c75]":"bg-[#e1e1e1] text-[#3e3e3e]"}`,children:i.count}),i.count===null&&i.hasContent&&e.jsx("span",{className:`
5
+ inline-block w-2 h-2 rounded-full
6
+ ${d?"":"bg-gray-400"}
7
+ `,style:d?{backgroundColor:"#005C75"}:{}})]})},i.id)})})})}function ne({currentlyExecuting:l,currentRun:t,state:g,projectSlug:a,commitSha:c,onShowLogs:i,recentCompletedEntities:d,hasMoreCompletedRuns:x,currentEntityScenarios:w,currentEntityForScenarios:m}){const[h,y]=P.useState({}),[A,N]=P.useState({isKilling:!1,current:0,total:0}),T=V(),s=!!l,o=l?.entities||[],p=!!t?.analysisCompletedAt,k=p&&!!t?.capturePid,H=!p,j=s,v=w||[],{lastLine:_}=q(a,j);P.useEffect(()=>{if(!t)return;const r=[t.analyzerPid,t.capturePid].filter(b=>!!b);if(r.length===0)return;let f=!0;const C=async()=>{try{const z=await(await fetch(`/api/process-status?pids=${r.join(",")}`)).json();if(z.processes&&f){const E={};z.processes.forEach(L=>{E[L.pid]={isRunning:L.isRunning,processName:L.processName}}),y(E)}}catch(b){f&&console.error("Failed to fetch process statuses:",b)}};C();const n=setInterval(()=>{C()},5e3);return()=>{f=!1,clearInterval(n)}},[t?.analyzerPid,t?.capturePid]);const S=o?.[0];return e.jsxs("div",{className:"flex flex-col gap-[45px]",children:[j?e.jsxs("div",{className:"rounded-[10px] p-[15px]",style:{backgroundColor:"#f6f9fc",border:"2px solid #005C75"},children:[e.jsxs("div",{className:"flex items-center gap-2 mb-[15px]",children:[e.jsx(Q,{size:14,strokeWidth:2.5,className:"animate-spin",style:{color:"#005c75"}}),e.jsx("span",{className:"font-medium",style:{fontSize:"14px",lineHeight:"18px",color:"#005c75"},children:k?"Capturing...":"Analyzing..."})]}),S&&e.jsxs("div",{className:"bg-white border border-[#e1e1e1] rounded-[4px] mb-[15px]",style:{height:"60px",padding:"0 15px",display:"flex",alignItems:"center",justifyContent:"space-between"},children:[e.jsxs("div",{className:"inline-grid place-items-start relative",style:{gridTemplateColumns:"max-content",gridTemplateRows:"max-content",lineHeight:0},children:[e.jsx("div",{className:"relative",style:{gridArea:"1 / 1",marginLeft:"10px",marginTop:"8.97px"},children:e.jsx("div",{style:{transform:"scale(1.33)"},children:e.jsx(M,{type:S.entityType||"other"})})}),e.jsxs("div",{className:"flex flex-col gap-[1px] relative",style:{gridArea:"1 / 1",marginLeft:"49px",marginTop:"0"},children:[e.jsxs("div",{className:"flex items-center gap-[14px]",children:[e.jsx(u,{to:`/entity/${S.sha}`,className:"hover:underline cursor-pointer",style:{fontSize:"14px",lineHeight:"18px",fontWeight:500,color:"#000"},children:S.name}),S.entityType&&e.jsx(O,{type:S.entityType})]}),e.jsx("div",{className:"truncate",style:{fontSize:"12px",lineHeight:"15px",color:"#8e8e8e",width:"422px"},title:S.filePath,children:S.filePath})]})]}),e.jsx("button",{onClick:i,className:"px-[10px] rounded-[4px] transition-colors whitespace-nowrap cursor-pointer",style:{backgroundColor:"#e0e9ec",color:"#005c75",fontSize:"10px",lineHeight:"22px",fontWeight:600},children:"View Logs"})]}),k&&v&&v.length>0&&m&&e.jsx("div",{className:"flex gap-[10px] overflow-x-auto mb-[15px]",children:v.map(r=>{if(!r.id)return null;const f=r.metadata?.screenshotPaths?.[0],C=r.metadata?.noScreenshotSaved,n=f&&!C;return e.jsx(u,{to:`/entity/${m.sha}/scenarios/${r.id}`,className:"border border-[#ccc] border-solid rounded-[6px] overflow-hidden flex-shrink-0 cursor-pointer",style:{width:"160px",height:"90px"},children:n?e.jsx(W,{screenshotPath:f,cacheBuster:Date.now(),alt:r.name,className:"w-full h-full object-contain bg-gray-100"}):e.jsx("div",{className:"w-full h-full bg-gray-100 flex items-center justify-center text-xs text-gray-400",children:"No preview"})},r.id)})}),_&&e.jsx("div",{className:"mb-[15px] font-['IBM_Plex_Mono']",style:{fontSize:"12px",lineHeight:"20px",fontWeight:500,color:"#005c75"},children:_}),e.jsx("div",{className:"mb-[15px]",style:{height:"1px",backgroundColor:"#e0e9ec"}}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("span",{style:{fontSize:"12px",lineHeight:"15px",fontWeight:400,color:"#000"},children:["Running Processes:"," "]}),t?.analyzerPid&&e.jsx(D,{variant:"analyzer",pid:t.analyzerPid}),t?.analyzerPid&&(H||h[t.analyzerPid]?.isRunning)&&e.jsx(D,{variant:"running"}),t?.capturePid&&e.jsx(D,{variant:"capture",pid:t.capturePid}),t?.capturePid&&(k||h[t.capturePid]?.isRunning)&&e.jsx(D,{variant:"running"})]}),(h[t?.analyzerPid]?.isRunning||h[t?.capturePid]?.isRunning)&&e.jsx("button",{onClick:()=>{const r=[t?.analyzerPid,t?.capturePid].filter(n=>!!n&&h[n]?.isRunning);if(r.length===0)return;const f=r.join(", ");if(!confirm(`Are you sure you want to kill all running processes (${f})?`))return;N({isKilling:!0,current:1,total:r.length}),(async()=>{for(let n=0;n<r.length;n++){const b=r[n];try{await fetch("/api/kill-process",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({pid:b,commitSha:c||""})})}catch(z){console.error(`Failed to kill process ${b}:`,z)}n<r.length-1&&N({isKilling:!0,current:n+2,total:r.length})}N({isKilling:!1,current:0,total:0}),T.revalidate()})()},disabled:A.isKilling,className:"px-[8px] rounded-[4px] transition-colors whitespace-nowrap cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed",style:{backgroundColor:"#991b1b",color:"white",fontSize:"12px",lineHeight:"15px",fontWeight:500,height:"27px",width:"114px"},children:A.isKilling?"Killing...":"Kill All Processes"})]})]}):e.jsxs("div",{className:"bg-[#efefef] rounded-xl p-8 text-center",children:[e.jsx("div",{className:"flex justify-center mb-4",children:e.jsx("div",{className:"p-[10px] bg-gray-200 rounded",children:e.jsx(I,{size:24,className:"text-gray-600"})})}),e.jsx("h3",{className:"font-semibold text-gray-700 mb-2",style:{fontSize:"16px",lineHeight:"24px"},children:"No Current Activity"}),e.jsxs("p",{className:"text-gray-500",style:{fontSize:"14px",lineHeight:"18px"},children:["There are no analyses currently running. Trigger an analysis from the"," ",e.jsx(u,{to:"/git",className:"text-[#005C75] underline hover:text-[#004a5e] font-medium cursor-pointer",children:"Git"})," ","or"," ",e.jsx(u,{to:"/files",className:"text-[#005C75] underline hover:text-[#004a5e] font-medium cursor-pointer",children:"Files"})," ","page."]})]}),d&&d.length>0&&e.jsxs("div",{children:[e.jsx("h3",{className:"font-semibold",style:{fontSize:"16px",lineHeight:"24px",color:"#343434",marginBottom:"16px"},children:"Recently Completed Analyses"}),e.jsx("div",{className:"flex flex-col gap-4",children:d.map(r=>{const f=r.analyses?.[0],C=f?.scenarios||[];return f?.status,e.jsx("div",{className:"rounded-[8px] p-[15px]",style:{backgroundColor:"#f2fcf9",border:"2px solid #aff1a9"},children:e.jsxs("div",{className:"flex flex-col gap-[15px]",children:[e.jsxs("div",{className:"flex items-center",children:[e.jsx("div",{className:"flex-shrink-0",style:{transform:"scale(1.33)",marginLeft:"10px"},children:e.jsx(M,{type:r.entityType||"other"})}),e.jsxs("div",{className:"flex flex-col flex-shrink-0",style:{marginLeft:"15px",gap:"4px"},children:[e.jsxs("div",{className:"flex items-center gap-[5px]",children:[e.jsx(u,{to:`/entity/${r.sha}`,className:"hover:underline cursor-pointer",title:r.name,style:{fontSize:"14px",lineHeight:"18px",color:"#343434",fontWeight:500},children:r.name}),e.jsx("div",{className:"flex items-center justify-center px-2 rounded",style:{height:"20px",backgroundColor:"#e8ffe6",color:"#00925d",fontSize:"12px",lineHeight:"16px",fontWeight:400},children:r.isUncommitted?"Modified":"Up to date"})]}),e.jsx("div",{style:{fontSize:"13px",lineHeight:"18px",color:"#646464",fontWeight:400,width:"422px"},className:"truncate",title:r.filePath,children:r.filePath})]}),e.jsx("div",{className:"flex-1"}),e.jsx("div",{className:"flex-shrink-0",children:e.jsx("button",{onClick:i,className:"px-[10px] rounded transition-colors whitespace-nowrap",style:{backgroundColor:"#e0e9ec",color:"#005c75",fontSize:"10px",lineHeight:"22px",fontWeight:600},onMouseEnter:n=>{n.currentTarget.style.backgroundColor="#d0dfe3"},onMouseLeave:n=>{n.currentTarget.style.backgroundColor="#e0e9ec"},children:"View Logs"})})]}),C.length>0?e.jsx("div",{className:"flex gap-[10px] overflow-x-auto",children:C.map((n,b)=>{if(!n.id)return null;const z=n.metadata?.screenshotPaths?.[0],E=n.metadata?.noScreenshotSaved,L=z&&!E;return e.jsx(u,{to:`/entity/${r.sha}/scenarios/${n.id}`,className:"border border-[#ccc] border-solid rounded-[6px] overflow-hidden flex-shrink-0 cursor-pointer",style:{width:"144px",height:"96px"},children:L?e.jsx(W,{screenshotPath:z,cacheBuster:Date.now(),alt:n.name,className:"w-full h-full object-contain bg-gray-100"}):e.jsx("div",{className:"w-full h-full bg-gray-100 flex items-center justify-center text-xs text-gray-400",children:"No preview"})},b)})}):e.jsx("div",{className:"italic",style:{fontSize:"12px",color:"#646464"},children:"No scenarios available"})]})},r.sha)})})]})]})}function oe({queueJobs:l,state:t,currentRun:g}){if(!l||l.length===0)return e.jsxs("div",{className:"rounded-xl p-12 text-center",style:{backgroundColor:"#f3f3f3"},children:[e.jsx("div",{className:"flex justify-center mb-4",children:e.jsx("div",{className:"p-[10px] rounded",style:{backgroundColor:"#e5e5e5"},children:e.jsx(re,{size:24,style:{color:"#646464"}})})}),e.jsx("h3",{className:"font-semibold mb-2",style:{fontSize:"16px",lineHeight:"24px",color:"#343434"},children:"No Queued Jobs"}),e.jsx("p",{style:{fontSize:"14px",lineHeight:"18px",color:"#646464"},children:"Analysis jobs will appear here when they are queued but not yet started."})]});const[a,c]=P.useState(null),[i,d]=P.useState(null),[x,w]=P.useState(null),m=s=>{c(s)},h=(s,o)=>{s.preventDefault(),d(o)},y=async(s,o)=>{if(s.preventDefault(),a===null||a===o){c(null),d(null);return}const p=l[a],k=a<o?"down":"up",H=Math.abs(o-a);try{for(let j=0;j<H;j++)await fetch("/api/queue",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"reorder",jobId:p.id,direction:k})})}catch(j){console.error("Failed to reorder job:",j)}c(null),d(null)},A=()=>{c(null),d(null)},N=async s=>{if(confirm("Are you sure you want to cancel this job?"))try{await fetch("/api/queue",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"remove",jobId:s})}),window.location.reload()}catch(o){console.error("Failed to cancel job:",o)}},T=async()=>{if(confirm(`Are you sure you want to cancel all ${l.length} queued jobs?`))try{await fetch("/api/queue",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"clear"})}),window.location.reload()}catch(s){console.error("Failed to cancel jobs:",s)}};return e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("h3",{className:"font-semibold",style:{fontSize:"16px",lineHeight:"24px",color:"#343434"},children:[l.length," Queued Job",l.length!==1?"s":""]}),l.length>0&&e.jsx("button",{onClick:()=>{T()},className:"px-[10px] py-0 rounded transition-colors cursor-pointer hover:bg-red-300",style:{backgroundColor:"#ffdcd9",color:"#ef4444",fontSize:"12px",fontWeight:500,height:"29px"},children:"Cancel All"})]}),e.jsx("div",{className:"flex flex-col gap-3",children:l.map((s,o)=>{const p=s.entities?.[0],k=x===o,H=a===o,j=i===o;return e.jsxs("div",{className:"rounded-lg p-4 relative",style:{backgroundColor:"#f6f9fc",border:"2px solid #005C75",opacity:H?.5:1,transform:j&&a!==null&&a!==o?"translateY(-2px)":"translateY(0)",transition:"transform 0.2s ease, opacity 0.2s ease"},onMouseEnter:()=>w(o),onMouseLeave:()=>w(null),draggable:!0,onDragStart:v=>{m(o),v.dataTransfer.effectAllowed="move"},onDragOver:v=>h(v,o),onDrop:v=>{y(v,o)},onDragEnd:A,children:[e.jsxs("div",{className:"absolute left-4 top-4 flex items-center gap-1.5 flex-shrink-0",children:[e.jsx(I,{size:16,style:{color:"#005C75"}}),e.jsxs("span",{style:{fontSize:"14px",fontWeight:500,lineHeight:"18px",color:"#005C75"},children:["Job ",o+1]})]}),e.jsx("div",{className:"bg-white rounded cursor-pointer mt-8",style:{border:"1px solid #e1e1e1",height:"60px"},children:e.jsxs("div",{className:"flex items-center justify-between h-full px-[15px]",children:[p?e.jsxs("div",{className:"flex items-center gap-3 flex-1",children:[e.jsx("div",{style:{transform:"scale(1.0)"},children:e.jsx(M,{type:p.entityType||"other"})}),e.jsxs("div",{className:"flex-1",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx(u,{to:`/entity/${p.sha}`,className:"hover:underline cursor-pointer",style:{fontSize:"14px",lineHeight:"18px",fontWeight:500,color:"#000"},children:p.name}),p.entityType&&e.jsx(O,{type:p.entityType})]}),e.jsx("div",{style:{fontSize:"12px",lineHeight:"15px",color:"#8e8e8e"},children:p.filePath})]})]}):e.jsxs("div",{className:"flex items-center gap-3 flex-1",children:[e.jsx("div",{style:{transform:"scale(1.0)"},children:e.jsx(Z,{size:18,style:{color:"#8e8e8e"}})}),e.jsxs("div",{className:"flex-1",children:[e.jsx("div",{style:{fontSize:"14px",lineHeight:"18px",fontWeight:500,color:"#000"},children:s.entityNames?.[0]||(s.type==="analysis"?"Analysis Job":s.type==="recapture"?"Recapture Job":s.type==="debug-setup"?"Debug Setup":s.type.charAt(0).toUpperCase()+s.type.slice(1))}),e.jsx("div",{style:{fontSize:"12px",lineHeight:"15px",color:"#8e8e8e"},children:s.filePaths?.[0]||(s.filePaths&&s.filePaths.length>1?`${s.filePaths.length} files`:s.entityShas&&s.entityShas.length>0?`${s.entityShas.length} ${s.entityShas.length===1?"entity":"entities"}`:"Queued for processing")})]})]}),k&&e.jsx("div",{className:"mr-2 cursor-grab active:cursor-grabbing",style:{color:"#8e8e8e"},title:"Drag to reorder",children:e.jsx(te,{size:20})}),e.jsx("button",{onClick:()=>{N(s.id)},className:"transition-colors cursor-pointer hover:bg-red-100 rounded flex items-center justify-center",style:{fontSize:"10px",fontWeight:600,lineHeight:"22px",color:"#ef4444",backgroundColor:"#fef6f6",padding:"0 10px",height:"22px"},children:"Cancel"})]})})]},s.id)})})]})}function ae({historicalRuns:l,totalHistoricalRuns:t,currentPage:g,totalPages:a,tab:c,onShowLogs:i}){if(t===0)return e.jsxs("div",{className:"rounded-xl p-12 text-center",style:{backgroundColor:"#EFEFEF"},children:[e.jsx("div",{className:"flex justify-center mb-4",children:e.jsx(Y,{size:24,style:{color:"#646464"}})}),e.jsx("h3",{className:"font-semibold mb-2",style:{fontSize:"16px",lineHeight:"24px",color:"#343434"},children:"No Historic Activity"}),e.jsx("p",{style:{fontSize:"14px",lineHeight:"18px",color:"#646464"},children:"Completed analyses will appear here for historical reference."})]});const d=[];return l.forEach(x=>{x.entities&&x.entities.length>0&&x.entities.forEach(w=>{d.push({...w,runCreatedAt:x.createdAt})})}),e.jsx("div",{className:"flex flex-col gap-4",children:d.slice(0,20).map(x=>{const m=x.analyses?.[0]?.scenarios||[],h=!x.isUncommitted;return e.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:h?"#f2fcf9":"#fef9e7",border:"2px solid",borderColor:h?"#aff1a9":"#f9d689"},children:[e.jsxs("div",{className:"flex items-start justify-between mb-3",children:[e.jsxs("div",{className:"flex items-start gap-3 flex-1",children:[e.jsx("div",{style:{transform:"scale(1.0)",marginTop:"2px"},children:e.jsx(M,{type:x.entityType||"other"})}),e.jsxs("div",{className:"flex-1",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx(u,{to:`/entity/${x.sha}`,className:"hover:underline cursor-pointer",style:{fontSize:"14px",lineHeight:"18px",fontWeight:500,color:"#343434"},children:x.name}),e.jsx("div",{className:"px-2 py-0.5 rounded",style:{backgroundColor:h?"#e8ffe6":"#fef3cd",color:h?"#00925d":"#a16207",fontSize:"12px",fontWeight:400},children:h?"Up to date":"Out of date"})]}),e.jsx("div",{style:{fontSize:"12px",lineHeight:"15px",color:"#646464"},children:x.filePath})]})]}),e.jsx("button",{onClick:i,className:"px-3 py-1 rounded transition-colors whitespace-nowrap cursor-pointer",style:{backgroundColor:"#e0e9ec",color:"#005c75",fontSize:"10px",fontWeight:600},children:"View Logs"})]}),m.length>0&&e.jsxs("div",{className:"flex gap-2 overflow-x-auto",children:[m.slice(0,8).map((y,A)=>{if(!y.id)return null;const N=y.metadata?.screenshotPaths?.[0],T=y.metadata?.noScreenshotSaved,s=N&&!T;return e.jsx(u,{to:`/entity/${x.sha}/scenarios/${y.id}`,className:"border border-gray-300 rounded overflow-hidden flex-shrink-0 cursor-pointer",style:{width:"120px",height:"80px"},children:s?e.jsx(W,{screenshotPath:N,cacheBuster:Date.now(),alt:y.name,className:"w-full h-full object-cover bg-gray-100"}):e.jsx("div",{className:"w-full h-full bg-gray-100 flex items-center justify-center text-xs text-gray-400",children:"No preview"})},A)}),m.length>8&&e.jsxs("div",{className:"flex items-center justify-center flex-shrink-0",style:{width:"120px",height:"80px",fontSize:"12px",color:"#646464"},children:["+",m.length-8," more"]})]})]},`${x.sha}-${x.runCreatedAt}`)})})}const ye=R(function(){const t=F(),g=K(),[a,c]=P.useState(!1);U({source:"activity-page"});const i=g.tab||"current";return t?e.jsxs("div",{className:"px-20 py-12",children:[e.jsxs("div",{className:"mb-8",children:[e.jsx("h1",{className:"text-3xl font-bold text-gray-900 mb-2",children:"Activity"}),e.jsx("p",{className:"text-gray-600",children:"View queued, current, and historical analysis activity."})]}),e.jsx(le,{activeTab:i,hasCurrentActivity:t.hasCurrentActivity,queuedCount:t.queuedCount,historicCount:t.totalHistoricalRuns}),i==="current"&&e.jsx(ne,{currentlyExecuting:t.currentlyExecuting,currentRun:t.currentRun,state:t.state,projectSlug:t.projectSlug,commitSha:t.commitSha,onShowLogs:()=>c(!0),recentCompletedEntities:t.recentCompletedEntities||[],hasMoreCompletedRuns:t.hasMoreCompletedRuns||!1,currentEntityScenarios:t.currentEntityScenarios||[],currentEntityForScenarios:t.currentEntityForScenarios}),i==="queued"&&e.jsx(oe,{queueJobs:t.queueJobs,state:t.state,currentRun:t.currentRun}),i==="historic"&&e.jsx(ae,{historicalRuns:t.historicalRuns,totalHistoricalRuns:t.totalHistoricalRuns,currentPage:t.currentPage,totalPages:t.totalPages,tab:i,onShowLogs:()=>c(!0)}),a&&t.projectSlug&&e.jsx(B,{projectSlug:t.projectSlug,onClose:()=>c(!1)})]}):e.jsx("div",{className:"px-20 py-12",children:e.jsx("div",{className:"text-center",children:e.jsx("p",{className:"text-gray-600",children:"Loading..."})})})});export{ye as default};
@@ -0,0 +1 @@
1
+ import{c as o}from"./createLucideIcon-YR8jjAlu.js";const n=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],e=o("chevron-down",n);export{e as C};
@@ -0,0 +1,26 @@
1
+ function Na(e,t){for(var r=0;r<t.length;r++){const n=t[r];if(typeof n!="string"&&!Array.isArray(n)){for(const a in n)if(a!=="default"&&!(a in e)){const o=Object.getOwnPropertyDescriptor(n,a);o&&Object.defineProperty(e,a,o.get?o:{enumerable:!0,get:()=>n[a]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}function Ia(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function ql(e){if(Object.prototype.hasOwnProperty.call(e,"__esModule"))return e;var t=e.default;if(typeof t=="function"){var r=function n(){var a=!1;try{a=this instanceof n}catch{}return a?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var a=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,a.get?a:{enumerable:!0,get:function(){return e[n]}})}),r}var Gt={exports:{}},at={};var Yr;function Fa(){if(Yr)return at;Yr=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function r(n,a,o){var i=null;if(o!==void 0&&(i=""+o),a.key!==void 0&&(i=""+a.key),"key"in a){o={};for(var l in a)l!=="key"&&(o[l]=a[l])}else o=a;return a=o.ref,{$$typeof:e,type:n,key:i,ref:a!==void 0?a:null,props:o}}return at.Fragment=t,at.jsx=r,at.jsxs=r,at}var Vr;function ka(){return Vr||(Vr=1,Gt.exports=Fa()),Gt.exports}var Ql=ka(),Kt={exports:{}},z={};var Jr;function $a(){if(Jr)return z;Jr=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),o=Symbol.for("react.consumer"),i=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),s=Symbol.for("react.suspense"),u=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),c=Symbol.for("react.activity"),y=Symbol.iterator;function g(p){return p===null||typeof p!="object"?null:(p=y&&p[y]||p["@@iterator"],typeof p=="function"?p:null)}var E={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},P=Object.assign,R={};function x(p,S,F){this.props=p,this.context=S,this.refs=R,this.updater=F||E}x.prototype.isReactComponent={},x.prototype.setState=function(p,S){if(typeof p!="object"&&typeof p!="function"&&p!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,p,S,"setState")},x.prototype.forceUpdate=function(p){this.updater.enqueueForceUpdate(this,p,"forceUpdate")};function b(){}b.prototype=x.prototype;function T(p,S,F){this.props=p,this.context=S,this.refs=R,this.updater=F||E}var D=T.prototype=new b;D.constructor=T,P(D,x.prototype),D.isPureReactComponent=!0;var M=Array.isArray;function _(){}var m={H:null,A:null,T:null,S:null},W=Object.prototype.hasOwnProperty;function Y(p,S,F){var U=F.ref;return{$$typeof:e,type:p,key:S,ref:U!==void 0?U:null,props:F}}function G(p,S){return Y(p.type,S,p.props)}function H(p){return typeof p=="object"&&p!==null&&p.$$typeof===e}function se(p){var S={"=":"=0",":":"=2"};return"$"+p.replace(/[=:]/g,function(F){return S[F]})}var Z=/\/+/g;function q(p,S){return typeof p=="object"&&p!==null&&p.key!=null?se(""+p.key):S.toString(36)}function ne(p){switch(p.status){case"fulfilled":return p.value;case"rejected":throw p.reason;default:switch(typeof p.status=="string"?p.then(_,_):(p.status="pending",p.then(function(S){p.status==="pending"&&(p.status="fulfilled",p.value=S)},function(S){p.status==="pending"&&(p.status="rejected",p.reason=S)})),p.status){case"fulfilled":return p.value;case"rejected":throw p.reason}}throw p}function te(p,S,F,U,V){var J=typeof p;(J==="undefined"||J==="boolean")&&(p=null);var Q=!1;if(p===null)Q=!0;else switch(J){case"bigint":case"string":case"number":Q=!0;break;case"object":switch(p.$$typeof){case e:case t:Q=!0;break;case h:return Q=p._init,te(Q(p._payload),S,F,U,V)}}if(Q)return V=V(p),Q=U===""?"."+q(p,0):U,M(V)?(F="",Q!=null&&(F=Q.replace(Z,"$&/")+"/"),te(V,S,F,"",function(Bt){return Bt})):V!=null&&(H(V)&&(V=G(V,F+(V.key==null||p&&p.key===V.key?"":(""+V.key).replace(Z,"$&/")+"/")+Q)),S.push(V)),1;Q=0;var he=U===""?".":U+":";if(M(p))for(var me=0;me<p.length;me++)U=p[me],J=he+q(U,me),Q+=te(U,S,F,J,V);else if(me=g(p),typeof me=="function")for(p=me.call(p),me=0;!(U=p.next()).done;)U=U.value,J=he+q(U,me++),Q+=te(U,S,F,J,V);else if(J==="object"){if(typeof p.then=="function")return te(ne(p),S,F,U,V);throw S=String(p),Error("Objects are not valid as a React child (found: "+(S==="[object Object]"?"object with keys {"+Object.keys(p).join(", ")+"}":S)+"). If you meant to render a collection of children, use an array instead.")}return Q}function ue(p,S,F){if(p==null)return p;var U=[],V=0;return te(p,U,"","",function(J){return S.call(F,J,V++)}),U}function ee(p){if(p._status===-1){var S=p._result;S=S(),S.then(function(F){(p._status===0||p._status===-1)&&(p._status=1,p._result=F)},function(F){(p._status===0||p._status===-1)&&(p._status=2,p._result=F)}),p._status===-1&&(p._status=0,p._result=S)}if(p._status===1)return p._result.default;throw p._result}var fe=typeof reportError=="function"?reportError:function(p){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var S=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof p=="object"&&p!==null&&typeof p.message=="string"?String(p.message):String(p),error:p});if(!window.dispatchEvent(S))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",p);return}console.error(p)},be={map:ue,forEach:function(p,S,F){ue(p,function(){S.apply(this,arguments)},F)},count:function(p){var S=0;return ue(p,function(){S++}),S},toArray:function(p){return ue(p,function(S){return S})||[]},only:function(p){if(!H(p))throw Error("React.Children.only expected to receive a single React element child.");return p}};return z.Activity=c,z.Children=be,z.Component=x,z.Fragment=r,z.Profiler=a,z.PureComponent=T,z.StrictMode=n,z.Suspense=s,z.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=m,z.__COMPILER_RUNTIME={__proto__:null,c:function(p){return m.H.useMemoCache(p)}},z.cache=function(p){return function(){return p.apply(null,arguments)}},z.cacheSignal=function(){return null},z.cloneElement=function(p,S,F){if(p==null)throw Error("The argument must be a React element, but you passed "+p+".");var U=P({},p.props),V=p.key;if(S!=null)for(J in S.key!==void 0&&(V=""+S.key),S)!W.call(S,J)||J==="key"||J==="__self"||J==="__source"||J==="ref"&&S.ref===void 0||(U[J]=S[J]);var J=arguments.length-2;if(J===1)U.children=F;else if(1<J){for(var Q=Array(J),he=0;he<J;he++)Q[he]=arguments[he+2];U.children=Q}return Y(p.type,V,U)},z.createContext=function(p){return p={$$typeof:i,_currentValue:p,_currentValue2:p,_threadCount:0,Provider:null,Consumer:null},p.Provider=p,p.Consumer={$$typeof:o,_context:p},p},z.createElement=function(p,S,F){var U,V={},J=null;if(S!=null)for(U in S.key!==void 0&&(J=""+S.key),S)W.call(S,U)&&U!=="key"&&U!=="__self"&&U!=="__source"&&(V[U]=S[U]);var Q=arguments.length-2;if(Q===1)V.children=F;else if(1<Q){for(var he=Array(Q),me=0;me<Q;me++)he[me]=arguments[me+2];V.children=he}if(p&&p.defaultProps)for(U in Q=p.defaultProps,Q)V[U]===void 0&&(V[U]=Q[U]);return Y(p,J,V)},z.createRef=function(){return{current:null}},z.forwardRef=function(p){return{$$typeof:l,render:p}},z.isValidElement=H,z.lazy=function(p){return{$$typeof:h,_payload:{_status:-1,_result:p},_init:ee}},z.memo=function(p,S){return{$$typeof:u,type:p,compare:S===void 0?null:S}},z.startTransition=function(p){var S=m.T,F={};m.T=F;try{var U=p(),V=m.S;V!==null&&V(F,U),typeof U=="object"&&U!==null&&typeof U.then=="function"&&U.then(_,fe)}catch(J){fe(J)}finally{S!==null&&F.types!==null&&(S.types=F.types),m.T=S}},z.unstable_useCacheRefresh=function(){return m.H.useCacheRefresh()},z.use=function(p){return m.H.use(p)},z.useActionState=function(p,S,F){return m.H.useActionState(p,S,F)},z.useCallback=function(p,S){return m.H.useCallback(p,S)},z.useContext=function(p){return m.H.useContext(p)},z.useDebugValue=function(){},z.useDeferredValue=function(p,S){return m.H.useDeferredValue(p,S)},z.useEffect=function(p,S){return m.H.useEffect(p,S)},z.useEffectEvent=function(p){return m.H.useEffectEvent(p)},z.useId=function(){return m.H.useId()},z.useImperativeHandle=function(p,S,F){return m.H.useImperativeHandle(p,S,F)},z.useInsertionEffect=function(p,S){return m.H.useInsertionEffect(p,S)},z.useLayoutEffect=function(p,S){return m.H.useLayoutEffect(p,S)},z.useMemo=function(p,S){return m.H.useMemo(p,S)},z.useOptimistic=function(p,S){return m.H.useOptimistic(p,S)},z.useReducer=function(p,S,F){return m.H.useReducer(p,S,F)},z.useRef=function(p){return m.H.useRef(p)},z.useState=function(p){return m.H.useState(p)},z.useSyncExternalStore=function(p,S,F){return m.H.useSyncExternalStore(p,S,F)},z.useTransition=function(){return m.H.useTransition()},z.version="19.2.3",z}var Gr;function ja(){return Gr||(Gr=1,Kt.exports=$a()),Kt.exports}var f=ja();const Ua=Ia(f),Ha=Na({__proto__:null,default:Ua},[f]);var Pn=e=>{throw TypeError(e)},za=(e,t,r)=>t.has(e)||Pn("Cannot "+r),Xt=(e,t,r)=>(za(e,t,"read from private field"),r?r.call(e):t.get(e)),Ba=(e,t,r)=>t.has(e)?Pn("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),Kr="popstate";function Zl(e={}){function t(n,a){let{pathname:o,search:i,hash:l}=n.location;return ct("",{pathname:o,search:i,hash:l},a.state&&a.state.usr||null,a.state&&a.state.key||"default")}function r(n,a){return typeof a=="string"?a:Me(a)}return Ya(t,r,null,e)}function B(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function ie(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function Wa(){return Math.random().toString(36).substring(2,10)}function Xr(e,t){return{usr:e.state,key:e.key,idx:t}}function ct(e,t,r=null,n){return{pathname:typeof e=="string"?e:e.pathname,search:"",hash:"",...typeof t=="string"?ke(t):t,state:r,key:t&&t.key||n||Wa()}}function Me({pathname:e="/",search:t="",hash:r=""}){return t&&t!=="?"&&(e+=t.charAt(0)==="?"?t:"?"+t),r&&r!=="#"&&(e+=r.charAt(0)==="#"?r:"#"+r),e}function ke(e){let t={};if(e){let r=e.indexOf("#");r>=0&&(t.hash=e.substring(r),e=e.substring(0,r));let n=e.indexOf("?");n>=0&&(t.search=e.substring(n),e=e.substring(0,n)),e&&(t.pathname=e)}return t}function Ya(e,t,r,n={}){let{window:a=document.defaultView,v5Compat:o=!1}=n,i=a.history,l="POP",s=null,u=h();u==null&&(u=0,i.replaceState({...i.state,idx:u},""));function h(){return(i.state||{idx:null}).idx}function c(){l="POP";let R=h(),x=R==null?null:R-u;u=R,s&&s({action:l,location:P.location,delta:x})}function y(R,x){l="PUSH";let b=ct(P.location,R,x);u=h()+1;let T=Xr(b,u),D=P.createHref(b);try{i.pushState(T,"",D)}catch(M){if(M instanceof DOMException&&M.name==="DataCloneError")throw M;a.location.assign(D)}o&&s&&s({action:l,location:P.location,delta:1})}function g(R,x){l="REPLACE";let b=ct(P.location,R,x);u=h();let T=Xr(b,u),D=P.createHref(b);i.replaceState(T,"",D),o&&s&&s({action:l,location:P.location,delta:0})}function E(R){return Ln(R)}let P={get action(){return l},get location(){return e(a,i)},listen(R){if(s)throw new Error("A history only accepts one active listener");return a.addEventListener(Kr,c),s=R,()=>{a.removeEventListener(Kr,c),s=null}},createHref(R){return t(a,R)},createURL:E,encodeLocation(R){let x=E(R);return{pathname:x.pathname,search:x.search,hash:x.hash}},push:y,replace:g,go(R){return i.go(R)}};return P}function Ln(e,t=!1){let r="http://localhost";typeof window<"u"&&(r=window.location.origin!=="null"?window.location.origin:window.location.href),B(r,"No window.location.(origin|href) available to create URL");let n=typeof e=="string"?e:Me(e);return n=n.replace(/ $/,"%20"),!t&&n.startsWith("//")&&(n=r+n),new URL(n,r)}var st,qr=class{constructor(e){if(Ba(this,st,new Map),e)for(let[t,r]of e)this.set(t,r)}get(e){if(Xt(this,st).has(e))return Xt(this,st).get(e);if(e.defaultValue!==void 0)return e.defaultValue;throw new Error("No value found for context")}set(e,t){Xt(this,st).set(e,t)}};st=new WeakMap;var Va=new Set(["lazy","caseSensitive","path","id","index","children"]);function Ja(e){return Va.has(e)}var Ga=new Set(["lazy","caseSensitive","path","id","index","middleware","children"]);function Ka(e){return Ga.has(e)}function Xa(e){return e.index===!0}function dt(e,t,r=[],n={},a=!1){return e.map((o,i)=>{let l=[...r,String(i)],s=typeof o.id=="string"?o.id:l.join("-");if(B(o.index!==!0||!o.children,"Cannot specify children on an index route"),B(a||!n[s],`Found a route id collision on id "${s}". Route id's must be globally unique within Data Router usages`),Xa(o)){let u={...o,id:s};return n[s]=Qr(u,t(u)),u}else{let u={...o,id:s,children:void 0};return n[s]=Qr(u,t(u)),o.children&&(u.children=dt(o.children,t,l,n,a)),u}})}function Qr(e,t){return Object.assign(e,{...t,...typeof t.lazy=="object"&&t.lazy!=null?{lazy:{...e.lazy,...t.lazy}}:{}})}function Ae(e,t,r="/"){return ut(e,t,r,!1)}function ut(e,t,r,n){let a=typeof t=="string"?ke(t):t,o=Ee(a.pathname||"/",r);if(o==null)return null;let i=Tn(e);qa(i);let l=null;for(let s=0;l==null&&s<i.length;++s){let u=lo(o);l=io(i[s],u,n)}return l}function Mn(e,t){let{route:r,pathname:n,params:a}=e;return{id:r.id,pathname:n,params:a,data:t[r.id],loaderData:t[r.id],handle:r.handle}}function Tn(e,t=[],r=[],n="",a=!1){let o=(i,l,s=a,u)=>{let h={relativePath:u===void 0?i.path||"":u,caseSensitive:i.caseSensitive===!0,childrenIndex:l,route:i};if(h.relativePath.startsWith("/")){if(!h.relativePath.startsWith(n)&&s)return;B(h.relativePath.startsWith(n),`Absolute route path "${h.relativePath}" nested under path "${n}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),h.relativePath=h.relativePath.slice(n.length)}let c=Le([n,h.relativePath]),y=r.concat(h);i.children&&i.children.length>0&&(B(i.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${c}".`),Tn(i.children,t,y,c,s)),!(i.path==null&&!i.index)&&t.push({path:c,score:ao(c,i.index),routesMeta:y})};return e.forEach((i,l)=>{if(i.path===""||!i.path?.includes("?"))o(i,l);else for(let s of Dn(i.path))o(i,l,!0,s)}),t}function Dn(e){let t=e.split("/");if(t.length===0)return[];let[r,...n]=t,a=r.endsWith("?"),o=r.replace(/\?$/,"");if(n.length===0)return a?[o,""]:[o];let i=Dn(n.join("/")),l=[];return l.push(...i.map(s=>s===""?o:[o,s].join("/"))),a&&l.push(...i),l.map(s=>e.startsWith("/")&&s===""?"/":s)}function qa(e){e.sort((t,r)=>t.score!==r.score?r.score-t.score:oo(t.routesMeta.map(n=>n.childrenIndex),r.routesMeta.map(n=>n.childrenIndex)))}var Qa=/^:[\w-]+$/,Za=3,eo=2,to=1,ro=10,no=-2,Zr=e=>e==="*";function ao(e,t){let r=e.split("/"),n=r.length;return r.some(Zr)&&(n+=no),t&&(n+=eo),r.filter(a=>!Zr(a)).reduce((a,o)=>a+(Qa.test(o)?Za:o===""?to:ro),n)}function oo(e,t){return e.length===t.length&&e.slice(0,-1).every((n,a)=>n===t[a])?e[e.length-1]-t[t.length-1]:0}function io(e,t,r=!1){let{routesMeta:n}=e,a={},o="/",i=[];for(let l=0;l<n.length;++l){let s=n[l],u=l===n.length-1,h=o==="/"?t:t.slice(o.length)||"/",c=At({path:s.relativePath,caseSensitive:s.caseSensitive,end:u},h),y=s.route;if(!c&&u&&r&&!n[n.length-1].route.index&&(c=At({path:s.relativePath,caseSensitive:s.caseSensitive,end:!1},h)),!c)return null;Object.assign(a,c.params),i.push({params:a,pathname:Le([o,c.pathname]),pathnameBase:fo(Le([o,c.pathnameBase])),route:y}),c.pathnameBase!=="/"&&(o=Le([o,c.pathnameBase]))}return i}function At(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[r,n]=_n(e.path,e.caseSensitive,e.end),a=t.match(r);if(!a)return null;let o=a[0],i=o.replace(/(.)\/+$/,"$1"),l=a.slice(1);return{params:n.reduce((u,{paramName:h,isOptional:c},y)=>{if(h==="*"){let E=l[y]||"";i=o.slice(0,o.length-E.length).replace(/(.)\/+$/,"$1")}const g=l[y];return c&&!g?u[h]=void 0:u[h]=(g||"").replace(/%2F/g,"/"),u},{}),pathname:o,pathnameBase:i,pattern:e}}function _n(e,t=!1,r=!0){ie(e==="*"||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let n=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(i,l,s)=>(n.push({paramName:l,isOptional:s!=null}),s?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(n.push({paramName:"*"}),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?a+="\\/*$":e!==""&&e!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),n]}function lo(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return ie(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function Ee(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith("/")?t.length-1:t.length,n=e.charAt(r);return n&&n!=="/"?null:e.slice(r)||"/"}function so({basename:e,pathname:t}){return t==="/"?e:Le([e,t])}var uo=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,kt=e=>uo.test(e);function co(e,t="/"){let{pathname:r,search:n="",hash:a=""}=typeof e=="string"?ke(e):e,o;if(r)if(kt(r))o=r;else{if(r.includes("//")){let i=r;r=r.replace(/\/\/+/g,"/"),ie(!1,`Pathnames cannot have embedded double slashes - normalizing ${i} -> ${r}`)}r.startsWith("/")?o=en(r.substring(1),"/"):o=en(r,t)}else o=t;return{pathname:o,search:ho(n),hash:mo(a)}}function en(e,t){let r=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(a=>{a===".."?r.length>1&&r.pop():a!=="."&&r.push(a)}),r.length>1?r.join("/"):"/"}function qt(e,t,r,n){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(n)}]. Please separate it out to the \`to.${r}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function On(e){return e.filter((t,r)=>r===0||t.route.path&&t.route.path.length>0)}function yr(e){let t=On(e);return t.map((r,n)=>n===t.length-1?r.pathname:r.pathnameBase)}function vr(e,t,r,n=!1){let a;typeof e=="string"?a=ke(e):(a={...e},B(!a.pathname||!a.pathname.includes("?"),qt("?","pathname","search",a)),B(!a.pathname||!a.pathname.includes("#"),qt("#","pathname","hash",a)),B(!a.search||!a.search.includes("#"),qt("#","search","hash",a)));let o=e===""||a.pathname==="",i=o?"/":a.pathname,l;if(i==null)l=r;else{let c=t.length-1;if(!n&&i.startsWith("..")){let y=i.split("/");for(;y[0]==="..";)y.shift(),c-=1;a.pathname=y.join("/")}l=c>=0?t[c]:"/"}let s=co(a,l),u=i&&i!=="/"&&i.endsWith("/"),h=(o||i===".")&&r.endsWith("/");return!s.pathname.endsWith("/")&&(u||h)&&(s.pathname+="/"),s}var Le=e=>e.join("/").replace(/\/\/+/g,"/"),fo=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),ho=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,mo=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,po=class{constructor(e,t){this.type="DataWithResponseInit",this.data=e,this.init=t||null}};function yo(e,t){return new po(e,typeof t=="number"?{status:t}:t)}var vo=(e,t=302)=>{let r=t;typeof r=="number"?r={status:r}:typeof r.status>"u"&&(r.status=302);let n=new Headers(r.headers);return n.set("Location",e),new Response(null,{...r,headers:n})},Ye=class{constructor(e,t,r,n=!1){this.status=e,this.statusText=t||"",this.internal=n,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}};function We(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}function ht(e){return e.map(t=>t.route.path).filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/"}var Fe=Symbol("Uninstrumented");function go(e,t){let r={lazy:[],"lazy.loader":[],"lazy.action":[],"lazy.middleware":[],middleware:[],loader:[],action:[]};e.forEach(a=>a({id:t.id,index:t.index,path:t.path,instrument(o){let i=Object.keys(r);for(let l of i)o[l]&&r[l].push(o[l])}}));let n={};if(typeof t.lazy=="function"&&r.lazy.length>0){let a=Xe(r.lazy,t.lazy,()=>{});a&&(n.lazy=a)}if(typeof t.lazy=="object"){let a=t.lazy;["middleware","loader","action"].forEach(o=>{let i=a[o],l=r[`lazy.${o}`];if(typeof i=="function"&&l.length>0){let s=Xe(l,i,()=>{});s&&(n.lazy=Object.assign(n.lazy||{},{[o]:s}))}})}return["loader","action"].forEach(a=>{let o=t[a];if(typeof o=="function"&&r[a].length>0){let i=o[Fe]??o,l=Xe(r[a],i,(...s)=>tn(s[0]));l&&(l[Fe]=i,n[a]=l)}}),t.middleware&&t.middleware.length>0&&r.middleware.length>0&&(n.middleware=t.middleware.map(a=>{let o=a[Fe]??a,i=Xe(r.middleware,o,(...l)=>tn(l[0]));return i?(i[Fe]=o,i):a})),n}function wo(e,t){let r={navigate:[],fetch:[]};if(t.forEach(n=>n({instrument(a){let o=Object.keys(a);for(let i of o)a[i]&&r[i].push(a[i])}})),r.navigate.length>0){let n=e.navigate[Fe]??e.navigate,a=Xe(r.navigate,n,(...o)=>{let[i,l]=o;return{to:typeof i=="number"||typeof i=="string"?i:i?Me(i):".",...rn(e,l??{})}});a&&(a[Fe]=n,e.navigate=a)}if(r.fetch.length>0){let n=e.fetch[Fe]??e.fetch,a=Xe(r.fetch,n,(...o)=>{let[i,,l,s]=o;return{href:l??".",fetcherKey:i,...rn(e,s??{})}});a&&(a[Fe]=n,e.fetch=a)}return e}function Xe(e,t,r){return e.length===0?null:async(...n)=>{let a=await An(e,r(...n),()=>t(...n),e.length-1);if(a.type==="error")throw a.value;return a.value}}async function An(e,t,r,n){let a=e[n],o;if(a){let i,l=async()=>(i?console.error("You cannot call instrumented handlers more than once"):i=An(e,t,r,n-1),o=await i,B(o,"Expected a result"),o.type==="error"&&o.value instanceof Error?{status:"error",error:o.value}:{status:"success",error:void 0});try{await a(l,t)}catch(s){console.error("An instrumentation function threw an error:",s)}i||await l(),await i}else try{o={type:"success",value:await r()}}catch(i){o={type:"error",value:i}}return o||{type:"error",value:new Error("No result assigned in instrumentation chain.")}}function tn(e){let{request:t,context:r,params:n,unstable_pattern:a}=e;return{request:Eo(t),params:{...n},unstable_pattern:a,context:Ro(r)}}function rn(e,t){return{currentUrl:Me(e.state.location),..."formMethod"in t?{formMethod:t.formMethod}:{},..."formEncType"in t?{formEncType:t.formEncType}:{},..."formData"in t?{formData:t.formData}:{},..."body"in t?{body:t.body}:{}}}function Eo(e){return{method:e.method,url:e.url,headers:{get:(...t)=>e.headers.get(...t)}}}function Ro(e){if(So(e)){let t={...e};return Object.freeze(t),t}else return{get:t=>e.get(t)}}var bo=Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function So(e){if(e===null||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t===Object.prototype||t===null||Object.getOwnPropertyNames(t).sort().join("\0")===bo}var Nn=["POST","PUT","PATCH","DELETE"],xo=new Set(Nn),Co=["GET",...Nn],Po=new Set(Co),Lo=new Set([301,302,303,307,308]),Mo=new Set([307,308]),Qt={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},In={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},ot={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},To=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),Fn="remix-router-transitions",kn=Symbol("ResetLoaderData");function es(e){const t=e.window?e.window:typeof window<"u"?window:void 0,r=typeof t<"u"&&typeof t.document<"u"&&typeof t.document.createElement<"u";B(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let n=e.hydrationRouteProperties||[],a=e.mapRouteProperties||To,o=a;if(e.unstable_instrumentations){let d=e.unstable_instrumentations;o=v=>({...a(v),...go(d.map(w=>w.route).filter(Boolean),v)})}let i={},l=dt(e.routes,o,void 0,i),s,u=e.basename||"/";u.startsWith("/")||(u=`/${u}`);let h=e.dataStrategy||No,c={...e.future},y=null,g=new Set,E=null,P=null,R=null,x=e.hydrationData!=null,b=Ae(l,e.history.location,u),T=!1,D=null,M;if(b==null&&!e.patchRoutesOnNavigation){let d=Se(404,{pathname:e.history.location.pathname}),{matches:v,route:w}=St(l);M=!0,b=v,D={[w.id]:d}}else if(b&&!e.hydrationData&&gt(b,l,e.history.location.pathname).active&&(b=null),b)if(b.some(d=>d.route.lazy))M=!1;else if(!b.some(d=>gr(d.route)))M=!0;else{let d=e.hydrationData?e.hydrationData.loaderData:null,v=e.hydrationData?e.hydrationData.errors:null;if(v){let w=b.findIndex(C=>v[C.route.id]!==void 0);M=b.slice(0,w+1).every(C=>!or(C.route,d,v))}else M=b.every(w=>!or(w.route,d,v))}else{M=!1,b=[];let d=gt(null,l,e.history.location.pathname);d.active&&d.matches&&(T=!0,b=d.matches)}let _,m={historyAction:e.history.action,location:e.history.location,matches:b,initialized:M,navigation:Qt,restoreScrollPosition:e.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||D,fetchers:new Map,blockers:new Map},W="POP",Y=null,G=!1,H,se=!1,Z=new Map,q=null,ne=!1,te=!1,ue=new Set,ee=new Map,fe=0,be=-1,p=new Map,S=new Set,F=new Map,U=new Map,V=new Set,J=new Map,Q,he=null;function me(){if(y=e.history.listen(({action:d,location:v,delta:w})=>{if(Q){Q(),Q=void 0;return}ie(J.size===0||w!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let C=Ur({currentLocation:m.location,nextLocation:v,historyAction:d});if(C&&w!=null){let L=new Promise(A=>{Q=A});e.history.go(w*-1),vt(C,{state:"blocked",location:v,proceed(){vt(C,{state:"proceeding",proceed:void 0,reset:void 0,location:v}),L.then(()=>e.history.go(w))},reset(){let A=new Map(m.blockers);A.set(C,ot),pe({blockers:A})}}),Y?.resolve(),Y=null;return}return $e(d,v)}),r){Xo(t,Z);let d=()=>qo(t,Z);t.addEventListener("pagehide",d),q=()=>t.removeEventListener("pagehide",d)}return m.initialized||$e("POP",m.location,{initialHydration:!0}),_}function Bt(){y&&y(),q&&q(),g.clear(),H&&H.abort(),m.fetchers.forEach((d,v)=>Yt(v)),m.blockers.forEach((d,v)=>jr(v))}function ga(d){return g.add(d),()=>g.delete(d)}function pe(d,v={}){d.matches&&(d.matches=d.matches.map(L=>{let A=i[L.route.id],N=L.route;return N.element!==A.element||N.errorElement!==A.errorElement||N.hydrateFallbackElement!==A.hydrateFallbackElement?{...L,route:A}:L})),m={...m,...d};let w=[],C=[];m.fetchers.forEach((L,A)=>{L.state==="idle"&&(V.has(A)?w.push(A):C.push(A))}),V.forEach(L=>{!m.fetchers.has(L)&&!ee.has(L)&&w.push(L)}),[...g].forEach(L=>L(m,{deletedFetchers:w,newErrors:d.errors??null,viewTransitionOpts:v.viewTransitionOpts,flushSync:v.flushSync===!0})),w.forEach(L=>Yt(L)),C.forEach(L=>m.fetchers.delete(L))}function Je(d,v,{flushSync:w}={}){let C=m.actionData!=null&&m.navigation.formMethod!=null&&ve(m.navigation.formMethod)&&m.navigation.state==="loading"&&d.state?._isRedirect!==!0,L;v.actionData?Object.keys(v.actionData).length>0?L=v.actionData:L=null:C?L=m.actionData:L=null;let A=v.loaderData?hn(m.loaderData,v.loaderData,v.matches||[],v.errors):m.loaderData,N=m.blockers;N.size>0&&(N=new Map(N),N.forEach((k,$)=>N.set($,ot)));let O=ne?!1:zr(d,v.matches||m.matches),I=G===!0||m.navigation.formMethod!=null&&ve(m.navigation.formMethod)&&d.state?._isRedirect!==!0;s&&(l=s,s=void 0),ne||W==="POP"||(W==="PUSH"?e.history.push(d,d.state):W==="REPLACE"&&e.history.replace(d,d.state));let j;if(W==="POP"){let k=Z.get(m.location.pathname);k&&k.has(d.pathname)?j={currentLocation:m.location,nextLocation:d}:Z.has(d.pathname)&&(j={currentLocation:d,nextLocation:m.location})}else if(se){let k=Z.get(m.location.pathname);k?k.add(d.pathname):(k=new Set([d.pathname]),Z.set(m.location.pathname,k)),j={currentLocation:m.location,nextLocation:d}}pe({...v,actionData:L,loaderData:A,historyAction:W,location:d,initialized:!0,navigation:Qt,revalidation:"idle",restoreScrollPosition:O,preventScrollReset:I,blockers:N},{viewTransitionOpts:j,flushSync:w===!0}),W="POP",G=!1,se=!1,ne=!1,te=!1,Y?.resolve(),Y=null,he?.resolve(),he=null}async function Or(d,v){if(Y?.resolve(),Y=null,typeof d=="number"){Y||(Y=yn());let re=Y.promise;return e.history.go(d),re}let w=ar(m.location,m.matches,u,d,v?.fromRouteId,v?.relative),{path:C,submission:L,error:A}=nn(!1,w,v),N=m.location,O=ct(m.location,C,v&&v.state);O={...O,...e.history.encodeLocation(O)};let I=v&&v.replace!=null?v.replace:void 0,j="PUSH";I===!0?j="REPLACE":I===!1||L!=null&&ve(L.formMethod)&&L.formAction===m.location.pathname+m.location.search&&(j="REPLACE");let k=v&&"preventScrollReset"in v?v.preventScrollReset===!0:void 0,$=(v&&v.flushSync)===!0,K=Ur({currentLocation:N,nextLocation:O,historyAction:j});if(K){vt(K,{state:"blocked",location:O,proceed(){vt(K,{state:"proceeding",proceed:void 0,reset:void 0,location:O}),Or(d,v)},reset(){let re=new Map(m.blockers);re.set(K,ot),pe({blockers:re})}});return}await $e(j,O,{submission:L,pendingError:A,preventScrollReset:k,replace:v&&v.replace,enableViewTransition:v&&v.viewTransition,flushSync:$})}function wa(){he||(he=yn()),Wt(),pe({revalidation:"loading"});let d=he.promise;return m.navigation.state==="submitting"?d:m.navigation.state==="idle"?($e(m.historyAction,m.location,{startUninterruptedRevalidation:!0}),d):($e(W||m.historyAction,m.navigation.location,{overrideNavigation:m.navigation,enableViewTransition:se===!0}),d)}async function $e(d,v,w){H&&H.abort(),H=null,W=d,ne=(w&&w.startUninterruptedRevalidation)===!0,Da(m.location,m.matches),G=(w&&w.preventScrollReset)===!0,se=(w&&w.enableViewTransition)===!0;let C=s||l,L=w&&w.overrideNavigation,A=w?.initialHydration&&m.matches&&m.matches.length>0&&!T?m.matches:Ae(C,v,u),N=(w&&w.flushSync)===!0;if(A&&m.initialized&&!te&&zo(m.location,v)&&!(w&&w.submission&&ve(w.submission.formMethod))){Je(v,{matches:A},{flushSync:N});return}let O=gt(A,C,v.pathname);if(O.active&&O.matches&&(A=O.matches),!A){let{error:de,notFoundMatches:ae,route:oe}=Vt(v.pathname);Je(v,{matches:ae,loaderData:{},errors:{[oe.id]:de}},{flushSync:N});return}H=new AbortController;let I=Ke(e.history,v,H.signal,w&&w.submission),j=e.getContext?await e.getContext():new qr,k;if(w&&w.pendingError)k=[Ie(A).route.id,{type:"error",error:w.pendingError}];else if(w&&w.submission&&ve(w.submission.formMethod)){let de=await Ea(I,v,w.submission,A,j,O.active,w&&w.initialHydration===!0,{replace:w.replace,flushSync:N});if(de.shortCircuited)return;if(de.pendingActionResult){let[ae,oe]=de.pendingActionResult;if(we(oe)&&We(oe.error)&&oe.error.status===404){H=null,Je(v,{matches:de.matches,loaderData:{},errors:{[ae]:oe.error}});return}}A=de.matches||A,k=de.pendingActionResult,L=Zt(v,w.submission),N=!1,O.active=!1,I=Ke(e.history,I.url,I.signal)}let{shortCircuited:$,matches:K,loaderData:re,errors:ce}=await Ra(I,v,A,j,O.active,L,w&&w.submission,w&&w.fetcherSubmission,w&&w.replace,w&&w.initialHydration===!0,N,k);$||(H=null,Je(v,{matches:K||A,...mn(k),loaderData:re,errors:ce}))}async function Ea(d,v,w,C,L,A,N,O={}){Wt();let I=Go(v,w);if(pe({navigation:I},{flushSync:O.flushSync===!0}),A){let $=await wt(C,v.pathname,d.signal);if($.type==="aborted")return{shortCircuited:!0};if($.type==="error"){if($.partialMatches.length===0){let{matches:re,route:ce}=St(l);return{matches:re,pendingActionResult:[ce.id,{type:"error",error:$.error}]}}let K=Ie($.partialMatches).route.id;return{matches:$.partialMatches,pendingActionResult:[K,{type:"error",error:$.error}]}}else if($.matches)C=$.matches;else{let{notFoundMatches:K,error:re,route:ce}=Vt(v.pathname);return{matches:K,pendingActionResult:[ce.id,{type:"error",error:re}]}}}let j,k=Tt(C,v);if(!k.route.action&&!k.route.lazy)j={type:"error",error:Se(405,{method:d.method,pathname:v.pathname,routeId:k.route.id})};else{let $=qe(o,i,d,C,k,N?[]:n,L),K=await tt(d,$,L,null);if(j=K[k.route.id],!j){for(let re of C)if(K[re.route.id]){j=K[re.route.id];break}}if(d.signal.aborted)return{shortCircuited:!0}}if(Be(j)){let $;return O&&O.replace!=null?$=O.replace:$=cn(j.response.headers.get("Location"),new URL(d.url),u)===m.location.pathname+m.location.search,await je(d,j,!0,{submission:w,replace:$}),{shortCircuited:!0}}if(we(j)){let $=Ie(C,k.route.id);return(O&&O.replace)!==!0&&(W="PUSH"),{matches:C,pendingActionResult:[$.route.id,j,k.route.id]}}return{matches:C,pendingActionResult:[k.route.id,j]}}async function Ra(d,v,w,C,L,A,N,O,I,j,k,$){let K=A||Zt(v,N),re=N||O||pn(K),ce=!ne&&!j;if(L){if(ce){let ye=Ar($);pe({navigation:K,...ye!==void 0?{actionData:ye}:{}},{flushSync:k})}let X=await wt(w,v.pathname,d.signal);if(X.type==="aborted")return{shortCircuited:!0};if(X.type==="error"){if(X.partialMatches.length===0){let{matches:Ge,route:ze}=St(l);return{matches:Ge,loaderData:{},errors:{[ze.id]:X.error}}}let ye=Ie(X.partialMatches).route.id;return{matches:X.partialMatches,loaderData:{},errors:{[ye]:X.error}}}else if(X.matches)w=X.matches;else{let{error:ye,notFoundMatches:Ge,route:ze}=Vt(v.pathname);return{matches:Ge,loaderData:{},errors:{[ze.id]:ye}}}}let de=s||l,{dsMatches:ae,revalidatingFetchers:oe}=an(d,C,o,i,e.history,m,w,re,v,j?[]:n,j===!0,te,ue,V,F,S,de,u,e.patchRoutesOnNavigation!=null,$);if(be=++fe,!e.dataStrategy&&!ae.some(X=>X.shouldLoad)&&!ae.some(X=>X.route.middleware&&X.route.middleware.length>0)&&oe.length===0){let X=kr();return Je(v,{matches:w,loaderData:{},errors:$&&we($[1])?{[$[0]]:$[1].error}:null,...mn($),...X?{fetchers:new Map(m.fetchers)}:{}},{flushSync:k}),{shortCircuited:!0}}if(ce){let X={};if(!L){X.navigation=K;let ye=Ar($);ye!==void 0&&(X.actionData=ye)}oe.length>0&&(X.fetchers=ba(oe)),pe(X,{flushSync:k})}oe.forEach(X=>{_e(X.key),X.controller&&ee.set(X.key,X.controller)});let Ue=()=>oe.forEach(X=>_e(X.key));H&&H.signal.addEventListener("abort",Ue);let{loaderResults:rt,fetcherResults:Ne}=await Nr(ae,oe,d,C);if(d.signal.aborted)return{shortCircuited:!0};H&&H.signal.removeEventListener("abort",Ue),oe.forEach(X=>ee.delete(X.key));let Pe=xt(rt);if(Pe)return await je(d,Pe.result,!0,{replace:I}),{shortCircuited:!0};if(Pe=xt(Ne),Pe)return S.add(Pe.key),await je(d,Pe.result,!0,{replace:I}),{shortCircuited:!0};let{loaderData:Jt,errors:nt}=fn(m,w,rt,$,oe,Ne);j&&m.errors&&(nt={...m.errors,...nt});let He=kr(),Et=$r(be),Rt=He||Et||oe.length>0;return{matches:w,loaderData:Jt,errors:nt,...Rt?{fetchers:new Map(m.fetchers)}:{}}}function Ar(d){if(d&&!we(d[1]))return{[d[0]]:d[1].data};if(m.actionData)return Object.keys(m.actionData).length===0?null:m.actionData}function ba(d){return d.forEach(v=>{let w=m.fetchers.get(v.key),C=it(void 0,w?w.data:void 0);m.fetchers.set(v.key,C)}),new Map(m.fetchers)}async function Sa(d,v,w,C){_e(d);let L=(C&&C.flushSync)===!0,A=s||l,N=ar(m.location,m.matches,u,w,v,C?.relative),O=Ae(A,N,u),I=gt(O,A,N);if(I.active&&I.matches&&(O=I.matches),!O){De(d,v,Se(404,{pathname:N}),{flushSync:L});return}let{path:j,submission:k,error:$}=nn(!0,N,C);if($){De(d,v,$,{flushSync:L});return}let K=e.getContext?await e.getContext():new qr,re=(C&&C.preventScrollReset)===!0;if(k&&ve(k.formMethod)){await xa(d,v,j,O,K,I.active,L,re,k);return}F.set(d,{routeId:v,path:j}),await Ca(d,v,j,O,K,I.active,L,re,k)}async function xa(d,v,w,C,L,A,N,O,I){Wt(),F.delete(d);let j=m.fetchers.get(d);Te(d,Ko(I,j),{flushSync:N});let k=new AbortController,$=Ke(e.history,w,k.signal,I);if(A){let le=await wt(C,new URL($.url).pathname,$.signal,d);if(le.type==="aborted")return;if(le.type==="error"){De(d,v,le.error,{flushSync:N});return}else if(le.matches)C=le.matches;else{De(d,v,Se(404,{pathname:w}),{flushSync:N});return}}let K=Tt(C,w);if(!K.route.action&&!K.route.lazy){let le=Se(405,{method:I.formMethod,pathname:w,routeId:v});De(d,v,le,{flushSync:N});return}ee.set(d,k);let re=fe,ce=qe(o,i,$,C,K,n,L),de=await tt($,ce,L,d),ae=de[K.route.id];if(!ae){for(let le of ce)if(de[le.route.id]){ae=de[le.route.id];break}}if($.signal.aborted){ee.get(d)===k&&ee.delete(d);return}if(V.has(d)){if(Be(ae)||we(ae)){Te(d,Oe(void 0));return}}else{if(Be(ae))if(ee.delete(d),be>re){Te(d,Oe(void 0));return}else return S.add(d),Te(d,it(I)),je($,ae,!1,{fetcherSubmission:I,preventScrollReset:O});if(we(ae)){De(d,v,ae.error);return}}let oe=m.navigation.location||m.location,Ue=Ke(e.history,oe,k.signal),rt=s||l,Ne=m.navigation.state!=="idle"?Ae(rt,m.navigation.location,u):m.matches;B(Ne,"Didn't find any matches after fetcher action");let Pe=++fe;p.set(d,Pe);let Jt=it(I,ae.data);m.fetchers.set(d,Jt);let{dsMatches:nt,revalidatingFetchers:He}=an(Ue,L,o,i,e.history,m,Ne,I,oe,n,!1,te,ue,V,F,S,rt,u,e.patchRoutesOnNavigation!=null,[K.route.id,ae]);He.filter(le=>le.key!==d).forEach(le=>{let bt=le.key,Wr=m.fetchers.get(bt),Aa=it(void 0,Wr?Wr.data:void 0);m.fetchers.set(bt,Aa),_e(bt),le.controller&&ee.set(bt,le.controller)}),pe({fetchers:new Map(m.fetchers)});let Et=()=>He.forEach(le=>_e(le.key));k.signal.addEventListener("abort",Et);let{loaderResults:Rt,fetcherResults:X}=await Nr(nt,He,Ue,L);if(k.signal.aborted)return;if(k.signal.removeEventListener("abort",Et),p.delete(d),ee.delete(d),He.forEach(le=>ee.delete(le.key)),m.fetchers.has(d)){let le=Oe(ae.data);m.fetchers.set(d,le)}let ye=xt(Rt);if(ye)return je(Ue,ye.result,!1,{preventScrollReset:O});if(ye=xt(X),ye)return S.add(ye.key),je(Ue,ye.result,!1,{preventScrollReset:O});let{loaderData:Ge,errors:ze}=fn(m,Ne,Rt,void 0,He,X);$r(Pe),m.navigation.state==="loading"&&Pe>be?(B(W,"Expected pending action"),H&&H.abort(),Je(m.navigation.location,{matches:Ne,loaderData:Ge,errors:ze,fetchers:new Map(m.fetchers)})):(pe({errors:ze,loaderData:hn(m.loaderData,Ge,Ne,ze),fetchers:new Map(m.fetchers)}),te=!1)}async function Ca(d,v,w,C,L,A,N,O,I){let j=m.fetchers.get(d);Te(d,it(I,j?j.data:void 0),{flushSync:N});let k=new AbortController,$=Ke(e.history,w,k.signal);if(A){let oe=await wt(C,new URL($.url).pathname,$.signal,d);if(oe.type==="aborted")return;if(oe.type==="error"){De(d,v,oe.error,{flushSync:N});return}else if(oe.matches)C=oe.matches;else{De(d,v,Se(404,{pathname:w}),{flushSync:N});return}}let K=Tt(C,w);ee.set(d,k);let re=fe,ce=qe(o,i,$,C,K,n,L),ae=(await tt($,ce,L,d))[K.route.id];if(ee.get(d)===k&&ee.delete(d),!$.signal.aborted){if(V.has(d)){Te(d,Oe(void 0));return}if(Be(ae))if(be>re){Te(d,Oe(void 0));return}else{S.add(d),await je($,ae,!1,{preventScrollReset:O});return}if(we(ae)){De(d,v,ae.error);return}Te(d,Oe(ae.data))}}async function je(d,v,w,{submission:C,fetcherSubmission:L,preventScrollReset:A,replace:N}={}){w||(Y?.resolve(),Y=null),v.response.headers.has("X-Remix-Revalidate")&&(te=!0);let O=v.response.headers.get("Location");B(O,"Expected a Location header on the redirect Response"),O=cn(O,new URL(d.url),u);let I=ct(m.location,O,{_isRedirect:!0});if(r){let ce=!1;if(v.response.headers.has("X-Remix-Reload-Document"))ce=!0;else if(kt(O)){const de=Ln(O,!0);ce=de.origin!==t.location.origin||Ee(de.pathname,u)==null}if(ce){N?t.location.replace(O):t.location.assign(O);return}}H=null;let j=N===!0||v.response.headers.has("X-Remix-Replace")?"REPLACE":"PUSH",{formMethod:k,formAction:$,formEncType:K}=m.navigation;!C&&!L&&k&&$&&K&&(C=pn(m.navigation));let re=C||L;if(Mo.has(v.response.status)&&re&&ve(re.formMethod))await $e(j,I,{submission:{...re,formAction:O},preventScrollReset:A||G,enableViewTransition:w?se:void 0});else{let ce=Zt(I,C);await $e(j,I,{overrideNavigation:ce,fetcherSubmission:L,preventScrollReset:A||G,enableViewTransition:w?se:void 0})}}async function tt(d,v,w,C){let L,A={};try{L=await Fo(h,d,v,C,w,!1)}catch(N){return v.filter(O=>O.shouldLoad).forEach(O=>{A[O.route.id]={type:"error",error:N}}),A}if(d.signal.aborted)return A;for(let[N,O]of Object.entries(L))if(Vo(O)){let I=O.result;A[N]={type:"redirect",response:Uo(I,d,N,v,u)}}else A[N]=await jo(O);return A}async function Nr(d,v,w,C){let L=tt(w,d,C,null),A=Promise.all(v.map(async I=>{if(I.matches&&I.match&&I.request&&I.controller){let k=(await tt(I.request,I.matches,C,I.key))[I.match.route.id];return{[I.key]:k}}else return Promise.resolve({[I.key]:{type:"error",error:Se(404,{pathname:I.path})}})})),N=await L,O=(await A).reduce((I,j)=>Object.assign(I,j),{});return{loaderResults:N,fetcherResults:O}}function Wt(){te=!0,F.forEach((d,v)=>{ee.has(v)&&ue.add(v),_e(v)})}function Te(d,v,w={}){m.fetchers.set(d,v),pe({fetchers:new Map(m.fetchers)},{flushSync:(w&&w.flushSync)===!0})}function De(d,v,w,C={}){let L=Ie(m.matches,v);Yt(d),pe({errors:{[L.route.id]:w},fetchers:new Map(m.fetchers)},{flushSync:(C&&C.flushSync)===!0})}function Ir(d){return U.set(d,(U.get(d)||0)+1),V.has(d)&&V.delete(d),m.fetchers.get(d)||In}function Pa(d,v){_e(d,v?.reason),Te(d,Oe(null))}function Yt(d){let v=m.fetchers.get(d);ee.has(d)&&!(v&&v.state==="loading"&&p.has(d))&&_e(d),F.delete(d),p.delete(d),S.delete(d),V.delete(d),ue.delete(d),m.fetchers.delete(d)}function La(d){let v=(U.get(d)||0)-1;v<=0?(U.delete(d),V.add(d)):U.set(d,v),pe({fetchers:new Map(m.fetchers)})}function _e(d,v){let w=ee.get(d);w&&(w.abort(v),ee.delete(d))}function Fr(d){for(let v of d){let w=Ir(v),C=Oe(w.data);m.fetchers.set(v,C)}}function kr(){let d=[],v=!1;for(let w of S){let C=m.fetchers.get(w);B(C,`Expected fetcher: ${w}`),C.state==="loading"&&(S.delete(w),d.push(w),v=!0)}return Fr(d),v}function $r(d){let v=[];for(let[w,C]of p)if(C<d){let L=m.fetchers.get(w);B(L,`Expected fetcher: ${w}`),L.state==="loading"&&(_e(w),p.delete(w),v.push(w))}return Fr(v),v.length>0}function Ma(d,v){let w=m.blockers.get(d)||ot;return J.get(d)!==v&&J.set(d,v),w}function jr(d){m.blockers.delete(d),J.delete(d)}function vt(d,v){let w=m.blockers.get(d)||ot;B(w.state==="unblocked"&&v.state==="blocked"||w.state==="blocked"&&v.state==="blocked"||w.state==="blocked"&&v.state==="proceeding"||w.state==="blocked"&&v.state==="unblocked"||w.state==="proceeding"&&v.state==="unblocked",`Invalid blocker state transition: ${w.state} -> ${v.state}`);let C=new Map(m.blockers);C.set(d,v),pe({blockers:C})}function Ur({currentLocation:d,nextLocation:v,historyAction:w}){if(J.size===0)return;J.size>1&&ie(!1,"A router only supports one blocker at a time");let C=Array.from(J.entries()),[L,A]=C[C.length-1],N=m.blockers.get(L);if(!(N&&N.state==="proceeding")&&A({currentLocation:d,nextLocation:v,historyAction:w}))return L}function Vt(d){let v=Se(404,{pathname:d}),w=s||l,{matches:C,route:L}=St(w);return{notFoundMatches:C,route:L,error:v}}function Ta(d,v,w){if(E=d,R=v,P=w||null,!x&&m.navigation===Qt){x=!0;let C=zr(m.location,m.matches);C!=null&&pe({restoreScrollPosition:C})}return()=>{E=null,R=null,P=null}}function Hr(d,v){return P&&P(d,v.map(C=>Mn(C,m.loaderData)))||d.key}function Da(d,v){if(E&&R){let w=Hr(d,v);E[w]=R()}}function zr(d,v){if(E){let w=Hr(d,v),C=E[w];if(typeof C=="number")return C}return null}function gt(d,v,w){if(e.patchRoutesOnNavigation)if(d){if(Object.keys(d[0].params).length>0)return{active:!0,matches:ut(v,w,u,!0)}}else return{active:!0,matches:ut(v,w,u,!0)||[]};return{active:!1,matches:null}}async function wt(d,v,w,C){if(!e.patchRoutesOnNavigation)return{type:"success",matches:d};let L=d;for(;;){let A=s==null,N=s||l,O=i;try{await e.patchRoutesOnNavigation({signal:w,path:v,matches:L,fetcherKey:C,patch:(k,$)=>{w.aborted||on(k,$,N,O,o,!1)}})}catch(k){return{type:"error",error:k,partialMatches:L}}finally{A&&!w.aborted&&(l=[...l])}if(w.aborted)return{type:"aborted"};let I=Ae(N,v,u),j=null;if(I){if(Object.keys(I[0].params).length===0)return{type:"success",matches:I};if(j=ut(N,v,u,!0),!(j&&L.length<j.length&&Br(L,j.slice(0,L.length))))return{type:"success",matches:I}}if(j||(j=ut(N,v,u,!0)),!j||Br(L,j))return{type:"success",matches:null};L=j}}function Br(d,v){return d.length===v.length&&d.every((w,C)=>w.route.id===v[C].route.id)}function _a(d){i={},s=dt(d,o,void 0,i)}function Oa(d,v,w=!1){let C=s==null;on(d,v,s||l,i,o,w),C&&(l=[...l],pe({}))}return _={get basename(){return u},get future(){return c},get state(){return m},get routes(){return l},get window(){return t},initialize:me,subscribe:ga,enableScrollRestoration:Ta,navigate:Or,fetch:Sa,revalidate:wa,createHref:d=>e.history.createHref(d),encodeLocation:d=>e.history.encodeLocation(d),getFetcher:Ir,resetFetcher:Pa,deleteFetcher:La,dispose:Bt,getBlocker:Ma,deleteBlocker:jr,patchRoutes:Oa,_internalFetchControllers:ee,_internalSetRoutes:_a,_internalSetStateDoNotUseOrYouWillBreakYourApp(d){pe(d)}},e.unstable_instrumentations&&(_=wo(_,e.unstable_instrumentations.map(d=>d.router).filter(Boolean))),_}function Do(e){return e!=null&&("formData"in e&&e.formData!=null||"body"in e&&e.body!==void 0)}function ar(e,t,r,n,a,o){let i,l;if(a){i=[];for(let u of t)if(i.push(u),u.route.id===a){l=u;break}}else i=t,l=t[t.length-1];let s=vr(n||".",yr(i),Ee(e.pathname,r)||e.pathname,o==="path");if(n==null&&(s.search=e.search,s.hash=e.hash),(n==null||n===""||n===".")&&l){let u=Er(s.search);if(l.route.index&&!u)s.search=s.search?s.search.replace(/^\?/,"?index&"):"?index";else if(!l.route.index&&u){let h=new URLSearchParams(s.search),c=h.getAll("index");h.delete("index"),c.filter(g=>g).forEach(g=>h.append("index",g));let y=h.toString();s.search=y?`?${y}`:""}}return r!=="/"&&(s.pathname=so({basename:r,pathname:s.pathname})),Me(s)}function nn(e,t,r){if(!r||!Do(r))return{path:t};if(r.formMethod&&!Jo(r.formMethod))return{path:t,error:Se(405,{method:r.formMethod})};let n=()=>({path:t,error:Se(400,{type:"invalid-body"})}),o=(r.formMethod||"get").toUpperCase(),i=Bn(t);if(r.body!==void 0){if(r.formEncType==="text/plain"){if(!ve(o))return n();let c=typeof r.body=="string"?r.body:r.body instanceof FormData||r.body instanceof URLSearchParams?Array.from(r.body.entries()).reduce((y,[g,E])=>`${y}${g}=${E}
2
+ `,""):String(r.body);return{path:t,submission:{formMethod:o,formAction:i,formEncType:r.formEncType,formData:void 0,json:void 0,text:c}}}else if(r.formEncType==="application/json"){if(!ve(o))return n();try{let c=typeof r.body=="string"?JSON.parse(r.body):r.body;return{path:t,submission:{formMethod:o,formAction:i,formEncType:r.formEncType,formData:void 0,json:c,text:void 0}}}catch{return n()}}}B(typeof FormData=="function","FormData is not available in this environment");let l,s;if(r.formData)l=lr(r.formData),s=r.formData;else if(r.body instanceof FormData)l=lr(r.body),s=r.body;else if(r.body instanceof URLSearchParams)l=r.body,s=dn(l);else if(r.body==null)l=new URLSearchParams,s=new FormData;else try{l=new URLSearchParams(r.body),s=dn(l)}catch{return n()}let u={formMethod:o,formAction:i,formEncType:r&&r.formEncType||"application/x-www-form-urlencoded",formData:s,json:void 0,text:void 0};if(ve(u.formMethod))return{path:t,submission:u};let h=ke(t);return e&&h.search&&Er(h.search)&&l.append("index",""),h.search=`?${l}`,{path:Me(h),submission:u}}function an(e,t,r,n,a,o,i,l,s,u,h,c,y,g,E,P,R,x,b,T){let D=T?we(T[1])?T[1].error:T[1].data:void 0,M=a.createURL(o.location),_=a.createURL(s),m;if(h&&o.errors){let q=Object.keys(o.errors)[0];m=i.findIndex(ne=>ne.route.id===q)}else if(T&&we(T[1])){let q=T[0];m=i.findIndex(ne=>ne.route.id===q)-1}let W=T?T[1].statusCode:void 0,Y=W&&W>=400,G={currentUrl:M,currentParams:o.matches[0]?.params||{},nextUrl:_,nextParams:i[0].params,...l,actionResult:D,actionStatus:W},H=ht(i),se=i.map((q,ne)=>{let{route:te}=q,ue=null;if(m!=null&&ne>m?ue=!1:te.lazy?ue=!0:gr(te)?h?ue=or(te,o.loaderData,o.errors):_o(o.loaderData,o.matches[ne],q)&&(ue=!0):ue=!1,ue!==null)return ir(r,n,e,H,q,u,t,ue);let ee=Y?!1:c||M.pathname+M.search===_.pathname+_.search||M.search!==_.search||Oo(o.matches[ne],q),fe={...G,defaultShouldRevalidate:ee},be=Nt(q,fe);return ir(r,n,e,H,q,u,t,be,fe)}),Z=[];return E.forEach((q,ne)=>{if(h||!i.some(F=>F.route.id===q.routeId)||g.has(ne))return;let te=o.fetchers.get(ne),ue=te&&te.state!=="idle"&&te.data===void 0,ee=Ae(R,q.path,x);if(!ee){if(b&&ue)return;Z.push({key:ne,routeId:q.routeId,path:q.path,matches:null,match:null,request:null,controller:null});return}if(P.has(ne))return;let fe=Tt(ee,q.path),be=new AbortController,p=Ke(a,q.path,be.signal),S=null;if(y.has(ne))y.delete(ne),S=qe(r,n,p,ee,fe,u,t);else if(ue)c&&(S=qe(r,n,p,ee,fe,u,t));else{let F={...G,defaultShouldRevalidate:Y?!1:c};Nt(fe,F)&&(S=qe(r,n,p,ee,fe,u,t,F))}S&&Z.push({key:ne,routeId:q.routeId,path:q.path,matches:S,match:fe,request:p,controller:be})}),{dsMatches:se,revalidatingFetchers:Z}}function gr(e){return e.loader!=null||e.middleware!=null&&e.middleware.length>0}function or(e,t,r){if(e.lazy)return!0;if(!gr(e))return!1;let n=t!=null&&e.id in t,a=r!=null&&r[e.id]!==void 0;return!n&&a?!1:typeof e.loader=="function"&&e.loader.hydrate===!0?!0:!n&&!a}function _o(e,t,r){let n=!t||r.route.id!==t.route.id,a=!e.hasOwnProperty(r.route.id);return n||a}function Oo(e,t){let r=e.route.path;return e.pathname!==t.pathname||r!=null&&r.endsWith("*")&&e.params["*"]!==t.params["*"]}function Nt(e,t){if(e.route.shouldRevalidate){let r=e.route.shouldRevalidate(t);if(typeof r=="boolean")return r}return t.defaultShouldRevalidate}function on(e,t,r,n,a,o){let i;if(e){let u=n[e];B(u,`No route found to patch children into: routeId = ${e}`),u.children||(u.children=[]),i=u.children}else i=r;let l=[],s=[];if(t.forEach(u=>{let h=i.find(c=>$n(u,c));h?s.push({existingRoute:h,newRoute:u}):l.push(u)}),l.length>0){let u=dt(l,a,[e||"_","patch",String(i?.length||"0")],n);i.push(...u)}if(o&&s.length>0)for(let u=0;u<s.length;u++){let{existingRoute:h,newRoute:c}=s[u],y=h,[g]=dt([c],a,[],{},!0);Object.assign(y,{element:g.element?g.element:y.element,errorElement:g.errorElement?g.errorElement:y.errorElement,hydrateFallbackElement:g.hydrateFallbackElement?g.hydrateFallbackElement:y.hydrateFallbackElement})}}function $n(e,t){return"id"in e&&"id"in t&&e.id===t.id?!0:e.index===t.index&&e.path===t.path&&e.caseSensitive===t.caseSensitive?(!e.children||e.children.length===0)&&(!t.children||t.children.length===0)?!0:e.children.every((r,n)=>t.children?.some(a=>$n(r,a))):!1}var ln=new WeakMap,jn=({key:e,route:t,manifest:r,mapRouteProperties:n})=>{let a=r[t.id];if(B(a,"No route found in manifest"),!a.lazy||typeof a.lazy!="object")return;let o=a.lazy[e];if(!o)return;let i=ln.get(a);i||(i={},ln.set(a,i));let l=i[e];if(l)return l;let s=(async()=>{let u=Ja(e),c=a[e]!==void 0&&e!=="hasErrorBoundary";if(u)ie(!u,"Route property "+e+" is not a supported lazy route property. This property will be ignored."),i[e]=Promise.resolve();else if(c)ie(!1,`Route "${a.id}" has a static property "${e}" defined. The lazy property will be ignored.`);else{let y=await o();y!=null&&(Object.assign(a,{[e]:y}),Object.assign(a,n(a)))}typeof a.lazy=="object"&&(a.lazy[e]=void 0,Object.values(a.lazy).every(y=>y===void 0)&&(a.lazy=void 0))})();return i[e]=s,s},sn=new WeakMap;function Ao(e,t,r,n,a){let o=r[e.id];if(B(o,"No route found in manifest"),!e.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof e.lazy=="function"){let h=sn.get(o);if(h)return{lazyRoutePromise:h,lazyHandlerPromise:h};let c=(async()=>{B(typeof e.lazy=="function","No lazy route function found");let y=await e.lazy(),g={};for(let E in y){let P=y[E];if(P===void 0)continue;let R=Ka(E),b=o[E]!==void 0&&E!=="hasErrorBoundary";R?ie(!R,"Route property "+E+" is not a supported property to be returned from a lazy route function. This property will be ignored."):b?ie(!b,`Route "${o.id}" has a static property "${E}" defined but its lazy function is also returning a value for this property. The lazy route property "${E}" will be ignored.`):g[E]=P}Object.assign(o,g),Object.assign(o,{...n(o),lazy:void 0})})();return sn.set(o,c),c.catch(()=>{}),{lazyRoutePromise:c,lazyHandlerPromise:c}}let i=Object.keys(e.lazy),l=[],s;for(let h of i){if(a&&a.includes(h))continue;let c=jn({key:h,route:e,manifest:r,mapRouteProperties:n});c&&(l.push(c),h===t&&(s=c))}let u=l.length>0?Promise.all(l).then(()=>{}):void 0;return u?.catch(()=>{}),s?.catch(()=>{}),{lazyRoutePromise:u,lazyHandlerPromise:s}}async function un(e){let t=e.matches.filter(a=>a.shouldLoad),r={};return(await Promise.all(t.map(a=>a.resolve()))).forEach((a,o)=>{r[t[o].route.id]=a}),r}async function No(e){return e.matches.some(t=>t.route.middleware)?Un(e,()=>un(e)):un(e)}function Un(e,t){return Io(e,t,n=>n,Wo,r);function r(n,a,o){if(o)return Promise.resolve(Object.assign(o.value,{[a]:{type:"error",result:n}}));{let{matches:i}=e,l=Math.min(Math.max(i.findIndex(u=>u.route.id===a),0),Math.max(i.findIndex(u=>u.shouldCallHandler()),0)),s=Ie(i,i[l].route.id).route.id;return Promise.resolve({[s]:{type:"error",result:n}})}}}async function Io(e,t,r,n,a){let{matches:o,request:i,params:l,context:s,unstable_pattern:u}=e,h=o.flatMap(y=>y.route.middleware?y.route.middleware.map(g=>[y.route.id,g]):[]);return await Hn({request:i,params:l,context:s,unstable_pattern:u},h,t,r,n,a)}async function Hn(e,t,r,n,a,o,i=0){let{request:l}=e;if(l.signal.aborted)throw l.signal.reason??new Error(`Request aborted: ${l.method} ${l.url}`);let s=t[i];if(!s)return await r();let[u,h]=s,c,y=async()=>{if(c)throw new Error("You may only call `next()` once per middleware");try{return c={value:await Hn(e,t,r,n,a,o,i+1)},c.value}catch(g){return c={value:await o(g,u,c)},c.value}};try{let g=await h(e,y),E=g!=null?n(g):void 0;return a(E)?E:c?E??c.value:(c={value:await y()},c.value)}catch(g){return await o(g,u,c)}}function zn(e,t,r,n,a){let o=jn({key:"middleware",route:n.route,manifest:t,mapRouteProperties:e}),i=Ao(n.route,ve(r.method)?"action":"loader",t,e,a);return{middleware:o,route:i.lazyRoutePromise,handler:i.lazyHandlerPromise}}function ir(e,t,r,n,a,o,i,l,s=null){let u=!1,h=zn(e,t,r,a,o);return{...a,_lazyPromises:h,shouldLoad:l,shouldRevalidateArgs:s,shouldCallHandler(c){return u=!0,s?typeof c=="boolean"?Nt(a,{...s,defaultShouldRevalidate:c}):Nt(a,s):l},resolve(c){let{lazy:y,loader:g,middleware:E}=a.route,P=u||l||c&&!ve(r.method)&&(y||g),R=E&&E.length>0&&!g&&!y;return P&&(ve(r.method)||!R)?ko({request:r,unstable_pattern:n,match:a,lazyHandlerPromise:h?.handler,lazyRoutePromise:h?.route,handlerOverride:c,scopedContext:i}):Promise.resolve({type:"data",result:void 0})}}}function qe(e,t,r,n,a,o,i,l=null){return n.map(s=>s.route.id!==a.route.id?{...s,shouldLoad:!1,shouldRevalidateArgs:l,shouldCallHandler:()=>!1,_lazyPromises:zn(e,t,r,s,o),resolve:()=>Promise.resolve({type:"data",result:void 0})}:ir(e,t,r,ht(n),s,o,i,!0,l))}async function Fo(e,t,r,n,a,o){r.some(u=>u._lazyPromises?.middleware)&&await Promise.all(r.map(u=>u._lazyPromises?.middleware));let i={request:t,unstable_pattern:ht(r),params:r[0].params,context:a,matches:r},s=await e({...i,fetcherKey:n,runClientMiddleware:u=>{let h=i;return Un(h,()=>u({...h,fetcherKey:n,runClientMiddleware:()=>{throw new Error("Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler")}}))}});try{await Promise.all(r.flatMap(u=>[u._lazyPromises?.handler,u._lazyPromises?.route]))}catch{}return s}async function ko({request:e,unstable_pattern:t,match:r,lazyHandlerPromise:n,lazyRoutePromise:a,handlerOverride:o,scopedContext:i}){let l,s,u=ve(e.method),h=u?"action":"loader",c=y=>{let g,E=new Promise((x,b)=>g=b);s=()=>g(),e.signal.addEventListener("abort",s);let P=x=>typeof y!="function"?Promise.reject(new Error(`You cannot call the handler for a route which defines a boolean "${h}" [routeId: ${r.route.id}]`)):y({request:e,unstable_pattern:t,params:r.params,context:i},...x!==void 0?[x]:[]),R=(async()=>{try{return{type:"data",result:await(o?o(b=>P(b)):P())}}catch(x){return{type:"error",result:x}}})();return Promise.race([R,E])};try{let y=u?r.route.action:r.route.loader;if(n||a)if(y){let g,[E]=await Promise.all([c(y).catch(P=>{g=P}),n,a]);if(g!==void 0)throw g;l=E}else{await n;let g=u?r.route.action:r.route.loader;if(g)[l]=await Promise.all([c(g),a]);else if(h==="action"){let E=new URL(e.url),P=E.pathname+E.search;throw Se(405,{method:e.method,pathname:P,routeId:r.route.id})}else return{type:"data",result:void 0}}else if(y)l=await c(y);else{let g=new URL(e.url),E=g.pathname+g.search;throw Se(404,{pathname:E})}}catch(y){return{type:"error",result:y}}finally{s&&e.signal.removeEventListener("abort",s)}return l}async function $o(e){let t=e.headers.get("Content-Type");return t&&/\bapplication\/json\b/.test(t)?e.body==null?null:e.json():e.text()}async function jo(e){let{result:t,type:r}=e;if(wr(t)){let n;try{n=await $o(t)}catch(a){return{type:"error",error:a}}return r==="error"?{type:"error",error:new Ye(t.status,t.statusText,n),statusCode:t.status,headers:t.headers}:{type:"data",data:n,statusCode:t.status,headers:t.headers}}return r==="error"?sr(t)?t.data instanceof Error?{type:"error",error:t.data,statusCode:t.init?.status,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:"error",error:Bo(t),statusCode:We(t)?t.status:void 0,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:"error",error:t,statusCode:We(t)?t.status:void 0}:sr(t)?{type:"data",data:t.data,statusCode:t.init?.status,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:"data",data:t}}function Uo(e,t,r,n,a){let o=e.headers.get("Location");if(B(o,"Redirects returned/thrown from loaders/actions must have a Location header"),!kt(o)){let i=n.slice(0,n.findIndex(l=>l.route.id===r)+1);o=ar(new URL(t.url),i,a,o),e.headers.set("Location",o)}return e}function cn(e,t,r){if(kt(e)){let n=e,a=n.startsWith("//")?new URL(t.protocol+n):new URL(n),o=Ee(a.pathname,r)!=null;if(a.origin===t.origin&&o)return a.pathname+a.search+a.hash}return e}function Ke(e,t,r,n){let a=e.createURL(Bn(t)).toString(),o={signal:r};if(n&&ve(n.formMethod)){let{formMethod:i,formEncType:l}=n;o.method=i.toUpperCase(),l==="application/json"?(o.headers=new Headers({"Content-Type":l}),o.body=JSON.stringify(n.json)):l==="text/plain"?o.body=n.text:l==="application/x-www-form-urlencoded"&&n.formData?o.body=lr(n.formData):o.body=n.formData}return new Request(a,o)}function lr(e){let t=new URLSearchParams;for(let[r,n]of e.entries())t.append(r,typeof n=="string"?n:n.name);return t}function dn(e){let t=new FormData;for(let[r,n]of e.entries())t.append(r,n);return t}function Ho(e,t,r,n=!1,a=!1){let o={},i=null,l,s=!1,u={},h=r&&we(r[1])?r[1].error:void 0;return e.forEach(c=>{if(!(c.route.id in t))return;let y=c.route.id,g=t[y];if(B(!Be(g),"Cannot handle redirect results in processLoaderData"),we(g)){let E=g.error;if(h!==void 0&&(E=h,h=void 0),i=i||{},a)i[y]=E;else{let P=Ie(e,y);i[P.route.id]==null&&(i[P.route.id]=E)}n||(o[y]=kn),s||(s=!0,l=We(g.error)?g.error.status:500),g.headers&&(u[y]=g.headers)}else o[y]=g.data,g.statusCode&&g.statusCode!==200&&!s&&(l=g.statusCode),g.headers&&(u[y]=g.headers)}),h!==void 0&&r&&(i={[r[0]]:h},r[2]&&(o[r[2]]=void 0)),{loaderData:o,errors:i,statusCode:l||200,loaderHeaders:u}}function fn(e,t,r,n,a,o){let{loaderData:i,errors:l}=Ho(t,r,n);return a.filter(s=>!s.matches||s.matches.some(u=>u.shouldLoad)).forEach(s=>{let{key:u,match:h,controller:c}=s;if(c&&c.signal.aborted)return;let y=o[u];if(B(y,"Did not find corresponding fetcher result"),we(y)){let g=Ie(e.matches,h?.route.id);l&&l[g.route.id]||(l={...l,[g.route.id]:y.error}),e.fetchers.delete(u)}else if(Be(y))B(!1,"Unhandled fetcher revalidation redirect");else{let g=Oe(y.data);e.fetchers.set(u,g)}}),{loaderData:i,errors:l}}function hn(e,t,r,n){let a=Object.entries(t).filter(([,o])=>o!==kn).reduce((o,[i,l])=>(o[i]=l,o),{});for(let o of r){let i=o.route.id;if(!t.hasOwnProperty(i)&&e.hasOwnProperty(i)&&o.route.loader&&(a[i]=e[i]),n&&n.hasOwnProperty(i))break}return a}function mn(e){return e?we(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function Ie(e,t){return(t?e.slice(0,e.findIndex(n=>n.route.id===t)+1):[...e]).reverse().find(n=>n.route.hasErrorBoundary===!0)||e[0]}function St(e){let t=e.length===1?e[0]:e.find(r=>r.index||!r.path||r.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}function Se(e,{pathname:t,routeId:r,method:n,type:a,message:o}={}){let i="Unknown Server Error",l="Unknown @remix-run/router error";return e===400?(i="Bad Request",n&&t&&r?l=`You made a ${n} request to "${t}" but did not provide a \`loader\` for route "${r}", so there is no way to handle the request.`:a==="invalid-body"&&(l="Unable to encode submission body")):e===403?(i="Forbidden",l=`Route "${r}" does not match URL "${t}"`):e===404?(i="Not Found",l=`No route matches URL "${t}"`):e===405&&(i="Method Not Allowed",n&&t&&r?l=`You made a ${n.toUpperCase()} request to "${t}" but did not provide an \`action\` for route "${r}", so there is no way to handle the request.`:n&&(l=`Invalid request method "${n.toUpperCase()}"`)),new Ye(e||500,i,new Error(l),!0)}function xt(e){let t=Object.entries(e);for(let r=t.length-1;r>=0;r--){let[n,a]=t[r];if(Be(a))return{key:n,result:a}}}function Bn(e){let t=typeof e=="string"?ke(e):e;return Me({...t,hash:""})}function zo(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===""?t.hash!=="":e.hash===t.hash?!0:t.hash!==""}function Bo(e){return new Ye(e.init?.status??500,e.init?.statusText??"Internal Server Error",e.data)}function Wo(e){return e!=null&&typeof e=="object"&&Object.entries(e).every(([t,r])=>typeof t=="string"&&Yo(r))}function Yo(e){return e!=null&&typeof e=="object"&&"type"in e&&"result"in e&&(e.type==="data"||e.type==="error")}function Vo(e){return wr(e.result)&&Lo.has(e.result.status)}function we(e){return e.type==="error"}function Be(e){return(e&&e.type)==="redirect"}function sr(e){return typeof e=="object"&&e!=null&&"type"in e&&"data"in e&&"init"in e&&e.type==="DataWithResponseInit"}function wr(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function Jo(e){return Po.has(e.toUpperCase())}function ve(e){return xo.has(e.toUpperCase())}function Er(e){return new URLSearchParams(e).getAll("index").some(t=>t==="")}function Tt(e,t){let r=typeof t=="string"?ke(t).search:t.search;if(e[e.length-1].route.index&&Er(r||""))return e[e.length-1];let n=On(e);return n[n.length-1]}function pn(e){let{formMethod:t,formAction:r,formEncType:n,text:a,formData:o,json:i}=e;if(!(!t||!r||!n)){if(a!=null)return{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:void 0,text:a};if(o!=null)return{formMethod:t,formAction:r,formEncType:n,formData:o,json:void 0,text:void 0};if(i!==void 0)return{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:i,text:void 0}}}function Zt(e,t){return t?{state:"loading",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}:{state:"loading",location:e,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function Go(e,t){return{state:"submitting",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}}function it(e,t){return e?{state:"loading",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function Ko(e,t){return{state:"submitting",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0}}function Oe(e){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function Xo(e,t){try{let r=e.sessionStorage.getItem(Fn);if(r){let n=JSON.parse(r);for(let[a,o]of Object.entries(n||{}))o&&Array.isArray(o)&&t.set(a,new Set(o||[]))}}catch{}}function qo(e,t){if(t.size>0){let r={};for(let[n,a]of t)r[n]=[...a];try{e.sessionStorage.setItem(Fn,JSON.stringify(r))}catch(n){ie(!1,`Failed to save applied view transitions in sessionStorage (${n}).`)}}}function yn(){let e,t,r=new Promise((n,a)=>{e=async o=>{n(o);try{await r}catch{}},t=async o=>{a(o);try{await r}catch{}}});return{promise:r,resolve:e,reject:t}}var Ve=f.createContext(null);Ve.displayName="DataRouter";var Qe=f.createContext(null);Qe.displayName="DataRouterState";var Qo=f.createContext(!1);function Zo(){return f.useContext(Qo)}var Rr=f.createContext({isTransitioning:!1});Rr.displayName="ViewTransition";var br=f.createContext(new Map);br.displayName="Fetchers";var ei=f.createContext(null);ei.displayName="Await";var Re=f.createContext(null);Re.displayName="Navigation";var $t=f.createContext(null);$t.displayName="Location";var xe=f.createContext({outlet:null,matches:[],isDataRoute:!1});xe.displayName="Route";var Sr=f.createContext(null);Sr.displayName="RouteError";function ti(e,{relative:t}={}){B(mt(),"useHref() may be used only in the context of a <Router> component.");let{basename:r,navigator:n}=f.useContext(Re),{hash:a,pathname:o,search:i}=pt(e,{relative:t}),l=o;return r!=="/"&&(l=o==="/"?r:Le([r,o])),n.createHref({pathname:l,search:i,hash:a})}function mt(){return f.useContext($t)!=null}function Ce(){return B(mt(),"useLocation() may be used only in the context of a <Router> component."),f.useContext($t).location}var Wn="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Yn(e){f.useContext(Re).static||f.useLayoutEffect(e)}function Vn(){let{isDataRoute:e}=f.useContext(xe);return e?vi():ri()}function ri(){B(mt(),"useNavigate() may be used only in the context of a <Router> component.");let e=f.useContext(Ve),{basename:t,navigator:r}=f.useContext(Re),{matches:n}=f.useContext(xe),{pathname:a}=Ce(),o=JSON.stringify(yr(n)),i=f.useRef(!1);return Yn(()=>{i.current=!0}),f.useCallback((s,u={})=>{if(ie(i.current,Wn),!i.current)return;if(typeof s=="number"){r.go(s);return}let h=vr(s,JSON.parse(o),a,u.relative==="path");e==null&&t!=="/"&&(h.pathname=h.pathname==="/"?t:Le([t,h.pathname])),(u.replace?r.replace:r.push)(h,u.state,u)},[t,r,o,a,e])}var ni=f.createContext(null);function ai(e){let t=f.useContext(xe).outlet;return f.useMemo(()=>t&&f.createElement(ni.Provider,{value:e},t),[t,e])}function oi(){let{matches:e}=f.useContext(xe),t=e[e.length-1];return t?t.params:{}}function pt(e,{relative:t}={}){let{matches:r}=f.useContext(xe),{pathname:n}=Ce(),a=JSON.stringify(yr(r));return f.useMemo(()=>vr(e,JSON.parse(a),n,t==="path"),[e,a,n,t])}function ii(e,t,r,n,a){B(mt(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:o}=f.useContext(Re),{matches:i}=f.useContext(xe),l=i[i.length-1],s=l?l.params:{},u=l?l.pathname:"/",h=l?l.pathnameBase:"/",c=l&&l.route;{let b=c&&c.path||"";Kn(u,!c||b.endsWith("*")||b.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${u}" (under <Route path="${b}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
3
+
4
+ Please change the parent <Route path="${b}"> to <Route path="${b==="/"?"*":`${b}/*`}">.`)}let y=Ce(),g;g=y;let E=g.pathname||"/",P=E;if(h!=="/"){let b=h.replace(/^\//,"").split("/");P="/"+E.replace(/^\//,"").split("/").slice(b.length).join("/")}let R=Ae(e,{pathname:P});return ie(c||R!=null,`No routes matched location "${g.pathname}${g.search}${g.hash}" `),ie(R==null||R[R.length-1].route.element!==void 0||R[R.length-1].route.Component!==void 0||R[R.length-1].route.lazy!==void 0,`Matched leaf route at location "${g.pathname}${g.search}${g.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`),di(R&&R.map(b=>Object.assign({},b,{params:Object.assign({},s,b.params),pathname:Le([h,o.encodeLocation?o.encodeLocation(b.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:b.pathname]),pathnameBase:b.pathnameBase==="/"?h:Le([h,o.encodeLocation?o.encodeLocation(b.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:b.pathnameBase])})),i,r,n,a)}function li(){let e=Gn(),t=We(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null,n="rgba(200,200,200, 0.5)",a={padding:"0.5rem",backgroundColor:n},o={padding:"2px 4px",backgroundColor:n},i=null;return console.error("Error handled by React Router default ErrorBoundary:",e),i=f.createElement(f.Fragment,null,f.createElement("p",null,"💿 Hey developer 👋"),f.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",f.createElement("code",{style:o},"ErrorBoundary")," or"," ",f.createElement("code",{style:o},"errorElement")," prop on your route.")),f.createElement(f.Fragment,null,f.createElement("h2",null,"Unexpected Application Error!"),f.createElement("h3",{style:{fontStyle:"italic"}},t),r?f.createElement("pre",{style:a},r):null,i)}var si=f.createElement(li,null),ui=class extends f.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error("React Router caught the following error during render",e)}render(){return this.state.error!==void 0?f.createElement(xe.Provider,{value:this.props.routeContext},f.createElement(Sr.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function ci({routeContext:e,match:t,children:r}){let n=f.useContext(Ve);return n&&n.static&&n.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(n.staticContext._deepestRenderedBoundaryId=t.route.id),f.createElement(xe.Provider,{value:e},r)}function di(e,t=[],r=null,n=null,a=null){if(e==null){if(!r)return null;if(r.errors)e=r.matches;else if(t.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let o=e,i=r?.errors;if(i!=null){let h=o.findIndex(c=>c.route.id&&i?.[c.route.id]!==void 0);B(h>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(i).join(",")}`),o=o.slice(0,Math.min(o.length,h+1))}let l=!1,s=-1;if(r)for(let h=0;h<o.length;h++){let c=o[h];if((c.route.HydrateFallback||c.route.hydrateFallbackElement)&&(s=h),c.route.id){let{loaderData:y,errors:g}=r,E=c.route.loader&&!y.hasOwnProperty(c.route.id)&&(!g||g[c.route.id]===void 0);if(c.route.lazy||E){l=!0,s>=0?o=o.slice(0,s+1):o=[o[0]];break}}}let u=r&&n?(h,c)=>{n(h,{location:r.location,params:r.matches?.[0]?.params??{},unstable_pattern:ht(r.matches),errorInfo:c})}:void 0;return o.reduceRight((h,c,y)=>{let g,E=!1,P=null,R=null;r&&(g=i&&c.route.id?i[c.route.id]:void 0,P=c.route.errorElement||si,l&&(s<0&&y===0?(Kn("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),E=!0,R=null):s===y&&(E=!0,R=c.route.hydrateFallbackElement||null)));let x=t.concat(o.slice(0,y+1)),b=()=>{let T;return g?T=P:E?T=R:c.route.Component?T=f.createElement(c.route.Component,null):c.route.element?T=c.route.element:T=h,f.createElement(ci,{match:c,routeContext:{outlet:h,matches:x,isDataRoute:r!=null},children:T})};return r&&(c.route.ErrorBoundary||c.route.errorElement||y===0)?f.createElement(ui,{location:r.location,revalidation:r.revalidation,component:P,error:g,children:b(),routeContext:{outlet:null,matches:x,isDataRoute:!0},onError:u}):b()},null)}function xr(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Jn(e){let t=f.useContext(Ve);return B(t,xr(e)),t}function Ze(e){let t=f.useContext(Qe);return B(t,xr(e)),t}function fi(e){let t=f.useContext(xe);return B(t,xr(e)),t}function yt(e){let t=fi(e),r=t.matches[t.matches.length-1];return B(r.route.id,`${e} can only be used on routes that contain a unique "id"`),r.route.id}function hi(){return yt("useRouteId")}function mi(){return Ze("useNavigation").navigation}function ts(){let e=Jn("useRevalidator"),t=Ze("useRevalidator"),r=f.useCallback(async()=>{await e.router.revalidate()},[e.router]);return f.useMemo(()=>({revalidate:r,state:t.revalidation}),[r,t.revalidation])}function Cr(){let{matches:e,loaderData:t}=Ze("useMatches");return f.useMemo(()=>e.map(r=>Mn(r,t)),[e,t])}function pi(){let e=Ze("useLoaderData"),t=yt("useLoaderData");return e.loaderData[t]}function yi(){let e=Ze("useActionData"),t=yt("useLoaderData");return e.actionData?e.actionData[t]:void 0}function Gn(){let e=f.useContext(Sr),t=Ze("useRouteError"),r=yt("useRouteError");return e!==void 0?e:t.errors?.[r]}function vi(){let{router:e}=Jn("useNavigate"),t=yt("useNavigate"),r=f.useRef(!1);return Yn(()=>{r.current=!0}),f.useCallback(async(a,o={})=>{ie(r.current,Wn),r.current&&(typeof a=="number"?await e.navigate(a):await e.navigate(a,{fromRouteId:t,...o}))},[e,t])}var vn={};function Kn(e,t,r){!t&&!vn[e]&&(vn[e]=!0,ie(!1,r))}var gn={};function ur(e,t){!e&&!gn[t]&&(gn[t]=!0,console.warn(t))}var gi="useOptimistic",wn=Ha[gi],wi=()=>{};function Ei(e){return wn?wn(e):[e,wi]}function rs(e){let t={hasErrorBoundary:e.hasErrorBoundary||e.ErrorBoundary!=null||e.errorElement!=null};return e.Component&&(e.element&&ie(!1,"You should not include both `Component` and `element` on your route - `Component` will be used."),Object.assign(t,{element:f.createElement(e.Component),Component:void 0})),e.HydrateFallback&&(e.hydrateFallbackElement&&ie(!1,"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used."),Object.assign(t,{hydrateFallbackElement:f.createElement(e.HydrateFallback),HydrateFallback:void 0})),e.ErrorBoundary&&(e.errorElement&&ie(!1,"You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used."),Object.assign(t,{errorElement:f.createElement(e.ErrorBoundary),ErrorBoundary:void 0})),t}var ns=["HydrateFallback","hydrateFallbackElement"],Ri=class{constructor(){this.status="pending",this.promise=new Promise((e,t)=>{this.resolve=r=>{this.status==="pending"&&(this.status="resolved",e(r))},this.reject=r=>{this.status==="pending"&&(this.status="rejected",t(r))}})}};function as({router:e,flushSync:t,unstable_onError:r,unstable_useTransitions:n}){let[a,o]=f.useState(e.state),[i,l]=Ei(a),[s,u]=f.useState(),[h,c]=f.useState({isTransitioning:!1}),[y,g]=f.useState(),[E,P]=f.useState(),[R,x]=f.useState(),b=f.useRef(new Map),T=f.useCallback((m,{deletedFetchers:W,newErrors:Y,flushSync:G,viewTransitionOpts:H})=>{Y&&r&&Object.values(Y).forEach(Z=>r(Z,{location:m.location,params:m.matches[0]?.params??{},unstable_pattern:ht(m.matches)})),m.fetchers.forEach((Z,q)=>{Z.data!==void 0&&b.current.set(q,Z.data)}),W.forEach(Z=>b.current.delete(Z)),ur(G===!1||t!=null,'You provided the `flushSync` option to a router update, but you are not using the `<RouterProvider>` from `react-router/dom` so `ReactDOM.flushSync()` is unavailable. Please update your app to `import { RouterProvider } from "react-router/dom"` and ensure you have `react-dom` installed as a dependency to use the `flushSync` option.');let se=e.window!=null&&e.window.document!=null&&typeof e.window.document.startViewTransition=="function";if(ur(H==null||se,"You provided the `viewTransition` option to a router update, but you do not appear to be running in a DOM environment as `window.startViewTransition` is not available."),!H||!se){t&&G?t(()=>o(m)):n===!1?o(m):f.startTransition(()=>{n===!0&&l(Z=>En(Z,m)),o(m)});return}if(t&&G){t(()=>{E&&(y?.resolve(),E.skipTransition()),c({isTransitioning:!0,flushSync:!0,currentLocation:H.currentLocation,nextLocation:H.nextLocation})});let Z=e.window.document.startViewTransition(()=>{t(()=>o(m))});Z.finished.finally(()=>{t(()=>{g(void 0),P(void 0),u(void 0),c({isTransitioning:!1})})}),t(()=>P(Z));return}E?(y?.resolve(),E.skipTransition(),x({state:m,currentLocation:H.currentLocation,nextLocation:H.nextLocation})):(u(m),c({isTransitioning:!0,flushSync:!1,currentLocation:H.currentLocation,nextLocation:H.nextLocation}))},[e.window,t,E,y,n,l,r]);f.useLayoutEffect(()=>e.subscribe(T),[e,T]),f.useEffect(()=>{h.isTransitioning&&!h.flushSync&&g(new Ri)},[h]),f.useEffect(()=>{if(y&&s&&e.window){let m=s,W=y.promise,Y=e.window.document.startViewTransition(async()=>{n===!1?o(m):f.startTransition(()=>{n===!0&&l(G=>En(G,m)),o(m)}),await W});Y.finished.finally(()=>{g(void 0),P(void 0),u(void 0),c({isTransitioning:!1})}),P(Y)}},[s,y,e.window,n,l]),f.useEffect(()=>{y&&s&&i.location.key===s.location.key&&y.resolve()},[y,E,i.location,s]),f.useEffect(()=>{!h.isTransitioning&&R&&(u(R.state),c({isTransitioning:!0,flushSync:!1,currentLocation:R.currentLocation,nextLocation:R.nextLocation}),x(void 0))},[h.isTransitioning,R]);let D=f.useMemo(()=>({createHref:e.createHref,encodeLocation:e.encodeLocation,go:m=>e.navigate(m),push:(m,W,Y)=>e.navigate(m,{state:W,preventScrollReset:Y?.preventScrollReset}),replace:(m,W,Y)=>e.navigate(m,{replace:!0,state:W,preventScrollReset:Y?.preventScrollReset})}),[e]),M=e.basename||"/",_=f.useMemo(()=>({router:e,navigator:D,static:!1,basename:M,unstable_onError:r}),[e,D,M,r]);return f.createElement(f.Fragment,null,f.createElement(Ve.Provider,{value:_},f.createElement(Qe.Provider,{value:i},f.createElement(br.Provider,{value:b.current},f.createElement(Rr.Provider,{value:h},f.createElement(xi,{basename:M,location:i.location,navigationType:i.historyAction,navigator:D,unstable_useTransitions:n===!0},f.createElement(bi,{routes:e.routes,future:e.future,state:i,unstable_onError:r})))))),null)}function En(e,t){return{...e,navigation:t.navigation.state!=="idle"?t.navigation:e.navigation,revalidation:t.revalidation!=="idle"?t.revalidation:e.revalidation,actionData:t.navigation.state!=="submitting"?t.actionData:e.actionData,fetchers:t.fetchers}}var bi=f.memo(Si);function Si({routes:e,future:t,state:r,unstable_onError:n}){return ii(e,void 0,r,n,t)}function os(e){return ai(e.context)}function xi({basename:e="/",children:t=null,location:r,navigationType:n="POP",navigator:a,static:o=!1,unstable_useTransitions:i}){B(!mt(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let l=e.replace(/^\/*/,"/"),s=f.useMemo(()=>({basename:l,navigator:a,static:o,unstable_useTransitions:i,future:{}}),[l,a,o,i]);typeof r=="string"&&(r=ke(r));let{pathname:u="/",search:h="",hash:c="",state:y=null,key:g="default"}=r,E=f.useMemo(()=>{let P=Ee(u,l);return P==null?null:{location:{pathname:P,search:h,hash:c,state:y,key:g},navigationType:n}},[l,u,h,c,y,g,n]);return ie(E!=null,`<Router basename="${l}"> is not able to match the URL "${u}${h}${c}" because it does not start with the basename, so the <Router> won't render anything.`),E==null?null:f.createElement(Re.Provider,{value:s},f.createElement($t.Provider,{children:t,value:E}))}function Ci(){return{params:oi(),loaderData:pi(),actionData:yi(),matches:Cr()}}function is(e){return function(){const r=Ci();return f.createElement(e,r)}}var Dt="get",_t="application/x-www-form-urlencoded";function jt(e){return typeof HTMLElement<"u"&&e instanceof HTMLElement}function Pi(e){return jt(e)&&e.tagName.toLowerCase()==="button"}function Li(e){return jt(e)&&e.tagName.toLowerCase()==="form"}function Mi(e){return jt(e)&&e.tagName.toLowerCase()==="input"}function Ti(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Di(e,t){return e.button===0&&(!t||t==="_self")&&!Ti(e)}function cr(e=""){return new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,r)=>{let n=e[r];return t.concat(Array.isArray(n)?n.map(a=>[r,a]):[[r,n]])},[]))}function _i(e,t){let r=cr(e);return t&&t.forEach((n,a)=>{r.has(a)||t.getAll(a).forEach(o=>{r.append(a,o)})}),r}var Ct=null;function Oi(){if(Ct===null)try{new FormData(document.createElement("form"),0),Ct=!1}catch{Ct=!0}return Ct}var Ai=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function er(e){return e!=null&&!Ai.has(e)?(ie(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${_t}"`),null):e}function Ni(e,t){let r,n,a,o,i;if(Li(e)){let l=e.getAttribute("action");n=l?Ee(l,t):null,r=e.getAttribute("method")||Dt,a=er(e.getAttribute("enctype"))||_t,o=new FormData(e)}else if(Pi(e)||Mi(e)&&(e.type==="submit"||e.type==="image")){let l=e.form;if(l==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let s=e.getAttribute("formaction")||l.getAttribute("action");if(n=s?Ee(s,t):null,r=e.getAttribute("formmethod")||l.getAttribute("method")||Dt,a=er(e.getAttribute("formenctype"))||er(l.getAttribute("enctype"))||_t,o=new FormData(l,e),!Oi()){let{name:u,type:h,value:c}=e;if(h==="image"){let y=u?`${u}.`:"";o.append(`${y}x`,"0"),o.append(`${y}y`,"0")}else u&&o.append(u,c)}}else{if(jt(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');r=Dt,n=null,a=_t,i=e}return o&&a==="text/plain"&&(i=o,o=void 0),{action:n,method:r.toLowerCase(),encType:a,formData:o,body:i}}var Ii=-1,Fi=-2,ki=-3,$i=-4,ji=-5,Ui=-6,Hi=-7,zi="B",Bi="D",Xn="E",Wi="M",Yi="N",qn="P",Vi="R",Ji="S",Gi="Y",Ki="U",Xi="Z",Qn=class{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}};function qi(){const e=new TextDecoder;let t="";return new TransformStream({transform(r,n){const a=e.decode(r,{stream:!0}),o=(t+a).split(`
5
+ `);t=o.pop()||"";for(const i of o)n.enqueue(i)},flush(r){t&&r.enqueue(t)}})}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var tr=typeof window<"u"?window:typeof globalThis<"u"?globalThis:void 0;function dr(e){const{hydrated:t,values:r}=this;if(typeof e=="number")return Rn.call(this,e);if(!Array.isArray(e)||!e.length)throw new SyntaxError;const n=r.length;for(const a of e)r.push(a);return t.length=r.length,Rn.call(this,n)}function Rn(e){const{hydrated:t,values:r,deferred:n,plugins:a}=this;let o;const i=[[e,s=>{o=s}]];let l=[];for(;i.length>0;){const[s,u]=i.pop();switch(s){case Hi:u(void 0);continue;case ji:u(null);continue;case Fi:u(NaN);continue;case Ui:u(1/0);continue;case ki:u(-1/0);continue;case $i:u(-0);continue}if(t[s]){u(t[s]);continue}const h=r[s];if(!h||typeof h!="object"){t[s]=h,u(h);continue}if(Array.isArray(h))if(typeof h[0]=="string"){const[c,y,g]=h;switch(c){case Bi:u(t[s]=new Date(y));continue;case Ki:u(t[s]=new URL(y));continue;case zi:u(t[s]=BigInt(y));continue;case Vi:u(t[s]=new RegExp(y,g));continue;case Gi:u(t[s]=Symbol.for(y));continue;case Ji:const E=new Set;t[s]=E;for(let D=h.length-1;D>0;D--)i.push([h[D],M=>{E.add(M)}]);u(E);continue;case Wi:const P=new Map;t[s]=P;for(let D=h.length-2;D>0;D-=2){const M=[];i.push([h[D+1],_=>{M[1]=_}]),i.push([h[D],_=>{M[0]=_}]),l.push(()=>{P.set(M[0],M[1])})}u(P);continue;case Yi:const R=Object.create(null);t[s]=R;for(const D of Object.keys(y).reverse()){const M=[];i.push([y[D],_=>{M[1]=_}]),i.push([Number(D.slice(1)),_=>{M[0]=_}]),l.push(()=>{R[M[0]]=M[1]})}u(R);continue;case qn:if(t[y])u(t[s]=t[y]);else{const D=new Qn;n[y]=D,u(t[s]=D.promise)}continue;case Xn:const[,x,b]=h;let T=b&&tr&&tr[b]?new tr[b](x):new Error(x);t[s]=T,u(T);continue;case Xi:u(t[s]=t[y]);continue;default:if(Array.isArray(a)){const D=[],M=h.slice(1);for(let _=0;_<M.length;_++){const m=M[_];i.push([m,W=>{D[_]=W}])}l.push(()=>{for(const _ of a){const m=_(h[0],...D);if(m){u(t[s]=m.value);return}}throw new SyntaxError});continue}throw new SyntaxError}}else{const c=[];t[s]=c;for(let y=0;y<h.length;y++){const g=h[y];g!==Ii&&i.push([g,E=>{c[y]=E}])}u(c);continue}else{const c={};t[s]=c;for(const y of Object.keys(h).reverse()){const g=[];i.push([h[y],E=>{g[1]=E}]),i.push([Number(y.slice(1)),E=>{g[0]=E}]),l.push(()=>{c[g[0]]=g[1]})}u(c);continue}}for(;l.length>0;)l.pop()();return o}async function Qi(e,t){const{plugins:r}=t??{},n=new Qn,a=e.pipeThrough(qi()).getReader(),o={values:[],hydrated:[],deferred:{},plugins:r},i=await Zi.call(o,a);let l=n.promise;return i.done?n.resolve():l=el.call(o,a).then(n.resolve).catch(s=>{for(const u of Object.values(o.deferred))u.reject(s);n.reject(s)}),{done:l.then(()=>a.closed),value:i.value}}async function Zi(e){const t=await e.read();if(!t.value)throw new SyntaxError;let r;try{r=JSON.parse(t.value)}catch{throw new SyntaxError}return{done:t.done,value:dr.call(this,r)}}async function el(e){let t=await e.read();for(;!t.done;){if(!t.value)continue;const r=t.value;switch(r[0]){case qn:{const n=r.indexOf(":"),a=Number(r.slice(1,n)),o=this.deferred[a];if(!o)throw new Error(`Deferred ID ${a} not found in stream`);const i=r.slice(n+1);let l;try{l=JSON.parse(i)}catch{throw new SyntaxError}const s=dr.call(this,l);o.resolve(s);break}case Xn:{const n=r.indexOf(":"),a=Number(r.slice(1,n)),o=this.deferred[a];if(!o)throw new Error(`Deferred ID ${a} not found in stream`);const i=r.slice(n+1);let l;try{l=JSON.parse(i)}catch{throw new SyntaxError}const s=dr.call(this,l);o.reject(s);break}default:throw new SyntaxError}t=await e.read()}}async function tl(e){let t={signal:e.signal};if(e.method!=="GET"){t.method=e.method;let r=e.headers.get("Content-Type");r&&/\bapplication\/json\b/.test(r)?(t.headers={"Content-Type":r},t.body=JSON.stringify(await e.json())):r&&/\btext\/plain\b/.test(r)?(t.headers={"Content-Type":r},t.body=await e.text()):r&&/\bapplication\/x-www-form-urlencoded\b/.test(r)?t.body=new URLSearchParams(await e.text()):t.body=await e.formData()}return t}var rl={"&":"\\u0026",">":"\\u003e","<":"\\u003c","\u2028":"\\u2028","\u2029":"\\u2029"},nl=/[&><\u2028\u2029]/g;function al(e){return e.replace(nl,t=>rl[t])}function ge(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}var fr=Symbol("SingleFetchRedirect"),Zn=class extends Error{},ol=202,il=new Set([100,101,204,205]);function ls(e,t,r,n,a){let o=ll(e,i=>{let l=t.routes[i.route.id];ge(l,"Route not found in manifest");let s=r[i.route.id];return{hasLoader:l.hasLoader,hasClientLoader:l.hasClientLoader,hasShouldRevalidate:!!s?.shouldRevalidate}},ml,n,a);return async i=>i.runClientMiddleware(o)}function ll(e,t,r,n,a,o=()=>!0){return async i=>{let{request:l,matches:s,fetcherKey:u}=i,h=e();if(l.method!=="GET")return sl(i,r,a);let c=s.some(y=>{let{hasLoader:g,hasClientLoader:E}=t(y);return y.shouldCallHandler()&&g&&!E});return!n&&!c?ul(i,t,r,a):u?fl(i,r,a):cl(i,h,t,r,n,a,o)}}async function sl(e,t,r){let n=e.matches.find(i=>i.shouldCallHandler());ge(n,"No action match found");let a,o=await n.resolve(async i=>await i(async()=>{let{data:s,status:u}=await t(e,r,[n.route.id]);return a=u,ft(s,n.route.id)}));return wr(o.result)||We(o.result)||sr(o.result)?{[n.route.id]:o}:{[n.route.id]:{type:o.type,result:yo(o.result,a)}}}async function ul(e,t,r,n){let a=e.matches.filter(i=>i.shouldCallHandler()),o={};return await Promise.all(a.map(i=>i.resolve(async l=>{try{let{hasClientLoader:s}=t(i),u=i.route.id,h=s?await l(async()=>{let{data:c}=await r(e,n,[u]);return ft(c,u)}):await l();o[i.route.id]={type:"data",result:h}}catch(s){o[i.route.id]={type:"error",result:s}}}))),o}async function cl(e,t,r,n,a,o,i=()=>!0){let l=new Set,s=!1,u=e.matches.map(()=>bn()),h=bn(),c={},y=Promise.all(e.matches.map(async(E,P)=>E.resolve(async R=>{u[P].resolve();let x=E.route.id,{hasLoader:b,hasClientLoader:T,hasShouldRevalidate:D}=r(E),M=!E.shouldRevalidateArgs||E.shouldRevalidateArgs.actionStatus==null||E.shouldRevalidateArgs.actionStatus<400;if(!E.shouldCallHandler(M)){s||(s=E.shouldRevalidateArgs!=null&&b&&D===!0);return}if(i(E)&&T){b&&(s=!0);try{let m=await R(async()=>{let{data:W}=await n(e,o,[x]);return ft(W,x)});c[x]={type:"data",result:m}}catch(m){c[x]={type:"error",result:m}}return}b&&l.add(x);try{let m=await R(async()=>{let W=await h.promise;return ft(W,x)});c[x]={type:"data",result:m}}catch(m){c[x]={type:"error",result:m}}})));if(await Promise.all(u.map(E=>E.promise)),(!t.state.initialized&&t.state.navigation.state==="idle"||l.size===0)&&!window.__reactRouterHdrActive)h.resolve({routes:{}});else{let E=a&&s&&l.size>0?[...l.keys()]:void 0;try{let P=await n(e,o,E);h.resolve(P.data)}catch(P){h.reject(P)}}return await y,await dl(h.promise,e.matches,l,c),c}async function dl(e,t,r,n){try{let a,o=await e;if("routes"in o){for(let i of t)if(i.route.id in o.routes){let l=o.routes[i.route.id];if("error"in l){a=l.error,n[i.route.id]?.result==null&&(n[i.route.id]={type:"error",result:a});break}}}a!==void 0&&Array.from(r.values()).forEach(i=>{n[i].result instanceof Zn&&(n[i].result=a)})}catch{}}async function fl(e,t,r){let n=e.matches.find(i=>i.shouldCallHandler());ge(n,"No fetcher match found");let a=n.route.id,o=await n.resolve(async i=>i(async()=>{let{data:l}=await t(e,r,[a]);return ft(l,a)}));return{[n.route.id]:o}}function hl(e){let t=e.searchParams.getAll("index");e.searchParams.delete("index");let r=[];for(let n of t)n&&r.push(n);for(let n of r)e.searchParams.append("index",n);return e}function ea(e,t,r){let n=typeof e=="string"?new URL(e,typeof window>"u"?"server://singlefetch/":window.location.origin):e;return n.pathname==="/"?n.pathname=`_root.${r}`:t&&Ee(n.pathname,t)==="/"?n.pathname=`${t.replace(/\/$/,"")}/_root.${r}`:n.pathname=`${n.pathname.replace(/\/$/,"")}.${r}`,n}async function ml(e,t,r){let{request:n}=e,a=ea(n.url,t,"data");n.method==="GET"&&(a=hl(a),r&&a.searchParams.set("_routes",r.join(",")));let o=await fetch(a,await tl(n));if(o.status>=400&&!o.headers.has("X-Remix-Response"))throw new Ye(o.status,o.statusText,await o.text());if(o.status===204&&o.headers.has("X-Remix-Redirect"))return{status:ol,data:{redirect:{redirect:o.headers.get("X-Remix-Redirect"),status:Number(o.headers.get("X-Remix-Status")||"302"),revalidate:o.headers.get("X-Remix-Revalidate")==="true",reload:o.headers.get("X-Remix-Reload-Document")==="true",replace:o.headers.get("X-Remix-Replace")==="true"}}};if(il.has(o.status)){let i={};return r&&n.method!=="GET"&&(i[r[0]]={data:void 0}),{status:o.status,data:{routes:i}}}ge(o.body,"No response body to decode");try{let i=await pl(o.body,window),l;if(n.method==="GET"){let s=i.value;fr in s?l={redirect:s[fr]}:l={routes:s}}else{let s=i.value,u=r?.[0];ge(u,"No routeId found for single fetch call decoding"),"redirect"in s?l={redirect:s}:l={routes:{[u]:s}}}return{status:o.status,data:l}}catch{throw new Error("Unable to decode turbo-stream response")}}function pl(e,t){return Qi(e,{plugins:[(r,...n)=>{if(r==="SanitizedError"){let[a,o,i]=n,l=Error;a&&a in t&&typeof t[a]=="function"&&(l=t[a]);let s=new l(o);return s.stack=i,{value:s}}if(r==="ErrorResponse"){let[a,o,i]=n;return{value:new Ye(o,i,a)}}if(r==="SingleFetchRedirect")return{value:{[fr]:n[0]}};if(r==="SingleFetchClassInstance")return{value:n[0]};if(r==="SingleFetchFallback")return{value:void 0}}]})}function ft(e,t){if("redirect"in e){let{redirect:n,revalidate:a,reload:o,replace:i,status:l}=e.redirect;throw vo(n,{status:l,headers:{...a?{"X-Remix-Revalidate":"yes"}:null,...o?{"X-Remix-Reload-Document":"yes"}:null,...i?{"X-Remix-Replace":"yes"}:null}})}let r=e.routes[t];if(r==null)throw new Zn(`No result found for routeId "${t}"`);if("error"in r)throw r.error;if("data"in r)return r.data;throw new Error(`Invalid response found for routeId "${t}"`)}function bn(){let e,t,r=new Promise((n,a)=>{e=async o=>{n(o);try{await r}catch{}},t=async o=>{a(o);try{await r}catch{}}});return{promise:r,resolve:e,reject:t}}async function ta(e,t){if(e.id in t)return t[e.id];try{let r=await import(e.module);return t[e.id]=r,r}catch(r){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(r),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function yl(e,t,r){let n=e.map(o=>{let i=t[o.route.id],l=r.routes[o.route.id];return[l&&l.css?l.css.map(s=>({rel:"stylesheet",href:s})):[],i?.links?.()||[]]}).flat(2),a=Lr(e,r);return oa(n,a)}function ra(e){return e.css?e.css.map(t=>({rel:"stylesheet",href:t})):[]}async function vl(e){if(!e.css)return;let t=ra(e);await Promise.all(t.map(aa))}async function na(e,t){if(!e.css&&!t.links||!bl())return;let r=[];if(e.css&&r.push(...ra(e)),t.links&&r.push(...t.links()),r.length===0)return;let n=[];for(let a of r)!Pr(a)&&a.rel==="stylesheet"&&n.push({...a,rel:"preload",as:"style"});await Promise.all(n.map(aa))}async function aa(e){return new Promise(t=>{if(e.media&&!window.matchMedia(e.media).matches||document.querySelector(`link[rel="stylesheet"][href="${e.href}"]`))return t();let r=document.createElement("link");Object.assign(r,e);function n(){document.head.contains(r)&&document.head.removeChild(r)}r.onload=()=>{n(),t()},r.onerror=()=>{n(),t()},document.head.appendChild(r)})}function Pr(e){return e!=null&&typeof e.page=="string"}function gl(e){return e==null?!1:e.href==null?e.rel==="preload"&&typeof e.imageSrcSet=="string"&&typeof e.imageSizes=="string":typeof e.rel=="string"&&typeof e.href=="string"}async function wl(e,t,r){let n=await Promise.all(e.map(async a=>{let o=t.routes[a.route.id];if(o){let i=await ta(o,r);return i.links?i.links():[]}return[]}));return oa(n.flat(1).filter(gl).filter(a=>a.rel==="stylesheet"||a.rel==="preload").map(a=>a.rel==="stylesheet"?{...a,rel:"prefetch",as:"style"}:{...a,rel:"prefetch"}))}function Sn(e,t,r,n,a,o){let i=(s,u)=>r[u]?s.route.id!==r[u].route.id:!0,l=(s,u)=>r[u].pathname!==s.pathname||r[u].route.path?.endsWith("*")&&r[u].params["*"]!==s.params["*"];return o==="assets"?t.filter((s,u)=>i(s,u)||l(s,u)):o==="data"?t.filter((s,u)=>{let h=n.routes[s.route.id];if(!h||!h.hasLoader)return!1;if(i(s,u)||l(s,u))return!0;if(s.route.shouldRevalidate){let c=s.route.shouldRevalidate({currentUrl:new URL(a.pathname+a.search+a.hash,window.origin),currentParams:r[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:s.params,defaultShouldRevalidate:!0});if(typeof c=="boolean")return c}return!0}):[]}function Lr(e,t,{includeHydrateFallback:r}={}){return El(e.map(n=>{let a=t.routes[n.route.id];if(!a)return[];let o=[a.module];return a.clientActionModule&&(o=o.concat(a.clientActionModule)),a.clientLoaderModule&&(o=o.concat(a.clientLoaderModule)),r&&a.hydrateFallbackModule&&(o=o.concat(a.hydrateFallbackModule)),a.imports&&(o=o.concat(a.imports)),o}).flat(1))}function El(e){return[...new Set(e)]}function Rl(e){let t={},r=Object.keys(e).sort();for(let n of r)t[n]=e[n];return t}function oa(e,t){let r=new Set,n=new Set(t);return e.reduce((a,o)=>{if(t&&!Pr(o)&&o.as==="script"&&o.href&&n.has(o.href))return a;let l=JSON.stringify(Rl(o));return r.has(l)||(r.add(l),a.push({key:l,link:o})),a},[])}var Pt;function bl(){if(Pt!==void 0)return Pt;let e=document.createElement("link");return Pt=e.relList.supports("preload"),e=null,Pt}function Sl(){return f.createElement(hr,{title:"Loading...",renderScripts:!0},f.createElement("script",{dangerouslySetInnerHTML:{__html:`
6
+ console.log(
7
+ "💿 Hey developer 👋. You can provide a way better UX than this " +
8
+ "when your app is loading JS modules and/or running \`clientLoader\` " +
9
+ "functions. Check out https://reactrouter.com/start/framework/route-module#hydratefallback " +
10
+ "for more information."
11
+ );
12
+ `}}))}function ia(e){let t={};return Object.values(e).forEach(r=>{if(r){let n=r.parentId||"";t[n]||(t[n]=[]),t[n].push(r)}}),t}function xl(e,t,r){let n=la(t),a=t.HydrateFallback&&(!r||e.id==="root")?t.HydrateFallback:e.id==="root"?Sl:void 0,o=t.ErrorBoundary?t.ErrorBoundary:e.id==="root"?()=>f.createElement(ca,{error:Gn()}):void 0;return e.id==="root"&&t.Layout?{...n?{element:f.createElement(t.Layout,null,f.createElement(n,null))}:{Component:n},...o?{errorElement:f.createElement(t.Layout,null,f.createElement(o,null))}:{ErrorBoundary:o},...a?{hydrateFallbackElement:f.createElement(t.Layout,null,f.createElement(a,null))}:{HydrateFallback:a}}:{Component:n,ErrorBoundary:o,HydrateFallback:a}}function ss(e,t,r,n,a,o){return Mr(t,r,n,a,o,"",ia(t),e)}function Lt(e,t){if(e==="loader"&&!t.hasLoader||e==="action"&&!t.hasAction){let n=`You are trying to call ${e==="action"?"serverAction()":"serverLoader()"} on a route that does not have a server ${e} (routeId: "${t.id}")`;throw console.error(n),new Ye(400,"Bad Request",new Error(n),!0)}}function rr(e,t){let r=e==="clientAction"?"a":"an",n=`Route "${t}" does not have ${r} ${e}, but you are trying to submit to it. To fix this, please add ${r} \`${e}\` function to the route`;throw console.error(n),new Ye(405,"Method Not Allowed",new Error(n),!0)}function Mr(e,t,r,n,a,o="",i=ia(e),l){return(i[o]||[]).map(s=>{let u=t[s.id];function h(b){return ge(typeof b=="function","No single fetch function available for route handler"),b()}function c(b){return s.hasLoader?h(b):Promise.resolve(null)}function y(b){if(!s.hasAction)throw rr("action",s.id);return h(b)}function g(b){import(b)}function E(b){b.clientActionModule&&g(b.clientActionModule),b.clientLoaderModule&&g(b.clientLoaderModule)}async function P(b){let T=t[s.id],D=T?na(s,T):Promise.resolve();try{return b()}finally{await D}}let R={id:s.id,index:s.index,path:s.path};if(u){Object.assign(R,{...R,...xl(s,u,a),middleware:u.clientMiddleware,handle:u.handle,shouldRevalidate:xn(R.path,u,s,n,l)});let b=r&&r.loaderData&&s.id in r.loaderData,T=b?r?.loaderData?.[s.id]:void 0,D=r&&r.errors&&s.id in r.errors,M=D?r?.errors?.[s.id]:void 0,_=l==null&&(u.clientLoader?.hydrate===!0||!s.hasLoader);R.loader=async({request:m,params:W,context:Y,unstable_pattern:G},H)=>{try{return await P(async()=>(ge(u,"No `routeModule` available for critical-route loader"),u.clientLoader?u.clientLoader({request:m,params:W,context:Y,unstable_pattern:G,async serverLoader(){if(Lt("loader",s),_){if(b)return T;if(D)throw M}return c(H)}}):c(H)))}finally{_=!1}},R.loader.hydrate=Ll(s.id,u.clientLoader,s.hasLoader,a),R.action=({request:m,params:W,context:Y,unstable_pattern:G},H)=>P(async()=>{if(ge(u,"No `routeModule` available for critical-route action"),!u.clientAction){if(a)throw rr("clientAction",s.id);return y(H)}return u.clientAction({request:m,params:W,context:Y,unstable_pattern:G,async serverAction(){return Lt("action",s),y(H)}})})}else{s.hasClientLoader||(R.loader=(D,M)=>P(()=>c(M))),s.hasClientAction||(R.action=(D,M)=>P(()=>{if(a)throw rr("clientAction",s.id);return y(M)}));let b;async function T(){return b?await b:(b=(async()=>{(s.clientLoaderModule||s.clientActionModule)&&await new Promise(M=>setTimeout(M,0));let D=Pl(s,t);return E(s),await D})(),await b)}R.lazy={loader:s.hasClientLoader?async()=>{let{clientLoader:D}=s.clientLoaderModule?await import(s.clientLoaderModule):await T();return ge(D,"No `clientLoader` export found"),(M,_)=>D({...M,async serverLoader(){return Lt("loader",s),c(_)}})}:void 0,action:s.hasClientAction?async()=>{let D=s.clientActionModule?import(s.clientActionModule):T();E(s);let{clientAction:M}=await D;return ge(M,"No `clientAction` export found"),(_,m)=>M({..._,async serverAction(){return Lt("action",s),y(m)}})}:void 0,middleware:s.hasClientMiddleware?async()=>{let{clientMiddleware:D}=s.clientMiddlewareModule?await import(s.clientMiddlewareModule):await T();return ge(D,"No `clientMiddleware` export found"),D}:void 0,shouldRevalidate:async()=>{let D=await T();return xn(R.path,D,s,n,l)},handle:async()=>(await T()).handle,Component:async()=>(await T()).Component,ErrorBoundary:s.hasErrorBoundary?async()=>(await T()).ErrorBoundary:void 0}}let x=Mr(e,t,r,n,a,s.id,i,l);return x.length>0&&(R.children=x),R})}function xn(e,t,r,n,a){if(a)return Cl(r.id,t.shouldRevalidate,a);if(!n&&r.hasLoader&&!r.hasClientLoader){let o=e?_n(e)[1].map(l=>l.paramName):[];const i=l=>o.some(s=>l.currentParams[s]!==l.nextParams[s]);if(t.shouldRevalidate){let l=t.shouldRevalidate;return s=>l({...s,defaultShouldRevalidate:i(s)})}else return l=>i(l)}return t.shouldRevalidate}function Cl(e,t,r){let n=!1;return a=>n?t?t(a):a.defaultShouldRevalidate:(n=!0,r.has(e))}async function Pl(e,t){let r=ta(e,t),n=vl(e),a=await r;return await Promise.all([n,na(e,a)]),{Component:la(a),ErrorBoundary:a.ErrorBoundary,clientMiddleware:a.clientMiddleware,clientAction:a.clientAction,clientLoader:a.clientLoader,handle:a.handle,links:a.links,meta:a.meta,shouldRevalidate:a.shouldRevalidate}}function la(e){if(e.default==null)return;if(!(typeof e.default=="object"&&Object.keys(e.default).length===0))return e.default}function Ll(e,t,r,n){return n&&e!=="root"||t!=null&&(t.hydrate===!0||r!==!0)}var Ot=new Set,Ml=1e3,It=new Set,Tl=7680;function Tr(e,t){return e.mode==="lazy"&&t===!0}function Dl({sri:e,...t},r){let n=new Set(r.state.matches.map(l=>l.route.id)),a=r.state.location.pathname.split("/").filter(Boolean),o=["/"];for(a.pop();a.length>0;)o.push(`/${a.join("/")}`),a.pop();o.forEach(l=>{let s=Ae(r.routes,l,r.basename);s&&s.forEach(u=>n.add(u.route.id))});let i=[...n].reduce((l,s)=>Object.assign(l,{[s]:t.routes[s]}),{});return{...t,routes:i,sri:e?!0:void 0}}function us(e,t,r,n,a,o){if(Tr(n,r))return async({path:i,patch:l,signal:s,fetcherKey:u})=>{It.has(i)||await sa([i],u?window.location.href:i,e,t,r,a,o,n.manifestPath,l,s)}}function cs(e,t,r,n,a,o){f.useEffect(()=>{if(!Tr(a,n)||window.navigator?.connection?.saveData===!0)return;function i(h){let c=h.tagName==="FORM"?h.getAttribute("action"):h.getAttribute("href");if(!c)return;let y=h.tagName==="A"?h.pathname:new URL(c,window.location.origin).pathname;It.has(y)||Ot.add(y)}async function l(){document.querySelectorAll("a[data-discover], form[data-discover]").forEach(i);let h=Array.from(Ot.keys()).filter(c=>It.has(c)?(Ot.delete(c),!1):!0);if(h.length!==0)try{await sa(h,null,t,r,n,o,e.basename,a.manifestPath,e.patchRoutes)}catch(c){console.error("Failed to fetch manifest patches",c)}}let s=Al(l,100);l();let u=new MutationObserver(()=>s());return u.observe(document.documentElement,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["data-discover","href","action"]}),()=>u.disconnect()},[n,o,t,r,e,a])}function _l(e,t){let r=e||"/__manifest";return t==null?r:`${t}${r}`.replace(/\/+/g,"/")}var nr="react-router-manifest-version";async function sa(e,t,r,n,a,o,i,l,s,u){const h=new URLSearchParams;h.set("paths",e.sort().join(",")),h.set("version",r.version);let c=new URL(_l(l,i),window.location.origin);if(c.search=h.toString(),c.toString().length>Tl){Ot.clear();return}let y;try{let R=await fetch(c,{signal:u});if(R.ok){if(R.status===204&&R.headers.has("X-Remix-Reload-Document")){if(!t){console.warn("Detected a manifest version mismatch during eager route discovery. The next navigation/fetch to an undiscovered route will result in a new document navigation to sync up with the latest manifest.");return}try{if(sessionStorage.getItem(nr)===r.version){console.error("Unable to discover routes due to manifest version mismatch.");return}sessionStorage.setItem(nr,r.version)}catch{}window.location.href=t,console.warn("Detected manifest version mismatch, reloading..."),await new Promise(()=>{})}else if(R.status>=400)throw new Error(await R.text())}else throw new Error(`${R.status} ${R.statusText}`);try{sessionStorage.removeItem(nr)}catch{}y=await R.json()}catch(R){if(u?.aborted)return;throw R}let g=new Set(Object.keys(r.routes)),E=Object.values(y).reduce((R,x)=>(x&&!g.has(x.id)&&(R[x.id]=x),R),{});Object.assign(r.routes,E),e.forEach(R=>Ol(R,It));let P=new Set;Object.values(E).forEach(R=>{R&&(!R.parentId||!E[R.parentId])&&P.add(R.parentId)}),P.forEach(R=>s(R||null,Mr(E,n,null,a,o,R)))}function Ol(e,t){if(t.size>=Ml){let r=t.values().next().value;t.delete(r)}t.add(e)}function Al(e,t){let r;return(...n)=>{window.clearTimeout(r),r=window.setTimeout(()=>e(...n),t)}}function Dr(){let e=f.useContext(Ve);return ge(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function Ut(){let e=f.useContext(Qe);return ge(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var Ht=f.createContext(void 0);Ht.displayName="FrameworkContext";function et(){let e=f.useContext(Ht);return ge(e,"You must render this element inside a <HydratedRouter> element"),e}function Nl(e,t){let r=f.useContext(Ht),[n,a]=f.useState(!1),[o,i]=f.useState(!1),{onFocus:l,onBlur:s,onMouseEnter:u,onMouseLeave:h,onTouchStart:c}=t,y=f.useRef(null);f.useEffect(()=>{if(e==="render"&&i(!0),e==="viewport"){let P=x=>{x.forEach(b=>{i(b.isIntersecting)})},R=new IntersectionObserver(P,{threshold:.5});return y.current&&R.observe(y.current),()=>{R.disconnect()}}},[e]),f.useEffect(()=>{if(n){let P=setTimeout(()=>{i(!0)},100);return()=>{clearTimeout(P)}}},[n]);let g=()=>{a(!0)},E=()=>{a(!1),i(!1)};return r?e!=="intent"?[o,y,{}]:[o,y,{onFocus:lt(l,g),onBlur:lt(s,E),onMouseEnter:lt(u,g),onMouseLeave:lt(h,E),onTouchStart:lt(c,g)}]:[!1,y,{}]}function lt(e,t){return r=>{e&&e(r),r.defaultPrevented||t(r)}}function _r(e,t,r){if(r&&!Ft)return[e[0]];if(t){let n=e.findIndex(a=>t[a.route.id]!==void 0);return e.slice(0,n+1)}return e}var Cn="data-react-router-critical-css";function ds({nonce:e}){let{isSpaMode:t,manifest:r,routeModules:n,criticalCss:a}=et(),{errors:o,matches:i}=Ut(),l=_r(i,o,t),s=f.useMemo(()=>yl(l,n,r),[l,n,r]);return f.createElement(f.Fragment,null,typeof a=="string"?f.createElement("style",{[Cn]:"",dangerouslySetInnerHTML:{__html:a}}):null,typeof a=="object"?f.createElement("link",{[Cn]:"",rel:"stylesheet",href:a.href,nonce:e}):null,s.map(({key:u,link:h})=>Pr(h)?f.createElement(ua,{key:u,nonce:e,...h}):f.createElement("link",{key:u,nonce:e,...h})))}function ua({page:e,...t}){let{router:r}=Dr(),n=f.useMemo(()=>Ae(r.routes,e,r.basename),[r.routes,e,r.basename]);return n?f.createElement(Fl,{page:e,matches:n,...t}):null}function Il(e){let{manifest:t,routeModules:r}=et(),[n,a]=f.useState([]);return f.useEffect(()=>{let o=!1;return wl(e,t,r).then(i=>{o||a(i)}),()=>{o=!0}},[e,t,r]),n}function Fl({page:e,matches:t,...r}){let n=Ce(),{manifest:a,routeModules:o}=et(),{basename:i}=Dr(),{loaderData:l,matches:s}=Ut(),u=f.useMemo(()=>Sn(e,t,s,a,n,"data"),[e,t,s,a,n]),h=f.useMemo(()=>Sn(e,t,s,a,n,"assets"),[e,t,s,a,n]),c=f.useMemo(()=>{if(e===n.pathname+n.search+n.hash)return[];let E=new Set,P=!1;if(t.forEach(x=>{let b=a.routes[x.route.id];!b||!b.hasLoader||(!u.some(T=>T.route.id===x.route.id)&&x.route.id in l&&o[x.route.id]?.shouldRevalidate||b.hasClientLoader?P=!0:E.add(x.route.id))}),E.size===0)return[];let R=ea(e,i,"data");return P&&E.size>0&&R.searchParams.set("_routes",t.filter(x=>E.has(x.route.id)).map(x=>x.route.id).join(",")),[R.pathname+R.search]},[i,l,n,a,u,t,e,o]),y=f.useMemo(()=>Lr(h,a),[h,a]),g=Il(h);return f.createElement(f.Fragment,null,c.map(E=>f.createElement("link",{key:E,rel:"prefetch",as:"fetch",href:E,...r})),y.map(E=>f.createElement("link",{key:E,rel:"modulepreload",href:E,...r})),g.map(({key:E,link:P})=>f.createElement("link",{key:E,nonce:r.nonce,...P})))}function fs(){let{isSpaMode:e,routeModules:t}=et(),{errors:r,matches:n,loaderData:a}=Ut(),o=Ce(),i=_r(n,r,e),l=null;r&&(l=r[i[i.length-1].route.id]);let s=[],u=null,h=[];for(let c=0;c<i.length;c++){let y=i[c],g=y.route.id,E=a[g],P=y.params,R=t[g],x=[],b={id:g,data:E,loaderData:E,meta:[],params:y.params,pathname:y.pathname,handle:y.route.handle,error:l};if(h[c]=b,R?.meta?x=typeof R.meta=="function"?R.meta({data:E,loaderData:E,params:P,location:o,matches:h,error:l}):Array.isArray(R.meta)?[...R.meta]:R.meta:u&&(x=[...u]),x=x||[],!Array.isArray(x))throw new Error("The route at "+y.route.path+` returns an invalid value. All route meta functions must return an array of meta objects.
13
+
14
+ To reference the meta function API, see https://remix.run/route/meta`);b.meta=x,h[c]=b,s=[...x],u=s}return f.createElement(f.Fragment,null,s.flat().map(c=>{if(!c)return null;if("tagName"in c){let{tagName:y,...g}=c;if(!kl(y))return console.warn(`A meta object uses an invalid tagName: ${y}. Expected either 'link' or 'meta'`),null;let E=y;return f.createElement(E,{key:JSON.stringify(g),...g})}if("title"in c)return f.createElement("title",{key:"title"},String(c.title));if("charset"in c&&(c.charSet??(c.charSet=c.charset),delete c.charset),"charSet"in c&&c.charSet!=null)return typeof c.charSet=="string"?f.createElement("meta",{key:"charSet",charSet:c.charSet}):null;if("script:ld+json"in c)try{let y=JSON.stringify(c["script:ld+json"]);return f.createElement("script",{key:`script:ld+json:${y}`,type:"application/ld+json",dangerouslySetInnerHTML:{__html:al(y)}})}catch{return null}return f.createElement("meta",{key:JSON.stringify(c),...c})}))}function kl(e){return typeof e=="string"&&/^(meta|link)$/.test(e)}var Ft=!1;function $l(){Ft=!0}function jl(e){let{manifest:t,serverHandoffString:r,isSpaMode:n,renderMeta:a,routeDiscovery:o,ssr:i}=et(),{router:l,static:s,staticContext:u}=Dr(),{matches:h}=Ut(),c=Zo(),y=Tr(o,i);a&&(a.didRenderScripts=!0);let g=_r(h,null,n);f.useEffect(()=>{$l()},[]);let E=f.useMemo(()=>{if(c)return null;let b=u?`window.__reactRouterContext = ${r};window.__reactRouterContext.stream = new ReadableStream({start(controller){window.__reactRouterContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());`:" ",T=s?`${t.hmr?.runtime?`import ${JSON.stringify(t.hmr.runtime)};`:""}${y?"":`import ${JSON.stringify(t.url)}`};
15
+ ${g.map((D,M)=>{let _=`route${M}`,m=t.routes[D.route.id];ge(m,`Route ${D.route.id} not found in manifest`);let{clientActionModule:W,clientLoaderModule:Y,clientMiddlewareModule:G,hydrateFallbackModule:H,module:se}=m,Z=[...W?[{module:W,varName:`${_}_clientAction`}]:[],...Y?[{module:Y,varName:`${_}_clientLoader`}]:[],...G?[{module:G,varName:`${_}_clientMiddleware`}]:[],...H?[{module:H,varName:`${_}_HydrateFallback`}]:[],{module:se,varName:`${_}_main`}];if(Z.length===1)return`import * as ${_} from ${JSON.stringify(se)};`;let q=Z.map(te=>`import * as ${te.varName} from "${te.module}";`).join(`
16
+ `),ne=`const ${_} = {${Z.map(te=>`...${te.varName}`).join(",")}};`;return[q,ne].join(`
17
+ `)}).join(`
18
+ `)}
19
+ ${y?`window.__reactRouterManifest = ${JSON.stringify(Dl(t,l),null,2)};`:""}
20
+ window.__reactRouterRouteModules = {${g.map((D,M)=>`${JSON.stringify(D.route.id)}:route${M}`).join(",")}};
21
+
22
+ import(${JSON.stringify(t.entry.module)});`:" ";return f.createElement(f.Fragment,null,f.createElement("script",{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:b},type:void 0}),f.createElement("script",{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:T},type:"module",async:!0}))},[]),P=Ft||c?[]:Ul(t.entry.imports.concat(Lr(g,t,{includeHydrateFallback:!0}))),R=typeof t.sri=="object"?t.sri:{};return ur(!c,"The <Scripts /> element is a no-op when using RSC and can be safely removed."),Ft||c?null:f.createElement(f.Fragment,null,typeof t.sri=="object"?f.createElement("script",{"rr-importmap":"",type:"importmap",suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:JSON.stringify({integrity:R})}}):null,y?null:f.createElement("link",{rel:"modulepreload",href:t.url,crossOrigin:e.crossOrigin,integrity:R[t.url],suppressHydrationWarning:!0}),f.createElement("link",{rel:"modulepreload",href:t.entry.module,crossOrigin:e.crossOrigin,integrity:R[t.entry.module],suppressHydrationWarning:!0}),P.map(x=>f.createElement("link",{key:x,rel:"modulepreload",href:x,crossOrigin:e.crossOrigin,integrity:R[x],suppressHydrationWarning:!0})),E)}function Ul(e){return[...new Set(e)]}function Hl(...e){return t=>{e.forEach(r=>{typeof r=="function"?r(t):r!=null&&(r.current=t)})}}var hs=class extends f.Component{constructor(e){super(e),this.state={error:e.error||null,location:e.location}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location?{error:e.error||null,location:e.location}:{error:e.error||t.error,location:t.location}}render(){return this.state.error?f.createElement(ca,{error:this.state.error,isOutsideRemixApp:!0}):this.props.children}};function ca({error:e,isOutsideRemixApp:t}){console.error(e);let r=f.createElement("script",{dangerouslySetInnerHTML:{__html:`
23
+ console.log(
24
+ "💿 Hey developer 👋. You can provide a way better UX than this when your app throws errors. Check out https://reactrouter.com/how-to/error-boundary for more information."
25
+ );
26
+ `}});if(We(e))return f.createElement(hr,{title:"Unhandled Thrown Response!"},f.createElement("h1",{style:{fontSize:"24px"}},e.status," ",e.statusText),r);let n;if(e instanceof Error)n=e;else{let a=e==null?"Unknown Error":typeof e=="object"&&"toString"in e?e.toString():JSON.stringify(e);n=new Error(a)}return f.createElement(hr,{title:"Application Error!",isOutsideRemixApp:t},f.createElement("h1",{style:{fontSize:"24px"}},"Application Error"),f.createElement("pre",{style:{padding:"2rem",background:"hsla(10, 50%, 50%, 0.1)",color:"red",overflow:"auto"}},n.stack),r)}function hr({title:e,renderScripts:t,isOutsideRemixApp:r,children:n}){let{routeModules:a}=et();return a.root?.Layout&&!r?n:f.createElement("html",{lang:"en"},f.createElement("head",null,f.createElement("meta",{charSet:"utf-8"}),f.createElement("meta",{name:"viewport",content:"width=device-width,initial-scale=1,viewport-fit=cover"}),f.createElement("title",null,e)),f.createElement("body",null,f.createElement("main",{style:{fontFamily:"system-ui, sans-serif",padding:"2rem"}},n,t?f.createElement(jl,null):null)))}var da=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{da&&(window.__reactRouterVersion="7.10.1")}catch{}var fa=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,ha=f.forwardRef(function({onClick:t,discover:r="render",prefetch:n="none",relative:a,reloadDocument:o,replace:i,state:l,target:s,to:u,preventScrollReset:h,viewTransition:c,...y},g){let{basename:E,unstable_useTransitions:P}=f.useContext(Re),R=typeof u=="string"&&fa.test(u),x,b=!1;if(typeof u=="string"&&R&&(x=u,da))try{let G=new URL(window.location.href),H=u.startsWith("//")?new URL(G.protocol+u):new URL(u),se=Ee(H.pathname,E);H.origin===G.origin&&se!=null?u=se+H.search+H.hash:b=!0}catch{ie(!1,`<Link to="${u}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}let T=ti(u,{relative:a}),[D,M,_]=Nl(n,y),m=Wl(u,{replace:i,state:l,target:s,preventScrollReset:h,relative:a,viewTransition:c,unstable_useTransitions:P});function W(G){t&&t(G),G.defaultPrevented||m(G)}let Y=f.createElement("a",{...y,..._,href:x||T,onClick:b||o?t:W,ref:Hl(g,M),target:s,"data-discover":!R&&r==="render"?"true":void 0});return D&&!R?f.createElement(f.Fragment,null,Y,f.createElement(ua,{page:T})):Y});ha.displayName="Link";var zl=f.forwardRef(function({"aria-current":t="page",caseSensitive:r=!1,className:n="",end:a=!1,style:o,to:i,viewTransition:l,children:s,...u},h){let c=pt(i,{relative:u.relative}),y=Ce(),g=f.useContext(Qe),{navigator:E,basename:P}=f.useContext(Re),R=g!=null&&Xl(c)&&l===!0,x=E.encodeLocation?E.encodeLocation(c).pathname:c.pathname,b=y.pathname,T=g&&g.navigation&&g.navigation.location?g.navigation.location.pathname:null;r||(b=b.toLowerCase(),T=T?T.toLowerCase():null,x=x.toLowerCase()),T&&P&&(T=Ee(T,P)||T);const D=x!=="/"&&x.endsWith("/")?x.length-1:x.length;let M=b===x||!a&&b.startsWith(x)&&b.charAt(D)==="/",_=T!=null&&(T===x||!a&&T.startsWith(x)&&T.charAt(x.length)==="/"),m={isActive:M,isPending:_,isTransitioning:R},W=M?t:void 0,Y;typeof n=="function"?Y=n(m):Y=[n,M?"active":null,_?"pending":null,R?"transitioning":null].filter(Boolean).join(" ");let G=typeof o=="function"?o(m):o;return f.createElement(ha,{...u,"aria-current":W,className:Y,ref:h,style:G,to:i,viewTransition:l},typeof s=="function"?s(m):s)});zl.displayName="NavLink";var ma=f.forwardRef(({discover:e="render",fetcherKey:t,navigate:r,reloadDocument:n,replace:a,state:o,method:i=Dt,action:l,onSubmit:s,relative:u,preventScrollReset:h,viewTransition:c,...y},g)=>{let{unstable_useTransitions:E}=f.useContext(Re),P=va(),R=Jl(l,{relative:u}),x=i.toLowerCase()==="get"?"get":"post",b=typeof l=="string"&&fa.test(l),T=D=>{if(s&&s(D),D.defaultPrevented)return;D.preventDefault();let M=D.nativeEvent.submitter,_=M?.getAttribute("formmethod")||i,m=()=>P(M||D.currentTarget,{fetcherKey:t,method:_,navigate:r,replace:a,state:o,relative:u,preventScrollReset:h,viewTransition:c});E&&r!==!1?f.startTransition(()=>m()):m()};return f.createElement("form",{ref:g,method:x,action:R,onSubmit:n?s:T,...y,"data-discover":!b&&e==="render"?"true":void 0})});ma.displayName="Form";function Bl({getKey:e,storageKey:t,...r}){let n=f.useContext(Ht),{basename:a}=f.useContext(Re),o=Ce(),i=Cr();Gl({getKey:e,storageKey:t});let l=f.useMemo(()=>{if(!n||!e)return null;let u=pr(o,i,a,e);return u!==o.key?u:null},[]);if(!n||n.isSpaMode)return null;let s=((u,h)=>{if(!window.history.state||!window.history.state.key){let c=Math.random().toString(32).slice(2);window.history.replaceState({key:c},"")}try{let y=JSON.parse(sessionStorage.getItem(u)||"{}")[h||window.history.state.key];typeof y=="number"&&window.scrollTo(0,y)}catch(c){console.error(c),sessionStorage.removeItem(u)}}).toString();return f.createElement("script",{...r,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:`(${s})(${JSON.stringify(t||mr)}, ${JSON.stringify(l)})`}})}Bl.displayName="ScrollRestoration";function pa(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function zt(e){let t=f.useContext(Ve);return B(t,pa(e)),t}function ya(e){let t=f.useContext(Qe);return B(t,pa(e)),t}function Wl(e,{target:t,replace:r,state:n,preventScrollReset:a,relative:o,viewTransition:i,unstable_useTransitions:l}={}){let s=Vn(),u=Ce(),h=pt(e,{relative:o});return f.useCallback(c=>{if(Di(c,t)){c.preventDefault();let y=r!==void 0?r:Me(u)===Me(h),g=()=>s(e,{replace:y,state:n,preventScrollReset:a,relative:o,viewTransition:i});l?f.startTransition(()=>g()):g()}},[u,s,h,r,n,t,e,a,o,i,l])}function ms(e){ie(typeof URLSearchParams<"u","You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let t=f.useRef(cr(e)),r=f.useRef(!1),n=Ce(),a=f.useMemo(()=>_i(n.search,r.current?null:t.current),[n.search]),o=Vn(),i=f.useCallback((l,s)=>{const u=cr(typeof l=="function"?l(new URLSearchParams(a)):l);r.current=!0,o("?"+u,s)},[o,a]);return[a,i]}var Yl=0,Vl=()=>`__${String(++Yl)}__`;function va(){let{router:e}=zt("useSubmit"),{basename:t}=f.useContext(Re),r=hi(),n=e.fetch,a=e.navigate;return f.useCallback(async(o,i={})=>{let{action:l,method:s,encType:u,formData:h,body:c}=Ni(o,t);if(i.navigate===!1){let y=i.fetcherKey||Vl();await n(y,r,i.action||l,{preventScrollReset:i.preventScrollReset,formData:h,body:c,formMethod:i.method||s,formEncType:i.encType||u,flushSync:i.flushSync})}else await a(i.action||l,{preventScrollReset:i.preventScrollReset,formData:h,body:c,formMethod:i.method||s,formEncType:i.encType||u,replace:i.replace,state:i.state,fromRouteId:r,flushSync:i.flushSync,viewTransition:i.viewTransition})},[n,a,t,r])}function Jl(e,{relative:t}={}){let{basename:r}=f.useContext(Re),n=f.useContext(xe);B(n,"useFormAction must be used inside a RouteContext");let[a]=n.matches.slice(-1),o={...pt(e||".",{relative:t})},i=Ce();if(e==null){o.search=i.search;let l=new URLSearchParams(o.search),s=l.getAll("index");if(s.some(h=>h==="")){l.delete("index"),s.filter(c=>c).forEach(c=>l.append("index",c));let h=l.toString();o.search=h?`?${h}`:""}}return(!e||e===".")&&a.route.index&&(o.search=o.search?o.search.replace(/^\?/,"?index&"):"?index"),r!=="/"&&(o.pathname=o.pathname==="/"?r:Le([r,o.pathname])),Me(o)}function ps({key:e}={}){let{router:t}=zt("useFetcher"),r=ya("useFetcher"),n=f.useContext(br),a=f.useContext(xe),o=a.matches[a.matches.length-1]?.route.id;B(n,"useFetcher must be used inside a FetchersContext"),B(a,"useFetcher must be used inside a RouteContext"),B(o!=null,'useFetcher can only be used on routes that contain a unique "id"');let i=f.useId(),[l,s]=f.useState(e||i);e&&e!==l&&s(e);let{deleteFetcher:u,getFetcher:h,resetFetcher:c,fetch:y}=t;f.useEffect(()=>(h(l),()=>u(l)),[u,h,l]);let g=f.useCallback(async(M,_)=>{B(o,"No routeId available for fetcher.load()"),await y(l,o,M,_)},[l,o,y]),E=va(),P=f.useCallback(async(M,_)=>{await E(M,{..._,navigate:!1,fetcherKey:l})},[l,E]),R=f.useCallback(M=>c(l,M),[c,l]),x=f.useMemo(()=>{let M=f.forwardRef((_,m)=>f.createElement(ma,{..._,navigate:!1,fetcherKey:l,ref:m}));return M.displayName="fetcher.Form",M},[l]),b=r.fetchers.get(l)||In,T=n.get(l);return f.useMemo(()=>({Form:x,submit:P,load:g,reset:R,...b,data:T}),[x,P,g,R,b,T])}var mr="react-router-scroll-positions",Mt={};function pr(e,t,r,n){let a=null;return n&&(r!=="/"?a=n({...e,pathname:Ee(e.pathname,r)||e.pathname},t):a=n(e,t)),a==null&&(a=e.key),a}function Gl({getKey:e,storageKey:t}={}){let{router:r}=zt("useScrollRestoration"),{restoreScrollPosition:n,preventScrollReset:a}=ya("useScrollRestoration"),{basename:o}=f.useContext(Re),i=Ce(),l=Cr(),s=mi();f.useEffect(()=>(window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration="auto"}),[]),Kl(f.useCallback(()=>{if(s.state==="idle"){let u=pr(i,l,o,e);Mt[u]=window.scrollY}try{sessionStorage.setItem(t||mr,JSON.stringify(Mt))}catch(u){ie(!1,`Failed to save scroll positions in sessionStorage, <ScrollRestoration /> will not work properly (${u}).`)}window.history.scrollRestoration="auto"},[s.state,e,o,i,l,t])),typeof document<"u"&&(f.useLayoutEffect(()=>{try{let u=sessionStorage.getItem(t||mr);u&&(Mt=JSON.parse(u))}catch{}},[t]),f.useLayoutEffect(()=>{let u=r?.enableScrollRestoration(Mt,()=>window.scrollY,e?(h,c)=>pr(h,c,o,e):void 0);return()=>u&&u()},[r,o,e]),f.useLayoutEffect(()=>{if(n!==!1){if(typeof n=="number"){window.scrollTo(0,n);return}try{if(i.hash){let u=document.getElementById(decodeURIComponent(i.hash.slice(1)));if(u){u.scrollIntoView();return}}}catch{ie(!1,`"${i.hash.slice(1)}" is not a decodable element ID. The view will not scroll to it.`)}a!==!0&&window.scrollTo(0,0)}},[i,n,a]))}function Kl(e,t){let{capture:r}={};f.useEffect(()=>{let n=r!=null?{capture:r}:void 0;return window.addEventListener("pagehide",e,n),()=>{window.removeEventListener("pagehide",e,n)}},[e,r])}function Xl(e,{relative:t}={}){let r=f.useContext(Rr);B(r!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:n}=zt("useViewTransitionState"),a=pt(e,{relative:t});if(!r.isTransitioning)return!1;let o=Ee(r.currentLocation.pathname,n)||r.currentLocation.pathname,i=Ee(r.nextLocation.pathname,n)||r.nextLocation.pathname;return At(a.pathname,i)!=null||At(a.pathname,o)!=null}export{rs as A,ns as B,ds as C,jl as D,Ye as E,Ht as F,ql as G,ka as H,Ia as I,ha as L,fs as M,il as N,os as O,Ua as R,Bl as S,Vn as a,ps as b,yi as c,ts as d,Ce as e,ms as f,ja as g,oi as h,We as i,Ql as j,B as k,cs as l,Ae as m,hs as n,as as o,pl as p,Mr as q,f as r,Ll as s,es as t,pi as u,us as v,is as w,ls as x,Zl as y,ss as z};