@codeyam/codeyam-cli 0.1.0-staging.596f0eb → 0.1.0-staging.76566f9
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.
- package/analyzer-template/.build-info.json +7 -7
- package/analyzer-template/log.txt +3 -3
- package/analyzer-template/package.json +2 -1
- package/analyzer-template/packages/ai/src/lib/analyzeScope.ts +2 -0
- package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +22 -0
- package/analyzer-template/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.ts +23 -1
- package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +401 -106
- package/analyzer-template/packages/ai/src/lib/astScopes/types.ts +60 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +734 -45
- package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.ts +2 -1
- package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.ts +715 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.ts +233 -75
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.ts +19 -1
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.ts +34 -1
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.ts +23 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.ts +98 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts +34 -1
- package/analyzer-template/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.ts +236 -24
- package/analyzer-template/packages/ai/src/lib/generateChangesEntityKeyAttributes.ts +18 -1
- package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarioData.ts +41 -0
- package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarios.ts +37 -4
- package/analyzer-template/packages/ai/src/lib/generateEntityDataStructure.ts +5 -0
- package/analyzer-template/packages/ai/src/lib/generateEntityKeyAttributes.ts +213 -12
- package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +36 -25
- package/analyzer-template/packages/ai/src/lib/generateEntityScenarios.ts +114 -11
- package/analyzer-template/packages/ai/src/lib/getConditionalUsagesFromCode.ts +143 -31
- package/analyzer-template/packages/ai/src/lib/guessScenarioDataFromDescription.ts +8 -2
- package/analyzer-template/packages/ai/src/lib/promptGenerators/gatherAttributesMap.ts +7 -0
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.ts +42 -2
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.ts +38 -2
- package/analyzer-template/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.ts +28 -2
- package/analyzer-template/packages/ai/src/lib/worker/SerializableDataStructure.ts +5 -0
- package/analyzer-template/packages/ai/src/lib/worker/analyzeScopeWorker.ts +8 -1
- package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +127 -43
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.ts +158 -0
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.ts +405 -45
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateChangesScenarioData.ts +1 -1
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +260 -133
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.ts +10 -5
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarioData.ts +77 -83
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarios.ts +2 -5
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +196 -86
- package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.d.ts +15 -0
- package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.d.ts.map +1 -0
- package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.js +31 -0
- package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.js.map +1 -0
- package/analyzer-template/packages/aws/package.json +1 -1
- package/analyzer-template/packages/aws/s3/index.ts +1 -0
- package/analyzer-template/packages/aws/src/lib/s3/checkS3ObjectExists.ts +47 -0
- package/analyzer-template/packages/database/src/lib/kysely/db.ts +4 -4
- package/analyzer-template/packages/database/src/lib/kysely/tableRelations.ts +2 -2
- package/analyzer-template/packages/database/src/lib/kysely/tables/debugReportsTable.ts +20 -9
- package/analyzer-template/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.ts +9 -4
- package/analyzer-template/packages/generate/src/lib/deepMerge.ts +26 -1
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts +2 -2
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js +2 -2
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tableRelations.d.ts +2 -2
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts +8 -1
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts +14 -7
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.js +9 -3
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +8 -4
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.js +27 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.js.map +1 -1
- package/analyzer-template/packages/github/dist/types/index.d.ts +4 -3
- package/analyzer-template/packages/github/dist/types/index.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/types/index.js +1 -0
- package/analyzer-template/packages/github/dist/types/index.js.map +1 -1
- package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts +31 -1
- package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts +51 -1
- package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/types/src/types/Scenario.js +21 -1
- package/analyzer-template/packages/github/dist/types/src/types/Scenario.js.map +1 -1
- package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts +48 -0
- package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.js +25 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
- package/analyzer-template/packages/types/index.ts +8 -0
- package/analyzer-template/packages/types/src/types/Analysis.ts +32 -1
- package/analyzer-template/packages/types/src/types/Scenario.ts +75 -6
- package/analyzer-template/packages/types/src/types/ScenariosDataStructure.ts +49 -0
- package/analyzer-template/packages/ui-components/src/components/ScenarioDetailInteractiveView.tsx +23 -7
- package/analyzer-template/packages/utils/dist/types/index.d.ts +4 -3
- package/analyzer-template/packages/utils/dist/types/index.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/types/index.js +1 -0
- package/analyzer-template/packages/utils/dist/types/index.js.map +1 -1
- package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts +31 -1
- package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts +51 -1
- package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/types/src/types/Scenario.js +21 -1
- package/analyzer-template/packages/utils/dist/types/src/types/Scenario.js.map +1 -1
- package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts +48 -0
- package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.js +25 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
- package/analyzer-template/packages/utils/src/lib/lightweightEntityExtractor.ts +27 -0
- package/analyzer-template/playwright/takeElementScreenshot.ts +26 -11
- package/analyzer-template/playwright/takeScreenshot.ts +9 -7
- package/analyzer-template/project/constructMockCode.ts +286 -84
- package/analyzer-template/project/orchestrateCapture/SequentialCaptureTaskRunner.ts +77 -37
- package/analyzer-template/project/reconcileMockDataKeys.ts +5 -2
- package/analyzer-template/project/runMultiScenarioServer.ts +11 -10
- package/analyzer-template/project/serverOnlyModules.ts +71 -23
- package/analyzer-template/project/start.ts +10 -0
- package/analyzer-template/project/startScenarioCapture.ts +73 -41
- package/analyzer-template/project/writeMockDataTsx.ts +115 -54
- package/analyzer-template/project/writeScenarioComponents.ts +571 -162
- package/analyzer-template/project/writeSimpleRoot.ts +11 -13
- package/background/src/lib/virtualized/project/constructMockCode.js +265 -75
- package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
- package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js +67 -32
- package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js.map +1 -1
- package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +5 -2
- package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
- package/background/src/lib/virtualized/project/runMultiScenarioServer.js +11 -9
- package/background/src/lib/virtualized/project/runMultiScenarioServer.js.map +1 -1
- package/background/src/lib/virtualized/project/serverOnlyModules.js +62 -25
- package/background/src/lib/virtualized/project/serverOnlyModules.js.map +1 -1
- package/background/src/lib/virtualized/project/start.js +6 -0
- package/background/src/lib/virtualized/project/start.js.map +1 -1
- package/background/src/lib/virtualized/project/startScenarioCapture.js +54 -31
- package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
- package/background/src/lib/virtualized/project/writeMockDataTsx.js +106 -46
- package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
- package/background/src/lib/virtualized/project/writeScenarioComponents.js +399 -106
- package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
- package/background/src/lib/virtualized/project/writeSimpleRoot.js +11 -11
- package/background/src/lib/virtualized/project/writeSimpleRoot.js.map +1 -1
- package/codeyam-cli/src/cli.js +2 -0
- package/codeyam-cli/src/cli.js.map +1 -1
- package/codeyam-cli/src/commands/debug.js +14 -2
- package/codeyam-cli/src/commands/debug.js.map +1 -1
- package/codeyam-cli/src/commands/recapture.js +215 -0
- package/codeyam-cli/src/commands/recapture.js.map +1 -0
- package/codeyam-cli/src/commands/report.js +26 -23
- package/codeyam-cli/src/commands/report.js.map +1 -1
- package/codeyam-cli/src/utils/backgroundServer.js +2 -2
- package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
- package/codeyam-cli/src/utils/generateReport.js +252 -106
- package/codeyam-cli/src/utils/generateReport.js.map +1 -1
- package/codeyam-cli/src/utils/install-skills.js +2 -2
- package/codeyam-cli/src/utils/install-skills.js.map +1 -1
- package/codeyam-cli/src/utils/queue/__tests__/manager.test.js +38 -0
- package/codeyam-cli/src/utils/queue/__tests__/manager.test.js.map +1 -1
- package/codeyam-cli/src/utils/queue/job.js +140 -16
- package/codeyam-cli/src/utils/queue/job.js.map +1 -1
- package/codeyam-cli/src/utils/queue/manager.js +19 -7
- package/codeyam-cli/src/utils/queue/manager.js.map +1 -1
- package/codeyam-cli/src/utils/queue/persistence.js.map +1 -1
- package/codeyam-cli/src/webserver/app/lib/database.js +47 -0
- package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
- package/codeyam-cli/src/webserver/app/lib/dbNotifier.js.map +1 -1
- package/codeyam-cli/src/webserver/backgroundServer.js +5 -10
- package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
- package/codeyam-cli/src/webserver/bootstrap.js +9 -0
- package/codeyam-cli/src/webserver/bootstrap.js.map +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/EntityItem-wXL1Z2Aq.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeBadge-efWKDYMr.js → EntityTypeBadge-CzGX-miz.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-CXFKsCOD.js +41 -0
- package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-D-9pXIaY.js +25 -0
- package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-CBQPrpT0.js +3 -0
- package/codeyam-cli/src/webserver/build/client/assets/LoadingDots-D1CdlbrV.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/LogViewer-wDPcZNKx.js +3 -0
- package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-4lcOlid-.js +11 -0
- package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-BfmDgXxG.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-CUxUNEEC.js +15 -0
- package/codeyam-cli/src/webserver/build/client/assets/{TruncatedFilePath-COPstp9J.js → TruncatedFilePath-6J7zDUD5.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/_index-DHImXdXq.js +11 -0
- package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-CVP_WGQ3.js +32 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.link-scenario-value-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.update-key-attributes-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.update-valid-values-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/chevron-down-BYimnrHg.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/chunk-JMJ3UQ3L-BambyYE_.js +51 -0
- package/codeyam-cli/src/webserver/build/client/assets/circle-check-CaVsIRxt.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-CgUsG7ib.js +21 -0
- package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-CKnwPCDr.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/dev.empty-DW_hdGUc.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha._-Dt-SjPsw.js +23 -0
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-DyB90fWk.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-D_3ero5o.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-CfLCUi9S.js +5 -0
- package/codeyam-cli/src/webserver/build/client/assets/entry.client-DKJyZfAY.js +29 -0
- package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-DAtOlaWE.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/files-ClR0d32A.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/git-D62Lxxmv.js +15 -0
- package/codeyam-cli/src/webserver/build/client/assets/globals-C9s7Lhdl.css +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/html2canvas-pro.esm-fmIEn3Bc.js +9 -0
- package/codeyam-cli/src/webserver/build/client/assets/index-BosqDOlH.js +3 -0
- package/codeyam-cli/src/webserver/build/client/assets/index-CzNNiTkw.js +9 -0
- package/codeyam-cli/src/webserver/build/client/assets/keyAttributeCoverage-CTlFMihX.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/loader-circle-CNp9QFCX.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/manifest-0d27da29.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/preload-helper-ckwbz45p.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/root-B_wIKCIf.js +56 -0
- package/codeyam-cli/src/webserver/build/client/assets/scenarioStatus-B_8jpV3e.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/search-DDGjYAMJ.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/settings-DgTyB-Wg.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/simulations-CoNWGt0K.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/triangle-alert-CBc5dE1s.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-BMIGFP-m.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/useInteractiveMode-Dk_FQqWJ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{useLastLogLine-3pmpUQB-.js → useLastLogLine-BqPPNjAl.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/useReportContext-DsJbgMY9.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{useToast-DEyawJ8r.js → useToast-DWHcCcl1.js} +1 -1
- package/codeyam-cli/src/webserver/build/server/assets/index-CU58-Ttc.js +1 -0
- package/codeyam-cli/src/webserver/build/server/assets/server-build-D35o2uae.js +175 -0
- package/codeyam-cli/src/webserver/build/server/index.js +1 -1
- package/codeyam-cli/src/webserver/build-info.json +5 -5
- package/codeyam-cli/src/webserver/devServer.js +1 -3
- package/codeyam-cli/src/webserver/devServer.js.map +1 -1
- package/codeyam-cli/templates/codeyam-setup-skill.md +138 -3
- package/codeyam-cli/templates/debug-codeyam.md +625 -0
- package/package.json +14 -14
- package/packages/ai/src/lib/analyzeScope.js +2 -0
- package/packages/ai/src/lib/analyzeScope.js.map +1 -1
- package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +16 -0
- package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
- package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js +16 -0
- package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js.map +1 -1
- package/packages/ai/src/lib/astScopes/processExpression.js +305 -88
- package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +582 -41
- package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js +2 -1
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js +454 -0
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js +173 -55
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js +16 -1
- package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js +30 -1
- package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js +20 -0
- package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.js +86 -0
- package/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +28 -2
- package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js.map +1 -1
- package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js +179 -17
- package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js.map +1 -1
- package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js +6 -0
- package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js.map +1 -1
- package/packages/ai/src/lib/generateChangesEntityScenarioData.js +41 -0
- package/packages/ai/src/lib/generateChangesEntityScenarioData.js.map +1 -1
- package/packages/ai/src/lib/generateChangesEntityScenarios.js +37 -4
- package/packages/ai/src/lib/generateChangesEntityScenarios.js.map +1 -1
- package/packages/ai/src/lib/generateEntityDataStructure.js +4 -0
- package/packages/ai/src/lib/generateEntityDataStructure.js.map +1 -1
- package/packages/ai/src/lib/generateEntityKeyAttributes.js +176 -9
- package/packages/ai/src/lib/generateEntityKeyAttributes.js.map +1 -1
- package/packages/ai/src/lib/generateEntityScenarioData.js +29 -25
- package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
- package/packages/ai/src/lib/generateEntityScenarios.js +105 -9
- package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
- package/packages/ai/src/lib/getConditionalUsagesFromCode.js +84 -14
- package/packages/ai/src/lib/getConditionalUsagesFromCode.js.map +1 -1
- package/packages/ai/src/lib/guessScenarioDataFromDescription.js +2 -1
- package/packages/ai/src/lib/guessScenarioDataFromDescription.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js +6 -0
- package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js +38 -2
- package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js +38 -2
- package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.js +16 -3
- package/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.js.map +1 -1
- package/packages/ai/src/lib/worker/SerializableDataStructure.js.map +1 -1
- package/packages/ai/src/lib/worker/analyzeScopeWorker.js +4 -0
- package/packages/ai/src/lib/worker/analyzeScopeWorker.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +100 -23
- package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js +125 -0
- package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js.map +1 -0
- package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js +298 -45
- package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateChangesScenarioData.js +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateChangesScenarioData.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +201 -80
- package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js +10 -5
- package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js +55 -69
- package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateScenarios.js +2 -5
- package/packages/analyze/src/lib/files/scenarios/generateScenarios.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +171 -81
- package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
- package/packages/database/src/lib/kysely/db.js +2 -2
- package/packages/database/src/lib/kysely/tables/debugReportsTable.js +9 -3
- package/packages/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -1
- package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +8 -4
- package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
- package/packages/generate/src/lib/deepMerge.js +27 -1
- package/packages/generate/src/lib/deepMerge.js.map +1 -1
- package/packages/types/index.js +1 -0
- package/packages/types/index.js.map +1 -1
- package/packages/types/src/types/Scenario.js +21 -1
- package/packages/types/src/types/Scenario.js.map +1 -1
- package/packages/utils/src/lib/lightweightEntityExtractor.js +25 -0
- package/packages/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
- package/scripts/finalize-analyzer.cjs +3 -1
- package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js +0 -238
- package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js.map +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/EntityItem-CVbSvOjo.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-DcwcHyl5.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-WgwC1GfJ.js +0 -26
- package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-IEKom9O2.js +0 -3
- package/codeyam-cli/src/webserver/build/client/assets/LogViewer-BYnfxbUG.js +0 -3
- package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-_lBPJCzG.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-lHVhvsu_.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-d_TBk4GQ.js +0 -5
- package/codeyam-cli/src/webserver/build/client/assets/_index-kGT7VUqj.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-DDGmhu7P.js +0 -7
- package/codeyam-cli/src/webserver/build/client/assets/chevron-down-n_HPRfM_.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/chunk-WWGJGFF6-CbVoyx1U.js +0 -26
- package/codeyam-cli/src/webserver/build/client/assets/circle-check-D1VOYveA.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-YR8jjAlu.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/dev.empty-B8vP3V_s.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha._-CN6aLCT1.js +0 -16
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-DA5Jeu2P.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-BTeitalf.js +0 -5
- package/codeyam-cli/src/webserver/build/client/assets/entry.client-du6UEYD-.js +0 -13
- package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-BpjkhMoi.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/files-BQGvk4lJ.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/git-DVdYRT-I.js +0 -12
- package/codeyam-cli/src/webserver/build/client/assets/globals-CO-U8Bpo.css +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/html2canvas-pro.esm-XQCGvadH.js +0 -5
- package/codeyam-cli/src/webserver/build/client/assets/index-DCG-vks0.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/loader-circle-GazdNeLl.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/manifest-0b694d28.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/root-D3tQP7hx.js +0 -16
- package/codeyam-cli/src/webserver/build/client/assets/search-CIY6XmtE.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/server-build-CMKNK2uU.css +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/settings-CoMDgElu.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/simulations-agkniXp2.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/triangle-alert-B2VUcygF.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/useReportContext-EvdK-zXP.js +0 -1
- package/codeyam-cli/src/webserver/build/server/assets/index-DGVHQEXD.js +0 -1
- package/codeyam-cli/src/webserver/build/server/assets/server-build-CghkTkIL.js +0 -166
- package/codeyam-cli/templates/debug-command.md +0 -303
- /package/codeyam-cli/src/webserver/build/client/assets/{InteractivePreview-CMKNK2uU.css → styles-CMKNK2uU.css} +0 -0
|
@@ -0,0 +1,625 @@
|
|
|
1
|
+
# Debug Scenario or Analysis
|
|
2
|
+
|
|
3
|
+
When a user asks to debug a scenario or analysis (e.g., `/debug-codeyam [ID]`), use this systematic process.
|
|
4
|
+
|
|
5
|
+
## Goal
|
|
6
|
+
|
|
7
|
+
Determine whether a capture failure can be fixed locally (via database changes) or requires a CodeYam engine fix. Either way, produce a detailed debug report.
|
|
8
|
+
|
|
9
|
+
## Definition of Done
|
|
10
|
+
|
|
11
|
+
**Debugging is NOT complete until one of these conditions is met:**
|
|
12
|
+
|
|
13
|
+
1. **SUCCESS (Database Fix)**: Issue fixed via database/config changes, screenshots recaptured, ALL screenshot files verified on disk AND visually inspected
|
|
14
|
+
2. **SUCCESS (File Fix)**: Issue fixed via tmp folder edits, screenshots recaptured with `--capture-only`, ALL screenshot files verified AND visually inspected, changes documented for CodeYam team
|
|
15
|
+
3. **UNFIXABLE**: Issue cannot be fixed locally (rare), documented in final report with full details
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Debug Flow Summary
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
┌─────────────────────────────────────────────────────────────────────┐
|
|
23
|
+
│ Step 0: Query database for scenario status (DO THIS FIRST!) │
|
|
24
|
+
│ Check ALL scenarios in the analysis for failures │
|
|
25
|
+
│ Retrieve the analysis id to use in the debug command │
|
|
26
|
+
│ │ │
|
|
27
|
+
│ ▼ │
|
|
28
|
+
│ Step 1: codeyam debug [ANALYSIS ID] (generates files to inspect) │
|
|
29
|
+
│ Step 2: Identify error type from logs/output │
|
|
30
|
+
│ Step 3: Diagnose root cause category (1-4) │
|
|
31
|
+
│ Step 4: Attempt fix (database edit or universal mock) │
|
|
32
|
+
│ Step 5: Verify locally (curl returns 200) │
|
|
33
|
+
│ │ │
|
|
34
|
+
│ ┌─────────┴─────────┐ │
|
|
35
|
+
│ ▼ ▼ │
|
|
36
|
+
│ Fix worked Fix didn't work │
|
|
37
|
+
│ (DB changes) │ │
|
|
38
|
+
│ │ ▼ │
|
|
39
|
+
│ │ Step 5a: Fix code in tmp folder │
|
|
40
|
+
│ │ (edit files directly, track changes) │
|
|
41
|
+
│ │ │ │
|
|
42
|
+
│ │ ▼ │
|
|
43
|
+
│ │ Verify without regenerating │
|
|
44
|
+
│ │ │ │
|
|
45
|
+
│ ▼ ▼ │
|
|
46
|
+
│ Step 6: Recapture Step 6: Recapture --capture-only │
|
|
47
|
+
│ (normal) (preserves file fixes) │
|
|
48
|
+
│ │ │ │
|
|
49
|
+
│ └─────────┬─────────┘ │
|
|
50
|
+
│ ▼ │
|
|
51
|
+
│ Step 7: Verify screenshots (check for client-side errors) │
|
|
52
|
+
│ │ │
|
|
53
|
+
│ ▼ │
|
|
54
|
+
│ Verify ALL files exist on disk │
|
|
55
|
+
│ │ │
|
|
56
|
+
│ ▼ │
|
|
57
|
+
│ ✅ DONE - Produce Final Debug Report │
|
|
58
|
+
│ (document ALL changes for CodeYam team) │
|
|
59
|
+
└─────────────────────────────────────────────────────────────────────┘
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## What You Can and Cannot Modify
|
|
65
|
+
|
|
66
|
+
**NEVER modify the client's original source code in the workspace.** Only modify files in the tmp folder.
|
|
67
|
+
|
|
68
|
+
**You CAN modify:**
|
|
69
|
+
|
|
70
|
+
- Data in the local SQLite database (`.codeyam/db.sqlite3`)
|
|
71
|
+
- Universal mocks in `.codeyam/universal-mocks`
|
|
72
|
+
- **Files in `/tmp/codeyam/local-dev/{slug}/project/`** - These are temporary copies used for simulation
|
|
73
|
+
- Generated mock files in `__codeyamMocks__/` directories
|
|
74
|
+
- Layout/route files that wrap scenarios
|
|
75
|
+
- Any generated code that has errors
|
|
76
|
+
- Mock data files for testing
|
|
77
|
+
|
|
78
|
+
**IMPORTANT**: When you edit files in the tmp folder, you MUST use `codeyam recapture --capture-only` when recapturing, otherwise your changes will be overwritten! Be sure to address all issues so that the simulation runs correctly. Then, if one of the issues required editing code in the tmp directory you MUST use `codeyam recapture --capture-only`, but if only data was changed then as long as that data is updated in the local database as well you can run `codeyam recapture` and have the system overwrite the tmp project code and use the valid data from the database.
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Step 0: Check for Other Failing Scenarios (MANDATORY FIRST STEP)
|
|
83
|
+
|
|
84
|
+
**DO NOT run `codeyam debug` yet!** First, query the database to check if other scenarios in the same analysis are also failing.
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
# First, get the analysis ID (if you have a scenario ID)
|
|
88
|
+
sqlite3 .codeyam/db.sqlite3 "SELECT analysis_id FROM scenarios WHERE id = 'SCENARIO_ID'"
|
|
89
|
+
|
|
90
|
+
# Then check ALL scenarios for that analysis
|
|
91
|
+
sqlite3 .codeyam/db.sqlite3 "
|
|
92
|
+
SELECT
|
|
93
|
+
s.id,
|
|
94
|
+
s.name,
|
|
95
|
+
json_extract(s.metadata, '$.screenshotPaths') as screenshots
|
|
96
|
+
FROM scenarios s
|
|
97
|
+
WHERE s.analysis_id = 'ANALYSIS_ID'
|
|
98
|
+
"
|
|
99
|
+
|
|
100
|
+
# Check for errors in scenario status
|
|
101
|
+
sqlite3 .codeyam/db.sqlite3 "
|
|
102
|
+
SELECT json_extract(status, '$.scenarios') FROM analyses WHERE id = 'ANALYSIS_ID'
|
|
103
|
+
"
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**If multiple scenarios are failing, ASK THE USER** whether to fix just the requested scenario or all failing scenarios.
|
|
107
|
+
|
|
108
|
+
### Check for Client-Side Errors in Screenshots
|
|
109
|
+
|
|
110
|
+
**IMPORTANT:** Even if the database shows no errors and screenshots exist, the scenario may still have a client-side error. Use the Read tool to view the screenshot file and check for:
|
|
111
|
+
|
|
112
|
+
- Red error boundaries or error messages in the rendered UI
|
|
113
|
+
- "Something went wrong" or similar error text
|
|
114
|
+
- Blank/white screens that should have content
|
|
115
|
+
- React error overlays
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
# View the screenshot to check for client-side errors
|
|
119
|
+
# Use the Read tool on the screenshot path from the database
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
If the screenshot shows a client-side error, proceed to Step 1 to debug it.
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Step 1: Run Debug Command
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
codeyam debug ANALYSIS_ID
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Output includes:
|
|
133
|
+
|
|
134
|
+
- **Project path**: `/tmp/codeyam/local-dev/{slug}/project`
|
|
135
|
+
- **Start command**: How to run the dev server
|
|
136
|
+
- **URL**: Where to access the scenario
|
|
137
|
+
- **Log path**: Where to watch for errors
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## Step 2: Identify the Error Type
|
|
142
|
+
|
|
143
|
+
Read the log file or error output to categorize the issue:
|
|
144
|
+
|
|
145
|
+
| Error Type | Symptoms | Likely Category |
|
|
146
|
+
| ---------------------------------- | ----------------------------------- | ---------------------------------------- |
|
|
147
|
+
| **Syntax error in generated file** | `Unexpected token`, `Parse error` | Category 4 (mock code writing) |
|
|
148
|
+
| **Runtime error** | `TypeError`, `ReferenceError` | Category 1-3 (data issue) or 4 |
|
|
149
|
+
| **Missing mock** | `Cannot read property of undefined` | Category 1-2 (missing in data structure) |
|
|
150
|
+
| **Wrong mock type** | `X is not a function` | Category 3-4 (wrong data or mock code) |
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Step 3: Diagnose Root Cause Category
|
|
155
|
+
|
|
156
|
+
This is the most important step. Determine WHERE in the pipeline the bug originated.
|
|
157
|
+
|
|
158
|
+
### The 4 Error Categories
|
|
159
|
+
|
|
160
|
+
| Category | What's Wrong | Where to Check | Fixable Locally? |
|
|
161
|
+
| -------- | ---------------------------------------------------- | ------------------------- | ---------------------- |
|
|
162
|
+
| **1** | Missing attribute in `isolatedDataStructure` | `entities.metadata` | Sometimes (re-analyze) |
|
|
163
|
+
| **2** | Attribute not merged into `mergedDataStructure` | `analyses.metadata` | Sometimes (re-analyze) |
|
|
164
|
+
| **3** | Data structure complete, but scenario data wrong | `scenarios.metadata` | Yes (edit mockData) |
|
|
165
|
+
| **4** | Data complete, but mock code/mock data written wrong | Generated files in `/tmp` | **No (engine bug)** |
|
|
166
|
+
|
|
167
|
+
### Diagnostic Queries
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
# Category 1: Check isolatedDataStructure
|
|
171
|
+
# Is the attribute traced at all in the entity?
|
|
172
|
+
sqlite3 .codeyam/db.sqlite3 \
|
|
173
|
+
"SELECT json_extract(metadata, '$.isolatedDataStructure') FROM entities WHERE sha = 'ENTITY_SHA'" \
|
|
174
|
+
| python3 -m json.tool
|
|
175
|
+
|
|
176
|
+
# Category 2: Check mergedDataStructure
|
|
177
|
+
# Was the attribute properly merged from dependencies?
|
|
178
|
+
sqlite3 .codeyam/db.sqlite3 \
|
|
179
|
+
"SELECT json_extract(metadata, '$.mergedDataStructure') FROM analyses WHERE id = 'ANALYSIS_ID'" \
|
|
180
|
+
| python3 -m json.tool
|
|
181
|
+
|
|
182
|
+
# Category 2 (also check): scenariosDataStructure
|
|
183
|
+
sqlite3 .codeyam/db.sqlite3 \
|
|
184
|
+
"SELECT json_extract(metadata, '$.scenariosDataStructure') FROM analyses WHERE id = 'ANALYSIS_ID'" \
|
|
185
|
+
| python3 -m json.tool
|
|
186
|
+
|
|
187
|
+
# Category 3: Check scenario mockData
|
|
188
|
+
# Did the LLM generate correct mock data?
|
|
189
|
+
sqlite3 .codeyam/db.sqlite3 \
|
|
190
|
+
"SELECT json_extract(metadata, '$.data.mockData') FROM scenarios WHERE id = 'SCENARIO_ID'" \
|
|
191
|
+
| python3 -m json.tool
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### Diagnosis Flow
|
|
195
|
+
|
|
196
|
+
1. **Start with the error** - What attribute/value is missing or wrong at runtime?
|
|
197
|
+
2. **Check `isolatedDataStructure`** - Is the attribute traced in the entity? If missing → Category 1
|
|
198
|
+
3. **Check `mergedDataStructure`** - Is the attribute present after merging? If missing → Category 2
|
|
199
|
+
4. **Check `scenariosDataStructure`** - Is the data structure for mocks correct? If wrong → Category 2
|
|
200
|
+
5. **Check scenario `mockData`** - Does the scenario have correct mock values? If wrong → Category 3
|
|
201
|
+
6. **Check generated mock code** - Is the mock code syntactically/semantically correct? If wrong → **Category 4 (engine bug)**
|
|
202
|
+
7. **Check generated imports** - Are the imports correct? Are entities containing environment variables mocked out? If wrong → **Category 4 (engine bug)**
|
|
203
|
+
|
|
204
|
+
### Category 4 Indicators (Engine Bug)
|
|
205
|
+
|
|
206
|
+
The issue is Category 4 if:
|
|
207
|
+
|
|
208
|
+
- All data structures in the database look correct
|
|
209
|
+
- The scenario's mockData has the right keys and values
|
|
210
|
+
- BUT the generated mock code has syntax errors, wrong structure, or doesn't match the data
|
|
211
|
+
- Database edits don't fix the generated code (it regenerates wrong)
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## Step 4: Attempt Fix
|
|
216
|
+
|
|
217
|
+
### For Categories 1-2 (Data Structure Issues)
|
|
218
|
+
|
|
219
|
+
These usually require re-running analysis. You can try:
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
# Delete the analysis and re-analyze
|
|
223
|
+
codeyam analyze --entity EntityName path/to/file.tsx
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
### For Category 3 (Scenario Data Issues)
|
|
227
|
+
|
|
228
|
+
Fix the mockData directly in the database:
|
|
229
|
+
|
|
230
|
+
```bash
|
|
231
|
+
# Export metadata
|
|
232
|
+
sqlite3 .codeyam/db.sqlite3 "SELECT metadata FROM scenarios WHERE id = 'SCENARIO_ID'" > /tmp/metadata.json
|
|
233
|
+
|
|
234
|
+
# Edit with Python
|
|
235
|
+
python3 << 'EOF'
|
|
236
|
+
import json
|
|
237
|
+
with open('/tmp/metadata.json') as f:
|
|
238
|
+
data = json.loads(f.read())
|
|
239
|
+
|
|
240
|
+
# Fix the mockData
|
|
241
|
+
data['data']['mockData']['keyName'] = {"fixed": "value"}
|
|
242
|
+
|
|
243
|
+
with open('/tmp/metadata_fixed.json', 'w') as f:
|
|
244
|
+
f.write(json.dumps(data))
|
|
245
|
+
EOF
|
|
246
|
+
|
|
247
|
+
# Update database (use Python to avoid escaping issues)
|
|
248
|
+
python3 << 'EOF'
|
|
249
|
+
import sqlite3
|
|
250
|
+
import json
|
|
251
|
+
|
|
252
|
+
with open('/tmp/metadata_fixed.json') as f:
|
|
253
|
+
metadata = f.read()
|
|
254
|
+
|
|
255
|
+
conn = sqlite3.connect('.codeyam/db.sqlite3')
|
|
256
|
+
conn.execute("UPDATE scenarios SET metadata = ? WHERE id = 'SCENARIO_ID'", (metadata,))
|
|
257
|
+
conn.commit()
|
|
258
|
+
conn.close()
|
|
259
|
+
EOF
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### For Category 4 (Code Generation Issues)
|
|
263
|
+
|
|
264
|
+
**CAN be fixed locally by editing files in the tmp folder!** See Step 5a below.
|
|
265
|
+
|
|
266
|
+
After fixing, use `codeyam recapture --capture-only` to capture without regenerating the (now-fixed) files.
|
|
267
|
+
|
|
268
|
+
### Universal Mocks (for infrastructure dependencies)
|
|
269
|
+
|
|
270
|
+
You can use universal mocks to mock out functions that are not detected by the analysis (are not part of the dependency tree). This often includes things like middleware or functions that run on startup and require environment variables.
|
|
271
|
+
|
|
272
|
+
## Quick Reference: Mock Path Decision Tree
|
|
273
|
+
|
|
274
|
+
```
|
|
275
|
+
Where is the error coming from?
|
|
276
|
+
│
|
|
277
|
+
├── node_modules package (e.g., @prisma/client, @supabase/supabase-js)
|
|
278
|
+
│ └── Mock path: .codeyam/universal-mocks/node_modules/{package}.ts
|
|
279
|
+
│ Example: .codeyam/universal-mocks/node_modules/@prisma/client.ts
|
|
280
|
+
│
|
|
281
|
+
└── Project file (e.g., lib/db.ts, packages/prisma/index.ts)
|
|
282
|
+
└── Mock path: .codeyam/universal-mocks/{same-path-as-original}
|
|
283
|
+
Example: .codeyam/universal-mocks/lib/db.ts
|
|
284
|
+
Example: .codeyam/universal-mocks/packages/prisma/index.ts
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
## Quick Reference: Mock Writing Rules
|
|
288
|
+
|
|
289
|
+
**BEFORE writing any mock:**
|
|
290
|
+
|
|
291
|
+
1. Read the original file first
|
|
292
|
+
2. Note all its export names exactly
|
|
293
|
+
|
|
294
|
+
**WHEN writing the mock:**
|
|
295
|
+
|
|
296
|
+
1. Export names MUST match exactly (case-sensitive)
|
|
297
|
+
2. ALL code MUST be inside exports (no helper variables outside)
|
|
298
|
+
3. Keep it minimal - empty methods are fine
|
|
299
|
+
|
|
300
|
+
**AFTER writing the mock:**
|
|
301
|
+
|
|
302
|
+
```bash
|
|
303
|
+
codeyam validate-mock .codeyam/universal-mocks/{path-to-your-mock}
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
---
|
|
307
|
+
|
|
308
|
+
## Step 5: Verify Database Fixes Locally
|
|
309
|
+
|
|
310
|
+
After making **database changes** (Categories 1-3):
|
|
311
|
+
|
|
312
|
+
1. **Re-run `codeyam debug ID`** to regenerate scenario files with updated data
|
|
313
|
+
2. **Start the dev server** and curl the URL to check for errors:
|
|
314
|
+
```bash
|
|
315
|
+
curl -s http://localhost:3112/static/... | head -50
|
|
316
|
+
```
|
|
317
|
+
3. **Check for 200 response** (no `statusCode:500`)
|
|
318
|
+
|
|
319
|
+
**If verification fails and you've already tried database fixes:** Proceed to Step 5a to fix code directly.
|
|
320
|
+
|
|
321
|
+
---
|
|
322
|
+
|
|
323
|
+
## Step 5a: Fix Code Issues in Tmp Folder (Category 4)
|
|
324
|
+
|
|
325
|
+
If the error is in bad imports, generated code or mock files, you can fix them directly in the tmp folder:
|
|
326
|
+
|
|
327
|
+
### Locate the Problematic File
|
|
328
|
+
|
|
329
|
+
Files are in `/tmp/codeyam/local-dev/{slug}/project/`. Common locations:
|
|
330
|
+
|
|
331
|
+
- **Generated mocks**: `__codeyamMocks__/MockData_*.tsx` or `__codeyamMocks__/MockCode_*.tsx`
|
|
332
|
+
- **Scenario layouts**: `app/static/{projectSlug}/{analysisId}/{entitySlug}/{scenarioSlug}/`
|
|
333
|
+
- **Route files**: `app/routes/` or `pages/` depending on framework
|
|
334
|
+
|
|
335
|
+
### Make the Fix
|
|
336
|
+
|
|
337
|
+
Edit the problematic file directly using the Edit tool. Common fixes include:
|
|
338
|
+
|
|
339
|
+
- **Syntax errors**: Fix missing brackets, commas, or quotes in generated code
|
|
340
|
+
- **Wrong import paths**: Correct import statements
|
|
341
|
+
- **Missing exports**: Add missing named or default exports
|
|
342
|
+
- **Type errors**: Fix TypeScript type issues
|
|
343
|
+
- **Wrong mock structure**: Adjust the shape of generated mock data
|
|
344
|
+
|
|
345
|
+
### Track Your Changes (MANDATORY)
|
|
346
|
+
|
|
347
|
+
For every file you edit, record:
|
|
348
|
+
|
|
349
|
+
- The full file path
|
|
350
|
+
- What you changed (brief description)
|
|
351
|
+
- The before/after code (for the final report)
|
|
352
|
+
|
|
353
|
+
### Verify Without Regenerating
|
|
354
|
+
|
|
355
|
+
After editing files, **do NOT run `codeyam debug` again** (it would overwrite your changes).
|
|
356
|
+
|
|
357
|
+
Instead, manually start the dev server:
|
|
358
|
+
|
|
359
|
+
```bash
|
|
360
|
+
cd /tmp/codeyam/local-dev/{slug}/project
|
|
361
|
+
npm run dev # or pnpm dev / yarn dev
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
Then curl the scenario URL to verify the fix works:
|
|
365
|
+
|
|
366
|
+
```bash
|
|
367
|
+
curl -s http://localhost:3112/static/codeyam-sample | head -50
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
---
|
|
371
|
+
|
|
372
|
+
## Change Tracking (MANDATORY)
|
|
373
|
+
|
|
374
|
+
**You MUST track all changes for the final report.** This is essential for the CodeYam team to fix engine bugs.
|
|
375
|
+
|
|
376
|
+
### Database Changes
|
|
377
|
+
|
|
378
|
+
For each database modification, record:
|
|
379
|
+
|
|
380
|
+
| Table | Record ID | Field Path | Before | After |
|
|
381
|
+
| ----------- | --------- | ---------------------------- | --------- | ----------- |
|
|
382
|
+
| `scenarios` | `abc123` | `metadata.data.mockData.key` | `"wrong"` | `"correct"` |
|
|
383
|
+
|
|
384
|
+
### File Changes
|
|
385
|
+
|
|
386
|
+
For each file modification in the tmp folder, record:
|
|
387
|
+
|
|
388
|
+
| File Path | Change Description |
|
|
389
|
+
| ---------------------------------------------------- | ------------------------------------- |
|
|
390
|
+
| `/tmp/.../project/__codeyamMocks__/MockData_xyz.tsx` | Fixed missing comma in object literal |
|
|
391
|
+
|
|
392
|
+
Include the actual diff:
|
|
393
|
+
|
|
394
|
+
```diff
|
|
395
|
+
--- before
|
|
396
|
+
+++ after
|
|
397
|
+
@@ -10,3 +10,3 @@
|
|
398
|
+
- key: "value"
|
|
399
|
+
+ key: "value",
|
|
400
|
+
anotherKey: "value2"
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
---
|
|
404
|
+
|
|
405
|
+
## Step 6: Recapture Screenshots
|
|
406
|
+
|
|
407
|
+
**Only proceed here if Step 5 or 5a verification passed.**
|
|
408
|
+
|
|
409
|
+
### Choose the Right Recapture Mode
|
|
410
|
+
|
|
411
|
+
**If you only made DATABASE changes (Categories 1-3):**
|
|
412
|
+
|
|
413
|
+
```bash
|
|
414
|
+
codeyam recapture SCENARIO_ID
|
|
415
|
+
```
|
|
416
|
+
|
|
417
|
+
This will regenerate the tmp folder files using the updated database data, then capture screenshots.
|
|
418
|
+
|
|
419
|
+
**If you made FILE changes in the tmp folder (Category 4):**
|
|
420
|
+
|
|
421
|
+
```bash
|
|
422
|
+
codeyam recapture SCENARIO_ID --capture-only
|
|
423
|
+
```
|
|
424
|
+
|
|
425
|
+
**CRITICAL**: The `--capture-only` flag preserves your manual file fixes. Without this flag, your changes would be overwritten!
|
|
426
|
+
|
|
427
|
+
### Verify Files After Capture
|
|
428
|
+
|
|
429
|
+
```bash
|
|
430
|
+
# Check database for screenshot paths
|
|
431
|
+
sqlite3 .codeyam/db.sqlite3 "SELECT name, json_extract(metadata, '$.screenshotPaths') FROM scenarios WHERE analysis_id = 'ANALYSIS_ID'"
|
|
432
|
+
|
|
433
|
+
# Verify files actually exist
|
|
434
|
+
find .codeyam/captures -name "*.png" -path "*ANALYSIS_ID*" -mmin -5
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
---
|
|
438
|
+
|
|
439
|
+
## Step 7: Verify Screenshots for Client-Side Errors
|
|
440
|
+
|
|
441
|
+
**IMPORTANT**: Even if capture completes successfully, the screenshots may show client-side errors!
|
|
442
|
+
|
|
443
|
+
### View the Screenshots
|
|
444
|
+
|
|
445
|
+
Use the Read tool to view each captured screenshot file:
|
|
446
|
+
|
|
447
|
+
```bash
|
|
448
|
+
# Get the screenshot path from the database
|
|
449
|
+
sqlite3 .codeyam/db.sqlite3 "SELECT json_extract(metadata, '$.screenshotPaths[0]') FROM scenarios WHERE id = 'SCENARIO_ID'"
|
|
450
|
+
```
|
|
451
|
+
|
|
452
|
+
Then read the screenshot file to visually inspect it.
|
|
453
|
+
|
|
454
|
+
### Check for These Issues
|
|
455
|
+
|
|
456
|
+
- **Red error boundaries** or React error overlays
|
|
457
|
+
- **"Something went wrong"** or similar error text
|
|
458
|
+
- **Blank/white screens** that should have content
|
|
459
|
+
- **Missing components** or broken layouts
|
|
460
|
+
- **Console errors** shown in error overlays
|
|
461
|
+
|
|
462
|
+
If the screenshot shows a dedicated 500 page with no clear error then you may want to find and comment out any error boundary logic that is catching errors and preventing you from easily reading them.
|
|
463
|
+
|
|
464
|
+
### If Screenshot Shows Errors
|
|
465
|
+
|
|
466
|
+
1. The fix didn't fully work - go back to Step 5 or 5a
|
|
467
|
+
2. Check the log file for additional error details:
|
|
468
|
+
```bash
|
|
469
|
+
tail -100 /tmp/codeyam/local-dev/{slug}/codeyam/log.txt
|
|
470
|
+
```
|
|
471
|
+
3. Fix the remaining issues
|
|
472
|
+
4. Run recapture again (with `--capture-only` if you edited files)
|
|
473
|
+
|
|
474
|
+
---
|
|
475
|
+
|
|
476
|
+
## Final Debug Report (MANDATORY)
|
|
477
|
+
|
|
478
|
+
**Always produce this report**, whether the issue was fixed or identified as an engine bug.
|
|
479
|
+
|
|
480
|
+
---
|
|
481
|
+
|
|
482
|
+
## Debug Session Report
|
|
483
|
+
|
|
484
|
+
### Issue Summary
|
|
485
|
+
|
|
486
|
+
**Error:** `[Exact error message, e.g., "Transform failed: Unexpected token at line 66"]`
|
|
487
|
+
|
|
488
|
+
**Entity:** `[Entity name]` in `[file/path.tsx]`
|
|
489
|
+
|
|
490
|
+
**Root Cause Category:** [1, 2, 3, or 4]
|
|
491
|
+
|
|
492
|
+
**Outcome:** [Fixed via database changes / Fixed via file edits (engine bug) / Unfixable]
|
|
493
|
+
|
|
494
|
+
### Affected Scenarios
|
|
495
|
+
|
|
496
|
+
| Scenario ID | Name | Analysis ID | Status |
|
|
497
|
+
| ----------- | -------- | --------------- | -------------------- |
|
|
498
|
+
| `[id]` | `[name]` | `[analysis-id]` | [Fixed / Engine bug] |
|
|
499
|
+
|
|
500
|
+
### Root Cause Category Determination
|
|
501
|
+
|
|
502
|
+
**Category identified:** [1 / 2 / 3 / 4]
|
|
503
|
+
|
|
504
|
+
**Evidence:**
|
|
505
|
+
|
|
506
|
+
- [ ] **Category 1** (isolatedDataStructure): [What was missing/wrong in entity metadata?]
|
|
507
|
+
- [ ] **Category 2** (mergedDataStructure): [What was missing/wrong after merge?]
|
|
508
|
+
- [ ] **Category 3** (scenario mockData): [What was wrong in the LLM-generated data?]
|
|
509
|
+
- [ ] **Category 4** (mock code writing): [What was wrong in the generated code?]
|
|
510
|
+
|
|
511
|
+
**How determined:**
|
|
512
|
+
[Explain what you checked and what you found. Include relevant JSON snippets.]
|
|
513
|
+
|
|
514
|
+
### Database Changes Made (if any)
|
|
515
|
+
|
|
516
|
+
| Table | Record ID | Field Path | Before | After |
|
|
517
|
+
| --------- | --------- | ---------- | ------------- | ------------- |
|
|
518
|
+
| `[table]` | `[id]` | `[path]` | `[old value]` | `[new value]` |
|
|
519
|
+
|
|
520
|
+
**SQL/Python commands used:**
|
|
521
|
+
|
|
522
|
+
```sql
|
|
523
|
+
[Include the exact commands]
|
|
524
|
+
```
|
|
525
|
+
|
|
526
|
+
### File Changes Made (if any)
|
|
527
|
+
|
|
528
|
+
If you edited files in the tmp folder to fix Category 4 issues:
|
|
529
|
+
|
|
530
|
+
| File Path | Change Description |
|
|
531
|
+
| -------------------------------------------------------- | -------------------------- |
|
|
532
|
+
| `/tmp/codeyam/local-dev/{slug}/project/path/to/file.tsx` | [Brief description of fix] |
|
|
533
|
+
|
|
534
|
+
**Diffs:**
|
|
535
|
+
|
|
536
|
+
```diff
|
|
537
|
+
--- before
|
|
538
|
+
+++ after
|
|
539
|
+
@@ -line,count +line,count @@
|
|
540
|
+
-[old code]
|
|
541
|
+
+[new code]
|
|
542
|
+
```
|
|
543
|
+
|
|
544
|
+
**Recapture command used:**
|
|
545
|
+
|
|
546
|
+
```bash
|
|
547
|
+
codeyam recapture SCENARIO_ID --capture-only
|
|
548
|
+
```
|
|
549
|
+
|
|
550
|
+
### For Category 4 (Code Generation Bug) - Required Details
|
|
551
|
+
|
|
552
|
+
If this is an engine bug, include:
|
|
553
|
+
|
|
554
|
+
**What the data looks like (correct):**
|
|
555
|
+
|
|
556
|
+
```json
|
|
557
|
+
[Show the relevant data structure from the database that looks correct]
|
|
558
|
+
```
|
|
559
|
+
|
|
560
|
+
**What the generated code looks like (wrong):**
|
|
561
|
+
|
|
562
|
+
```javascript
|
|
563
|
+
[Show the problematic generated mock code]
|
|
564
|
+
```
|
|
565
|
+
|
|
566
|
+
**What the generated code should look like:**
|
|
567
|
+
|
|
568
|
+
```javascript
|
|
569
|
+
[Show what correct code would look like]
|
|
570
|
+
```
|
|
571
|
+
|
|
572
|
+
**Pattern/Edge case:**
|
|
573
|
+
[Describe the pattern that causes this bug, e.g., "Function call signatures like '()' in array item schemas get converted to empty computed property keys"]
|
|
574
|
+
|
|
575
|
+
### Verification
|
|
576
|
+
|
|
577
|
+
- [ ] Scenario loads without errors (curl returns 200)
|
|
578
|
+
- [ ] Screenshots recaptured successfully
|
|
579
|
+
- [ ] Used `--capture-only` flag (if file changes were made)
|
|
580
|
+
- [ ] Screenshot files verified to exist on disk
|
|
581
|
+
- [ ] Screenshots visually inspected - no client-side errors visible
|
|
582
|
+
- [ ] All changes documented above for CodeYam team
|
|
583
|
+
|
|
584
|
+
---
|
|
585
|
+
|
|
586
|
+
## Saving and Uploading the Report (MANDATORY)
|
|
587
|
+
|
|
588
|
+
After completing the debug session, **you MUST save the report**:
|
|
589
|
+
|
|
590
|
+
1. **Write the report to file:**
|
|
591
|
+
|
|
592
|
+
```bash
|
|
593
|
+
# Write the full "Debug Session Report" section above to this file
|
|
594
|
+
# Use the Write tool to save to:
|
|
595
|
+
.codeyam/debug-report.md
|
|
596
|
+
```
|
|
597
|
+
|
|
598
|
+
2. **Ask user if they want to upload:**
|
|
599
|
+
After saving, ask the user: "Would you like me to upload this debug report to CodeYam for the team to review?"
|
|
600
|
+
|
|
601
|
+
- If the user response affirmatively then run `codeyam report --upload` to upload the report.
|
|
602
|
+
|
|
603
|
+
The report will be:
|
|
604
|
+
|
|
605
|
+
- Included in the delta tarball at the root level for easy access
|
|
606
|
+
- Stored in the database metadata for searchability
|
|
607
|
+
- Available to CodeYam engineers when they download the report
|
|
608
|
+
|
|
609
|
+
---
|
|
610
|
+
|
|
611
|
+
### Helper Queries
|
|
612
|
+
|
|
613
|
+
```bash
|
|
614
|
+
# Get scenario details
|
|
615
|
+
sqlite3 .codeyam/db.sqlite3 "SELECT id, analysis_id, name FROM scenarios WHERE id = 'ID'"
|
|
616
|
+
|
|
617
|
+
# Get entity for analysis
|
|
618
|
+
sqlite3 .codeyam/db.sqlite3 "SELECT e.name, e.file_path FROM entities e JOIN analyses a ON e.sha = a.entity_sha WHERE a.id = 'ANALYSIS_ID'"
|
|
619
|
+
|
|
620
|
+
# List all scenarios for an analysis
|
|
621
|
+
sqlite3 .codeyam/db.sqlite3 "SELECT id, name FROM scenarios WHERE analysis_id = 'ANALYSIS_ID'"
|
|
622
|
+
|
|
623
|
+
# Check for dependent analyses
|
|
624
|
+
sqlite3 .codeyam/db.sqlite3 "SELECT json_extract(metadata, '$.dependentAnalyses') FROM analyses WHERE id = 'ANALYSIS_ID'" | python3 -m json.tool
|
|
625
|
+
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codeyam/codeyam-cli",
|
|
3
|
-
"version": "0.1.0-staging.
|
|
3
|
+
"version": "0.1.0-staging.76566f9",
|
|
4
4
|
"description": "Local development CLI for CodeYam analysis",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -10,20 +10,20 @@
|
|
|
10
10
|
"postinstall": "node ./scripts/finalize-analyzer.cjs"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@anthropic-ai/claude-code": "^2.0.
|
|
13
|
+
"@anthropic-ai/claude-code": "^2.0.76",
|
|
14
14
|
"@anthropic-ai/sdk": "^0.71.0",
|
|
15
|
-
"@aws-sdk/client-dynamodb": "^3.
|
|
16
|
-
"@aws-sdk/s3-request-presigner": "^3.
|
|
15
|
+
"@aws-sdk/client-dynamodb": "^3.956.0",
|
|
16
|
+
"@aws-sdk/s3-request-presigner": "^3.940.0",
|
|
17
17
|
"@aws-sdk/util-dynamodb": "^3.902.0",
|
|
18
|
-
"@modelcontextprotocol/sdk": "^1.
|
|
18
|
+
"@modelcontextprotocol/sdk": "^1.25.1",
|
|
19
19
|
"@octokit/auth-app": "^8.1.0",
|
|
20
20
|
"@octokit/request": "^10.0.3",
|
|
21
21
|
"@octokit/rest": "^22.0.0",
|
|
22
|
-
"@react-router/express": "^7.
|
|
23
|
-
"@react-router/node": "^7.
|
|
24
|
-
"react-router": "^7.
|
|
22
|
+
"@react-router/express": "^7.11.0",
|
|
23
|
+
"@react-router/node": "^7.11.0",
|
|
24
|
+
"react-router": "^7.11.0",
|
|
25
25
|
"@sendgrid/mail": "^8.1.4",
|
|
26
|
-
"@supabase/supabase-js": "2.
|
|
26
|
+
"@supabase/supabase-js": "2.88.0",
|
|
27
27
|
"better-sqlite3": "^12.4.1",
|
|
28
28
|
"chalk": "^5.6.2",
|
|
29
29
|
"chokidar": "^4.0.3",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"get-port": "^7.1.0",
|
|
36
36
|
"htmlparser2": "^10.0.0",
|
|
37
37
|
"isbot": "^4",
|
|
38
|
-
"jsdom": "^27.
|
|
38
|
+
"jsdom": "^27.4.0",
|
|
39
39
|
"json5": "^2.2.3",
|
|
40
40
|
"jsonc-parser": "^3.2.1",
|
|
41
41
|
"kysely": "^0.28.5",
|
|
@@ -50,11 +50,11 @@
|
|
|
50
50
|
"playwright": "^1.56.1",
|
|
51
51
|
"pluralize": "^8.0.0",
|
|
52
52
|
"prompts": "^2.4.2",
|
|
53
|
-
"react": "
|
|
54
|
-
"react-diff-viewer-continued": "^
|
|
55
|
-
"react-dom": "
|
|
53
|
+
"react": "^19.2.3",
|
|
54
|
+
"react-diff-viewer-continued": "^4.0.6",
|
|
55
|
+
"react-dom": "^19.2.3",
|
|
56
56
|
"react-resizable": "^3.0.5",
|
|
57
|
-
"react-syntax-highlighter": "^15.
|
|
57
|
+
"react-syntax-highlighter": "^15.6.1",
|
|
58
58
|
"sharp": "^0.34.5",
|
|
59
59
|
"simple-git": "^3.28.0",
|
|
60
60
|
"typescript": "^5.9.3",
|