@codeyam/codeyam-cli 0.1.0-staging.1 → 0.1.0-staging.da5baf5
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 +5 -5
- package/analyzer-template/packages/ai/index.ts +2 -1
- package/analyzer-template/packages/ai/package.json +2 -2
- package/analyzer-template/packages/ai/scripts/ai-test-matrix.mjs +424 -0
- package/analyzer-template/packages/ai/src/lib/analyzeScope.ts +24 -0
- package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +6 -16
- package/analyzer-template/packages/ai/src/lib/astScopes/methodSemantics.ts +197 -0
- package/analyzer-template/packages/ai/src/lib/astScopes/paths.ts +28 -2
- package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +127 -4
- package/analyzer-template/packages/ai/src/lib/checkAllAttributes.ts +1 -3
- package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +1821 -542
- package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.ts +138 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.ts +1 -1
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.ts +139 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/DebugTracer.ts +224 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/PathManager.ts +203 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/README.md +294 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.ts +161 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/VisitedTracker.ts +235 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts +14 -6
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/selectBestValue.ts +70 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/uniqueIdUtils.ts +113 -0
- package/analyzer-template/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.ts +36 -0
- package/analyzer-template/packages/ai/src/lib/generateChangesEntityDocumentation.ts +20 -2
- package/analyzer-template/packages/ai/src/lib/generateChangesEntityKeyAttributes.ts +51 -107
- package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarioData.ts +56 -160
- package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarios.ts +79 -265
- package/analyzer-template/packages/ai/src/lib/generateEntityDocumentation.ts +16 -2
- package/analyzer-template/packages/ai/src/lib/generateEntityKeyAttributes.ts +53 -176
- package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +53 -154
- package/analyzer-template/packages/ai/src/lib/generateEntityScenarios.ts +84 -254
- package/analyzer-template/packages/ai/src/lib/generateStatementAnalysis.ts +48 -71
- package/analyzer-template/packages/ai/src/lib/getConditionalUsagesFromCode.ts +27 -6
- package/analyzer-template/packages/ai/src/lib/getLLMCallStats.ts +0 -14
- package/analyzer-template/packages/ai/src/lib/modelInfo.ts +15 -0
- package/analyzer-template/packages/ai/src/lib/promptGenerators/gatherAttributesMap.ts +42 -4
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityDocumentationGenerator.ts +8 -33
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.ts +54 -62
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.ts +93 -109
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityDocumentationGenerator.ts +8 -27
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.ts +33 -38
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.ts +30 -30
- package/analyzer-template/packages/ai/src/lib/types/index.ts +2 -0
- package/analyzer-template/packages/ai/src/lib/worker/SerializableDataStructure.ts +39 -0
- package/analyzer-template/packages/analyze/src/lib/FileAnalyzer.ts +52 -6
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.ts +238 -0
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getDeclaredEntityNode.ts +25 -0
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/index.ts +2 -0
- package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +8 -10
- package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +6 -1
- package/analyzer-template/packages/analyze/src/lib/files/analyzeChange.ts +34 -15
- package/analyzer-template/packages/analyze/src/lib/files/analyzeEntity.ts +17 -3
- package/analyzer-template/packages/analyze/src/lib/files/analyzeInitial.ts +35 -16
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +7 -1
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.ts +9 -1
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarioData.ts +6 -1
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarios.ts +9 -1
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +15 -7
- package/analyzer-template/packages/aws/package.json +2 -2
- package/analyzer-template/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.ts +28 -21
- package/analyzer-template/packages/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.ts +18 -11
- package/analyzer-template/packages/generate/src/lib/scenarioComponent.ts +6 -3
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +28 -21
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js +18 -11
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponent.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponent.js +5 -3
- package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponent.js.map +1 -1
- package/analyzer-template/packages/github/dist/utils/index.d.ts +2 -0
- package/analyzer-template/packages/github/dist/utils/index.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/utils/index.js +2 -0
- package/analyzer-template/packages/github/dist/utils/index.js.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.d.ts +25 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.js +40 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.js.map +1 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getNextRoutePath.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getNextRoutePath.js +5 -3
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getNextRoutePath.js.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getRemixRoutePath.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getRemixRoutePath.js +2 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getRemixRoutePath.js.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +2 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js +1 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts +12 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +32 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -0
- package/analyzer-template/packages/ui-components/src/scenario-editor/components/DataItemEditor.tsx +1 -1
- package/analyzer-template/packages/utils/dist/utils/index.d.ts +2 -0
- package/analyzer-template/packages/utils/dist/utils/index.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/index.js +2 -0
- package/analyzer-template/packages/utils/dist/utils/index.js.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.d.ts +25 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.d.ts.map +1 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.js +40 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.js.map +1 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getNextRoutePath.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getNextRoutePath.js +5 -3
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getNextRoutePath.js.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getRemixRoutePath.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getRemixRoutePath.js +2 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getRemixRoutePath.js.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +2 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js +1 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts +12 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts.map +1 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +32 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -0
- package/analyzer-template/packages/utils/index.ts +2 -0
- package/analyzer-template/packages/utils/src/lib/Semaphore.ts +42 -0
- package/analyzer-template/packages/utils/src/lib/frameworks/getNextRoutePath.ts +8 -3
- package/analyzer-template/packages/utils/src/lib/frameworks/getRemixRoutePath.ts +2 -1
- package/analyzer-template/packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.ts +2 -1
- package/analyzer-template/packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.ts +1 -0
- package/analyzer-template/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.ts +33 -0
- package/analyzer-template/project/constructMockCode.ts +170 -6
- package/analyzer-template/project/reconcileMockDataKeys.ts +13 -0
- package/analyzer-template/project/startScenarioCapture.ts +24 -0
- package/analyzer-template/project/trackGeneratedFiles.ts +41 -0
- package/analyzer-template/project/writeMockDataTsx.ts +125 -4
- package/analyzer-template/project/writeScenarioComponents.ts +175 -45
- package/analyzer-template/project/writeUniversalMocks.ts +72 -10
- package/background/src/lib/virtualized/project/constructMockCode.js +158 -7
- package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
- package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +12 -0
- package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
- package/background/src/lib/virtualized/project/startScenarioCapture.js +18 -0
- package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
- package/background/src/lib/virtualized/project/trackGeneratedFiles.js +30 -0
- package/background/src/lib/virtualized/project/trackGeneratedFiles.js.map +1 -0
- package/background/src/lib/virtualized/project/writeMockDataTsx.js +95 -3
- package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
- package/background/src/lib/virtualized/project/writeScenarioComponents.js +130 -28
- package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
- package/background/src/lib/virtualized/project/writeUniversalMocks.js +59 -9
- package/background/src/lib/virtualized/project/writeUniversalMocks.js.map +1 -1
- package/codeyam-cli/scripts/apply-setup.js +288 -0
- package/codeyam-cli/scripts/apply-setup.js.map +1 -0
- package/codeyam-cli/scripts/extract-setup.js +130 -0
- package/codeyam-cli/scripts/extract-setup.js.map +1 -0
- package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js +238 -0
- package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js.map +1 -0
- package/codeyam-cli/src/cli.js +4 -0
- package/codeyam-cli/src/cli.js.map +1 -1
- package/codeyam-cli/src/codeyam-cli.js +0 -0
- package/codeyam-cli/src/commands/debug.js +190 -0
- package/codeyam-cli/src/commands/debug.js.map +1 -0
- package/codeyam-cli/src/commands/init.js +4 -23
- package/codeyam-cli/src/commands/init.js.map +1 -1
- package/codeyam-cli/src/commands/setup-sandbox.js +164 -0
- package/codeyam-cli/src/commands/setup-sandbox.js.map +1 -0
- package/codeyam-cli/src/utils/__tests__/cleanupAnalysisFiles.test.js +6 -6
- package/codeyam-cli/src/utils/__tests__/cleanupAnalysisFiles.test.js.map +1 -1
- package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +8 -0
- package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
- package/codeyam-cli/src/utils/analysisRunner.js +4 -3
- package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
- package/codeyam-cli/src/utils/backgroundServer.js +25 -5
- package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
- package/codeyam-cli/src/utils/cleanupAnalysisFiles.js +2 -2
- package/codeyam-cli/src/utils/cleanupAnalysisFiles.js.map +1 -1
- package/codeyam-cli/src/utils/fileWatcher.js +75 -5
- package/codeyam-cli/src/utils/fileWatcher.js.map +1 -1
- package/codeyam-cli/src/utils/queue/job.js +3 -2
- package/codeyam-cli/src/utils/queue/job.js.map +1 -1
- package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +4 -0
- package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
- package/codeyam-cli/src/utils/webappDetection.js +2 -1
- package/codeyam-cli/src/utils/webappDetection.js.map +1 -1
- package/codeyam-cli/src/webserver/app/lib/database.js +63 -2
- package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
- package/codeyam-cli/src/webserver/backgroundServer.js +15 -35
- package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-BFRmw1TF.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{InteractivePreview-Dh-FldQK.js → InteractivePreview-CRfBaL5B.js} +3 -3
- package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-BYVx9KFp.js +3 -0
- package/codeyam-cli/src/webserver/build/client/assets/{LogViewer-Dp6DC845.js → LogViewer-CRcT5fOZ.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-Bual6h18.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/ScenarioPreview-Dj4Mm0AR.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-wtCIkGzq.js +5 -0
- package/codeyam-cli/src/webserver/build/client/assets/_index-Cjdlwanz.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-Dv3k2aEm.js +10 -0
- package/codeyam-cli/src/webserver/build/client/assets/chart-column-DOftqM9U.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/chunk-WWGJGFF6-De6i8FUT.js +26 -0
- package/codeyam-cli/src/webserver/build/client/assets/circle-alert-0WShkwuc.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/clock-DXui5oLF.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/dev.empty-DPFKgE96.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-1Z6D0fLM.js → entity._sha._-BxaXKsIx.js} +10 -10
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-BRD2FrH5.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-69R47Ffu.js +5 -0
- package/codeyam-cli/src/webserver/build/client/assets/{entityVersioning-DO2gCvXv.js → entityVersioning-Bk_YB1jM.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/entry.client-B5l8I1m3.js +5 -0
- package/codeyam-cli/src/webserver/build/client/assets/file-text-fb2mx25c.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/files-l_Eh9jQG.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/git-BCnOUEl9.js +12 -0
- package/codeyam-cli/src/webserver/build/client/assets/globals-BxkM6Up7.css +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/index-BgDzgbQW.js +8 -0
- package/codeyam-cli/src/webserver/build/client/assets/loader-circle-DE3HAwpF.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/manifest-5579bc45.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/root-o8NMI2bW.js +16 -0
- package/codeyam-cli/src/webserver/build/client/assets/search-BymWwY_X.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/settings-C7G4GDvW.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/settings-Dc4MlMpK.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/simulations-Duh3oShE.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{useLastLogLine-BBlyqxij.js → useLastLogLine-AlhS7g5F.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/useToast-XY00p4rI.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/zap-Dra7vum1.js +1 -0
- package/codeyam-cli/src/webserver/build/server/assets/index-Dpr7o3dP.js +1 -0
- package/codeyam-cli/src/webserver/build/server/assets/server-build-BM5nyvlV.js +166 -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/server.js +1 -1
- package/codeyam-cli/src/webserver/server.js.map +1 -1
- package/codeyam-cli/templates/codeyam-setup-skill.md +85 -94
- package/package.json +7 -10
- package/packages/ai/index.js +1 -2
- package/packages/ai/index.js.map +1 -1
- package/packages/ai/src/lib/analyzeScope.js +13 -0
- package/packages/ai/src/lib/analyzeScope.js.map +1 -1
- package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +6 -15
- package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
- package/packages/ai/src/lib/astScopes/methodSemantics.js +134 -0
- package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
- package/packages/ai/src/lib/astScopes/paths.js +28 -3
- package/packages/ai/src/lib/astScopes/paths.js.map +1 -1
- package/packages/ai/src/lib/astScopes/processExpression.js +111 -3
- package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
- package/packages/ai/src/lib/checkAllAttributes.js +1 -3
- package/packages/ai/src/lib/checkAllAttributes.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +1320 -396
- package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.js +137 -1
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js +1 -1
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js +112 -0
- package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/DebugTracer.js +176 -0
- package/packages/ai/src/lib/dataStructure/helpers/DebugTracer.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/PathManager.js +178 -0
- package/packages/ai/src/lib/dataStructure/helpers/PathManager.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js +138 -0
- package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/VisitedTracker.js +199 -0
- package/packages/ai/src/lib/dataStructure/helpers/VisitedTracker.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +14 -6
- package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/selectBestValue.js +62 -0
- package/packages/ai/src/lib/dataStructure/helpers/selectBestValue.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/uniqueIdUtils.js +90 -0
- package/packages/ai/src/lib/dataStructure/helpers/uniqueIdUtils.js.map +1 -0
- package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js +22 -0
- package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js.map +1 -1
- package/packages/ai/src/lib/generateChangesEntityDocumentation.js +19 -1
- package/packages/ai/src/lib/generateChangesEntityDocumentation.js.map +1 -1
- package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js +51 -107
- package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js.map +1 -1
- package/packages/ai/src/lib/generateChangesEntityScenarioData.js +55 -156
- package/packages/ai/src/lib/generateChangesEntityScenarioData.js.map +1 -1
- package/packages/ai/src/lib/generateChangesEntityScenarios.js +79 -262
- package/packages/ai/src/lib/generateChangesEntityScenarios.js.map +1 -1
- package/packages/ai/src/lib/generateEntityDocumentation.js +15 -1
- package/packages/ai/src/lib/generateEntityDocumentation.js.map +1 -1
- package/packages/ai/src/lib/generateEntityKeyAttributes.js +53 -176
- package/packages/ai/src/lib/generateEntityKeyAttributes.js.map +1 -1
- package/packages/ai/src/lib/generateEntityScenarioData.js +52 -152
- package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
- package/packages/ai/src/lib/generateEntityScenarios.js +88 -258
- package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
- package/packages/ai/src/lib/generateStatementAnalysis.js +46 -71
- package/packages/ai/src/lib/generateStatementAnalysis.js.map +1 -1
- package/packages/ai/src/lib/getConditionalUsagesFromCode.js +13 -8
- package/packages/ai/src/lib/getConditionalUsagesFromCode.js.map +1 -1
- package/packages/ai/src/lib/getLLMCallStats.js +0 -14
- package/packages/ai/src/lib/getLLMCallStats.js.map +1 -1
- package/packages/ai/src/lib/modelInfo.js +15 -0
- package/packages/ai/src/lib/modelInfo.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js +36 -3
- package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateChangesEntityDocumentationGenerator.js +8 -33
- package/packages/ai/src/lib/promptGenerators/generateChangesEntityDocumentationGenerator.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js +35 -41
- package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js +59 -72
- package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateEntityDocumentationGenerator.js +8 -27
- package/packages/ai/src/lib/promptGenerators/generateEntityDocumentationGenerator.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js +24 -27
- package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js +21 -22
- package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js.map +1 -1
- package/packages/ai/src/lib/types/index.js +2 -0
- package/packages/ai/src/lib/types/index.js.map +1 -1
- package/packages/ai/src/lib/worker/SerializableDataStructure.js +7 -0
- package/packages/ai/src/lib/worker/SerializableDataStructure.js.map +1 -1
- package/packages/analyze/src/lib/FileAnalyzer.js +45 -5
- package/packages/analyze/src/lib/FileAnalyzer.js.map +1 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js +191 -0
- package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js.map +1 -0
- package/packages/analyze/src/lib/asts/sourceFiles/getDeclaredEntityNode.js +16 -0
- package/packages/analyze/src/lib/asts/sourceFiles/getDeclaredEntityNode.js.map +1 -0
- package/packages/analyze/src/lib/asts/sourceFiles/index.js +2 -0
- package/packages/analyze/src/lib/asts/sourceFiles/index.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +6 -8
- package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +5 -1
- package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
- package/packages/analyze/src/lib/files/analyzeChange.js +21 -9
- package/packages/analyze/src/lib/files/analyzeChange.js.map +1 -1
- package/packages/analyze/src/lib/files/analyzeEntity.js +10 -4
- package/packages/analyze/src/lib/files/analyzeEntity.js.map +1 -1
- package/packages/analyze/src/lib/files/analyzeInitial.js +21 -9
- package/packages/analyze/src/lib/files/analyzeInitial.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +6 -1
- package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js +9 -1
- package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js +5 -1
- package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateScenarios.js +9 -1
- package/packages/analyze/src/lib/files/scenarios/generateScenarios.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +16 -7
- package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
- package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +28 -21
- package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
- package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js +18 -11
- package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js.map +1 -1
- package/packages/generate/src/lib/scenarioComponent.js +5 -3
- package/packages/generate/src/lib/scenarioComponent.js.map +1 -1
- package/packages/utils/index.js +2 -0
- package/packages/utils/index.js.map +1 -1
- package/packages/utils/src/lib/Semaphore.js +40 -0
- package/packages/utils/src/lib/Semaphore.js.map +1 -0
- package/packages/utils/src/lib/frameworks/getNextRoutePath.js +5 -3
- package/packages/utils/src/lib/frameworks/getNextRoutePath.js.map +1 -1
- package/packages/utils/src/lib/frameworks/getRemixRoutePath.js +2 -1
- package/packages/utils/src/lib/frameworks/getRemixRoutePath.js.map +1 -1
- package/packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +2 -1
- package/packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
- package/packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.js +1 -0
- package/packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.js.map +1 -1
- package/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +32 -0
- package/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -0
- package/analyzer-template/packages/ai/src/lib/generateEntityDataMap.ts +0 -375
- package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-GqWwt5wG.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-p0fuyqGQ.js +0 -3
- package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-xwuhwsZH.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/ScenarioPreview-Bl2IRh55.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-M2QuSHKC.js +0 -5
- package/codeyam-cli/src/webserver/build/client/assets/_index-CAVtep9Q.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-CLmzsLsT.js +0 -10
- package/codeyam-cli/src/webserver/build/client/assets/chart-column-B2I7jQx2.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/circle-alert-GwwOAbhw.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/components-CAx5ONX_.js +0 -40
- package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-CgyOwWip.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/dev.empty-DGy3zrli.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-ChAdTrrU.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-D9L7267w.js +0 -5
- package/codeyam-cli/src/webserver/build/client/assets/entry.client-C6FRgjPr.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/files-C3-cQjgv.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/git-Dp4EB9nv.js +0 -12
- package/codeyam-cli/src/webserver/build/client/assets/globals-Da3jt49-.css +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/loader-circle-DN7Vr40D.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/manifest-172a4629.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/root-COyVTsPq.js +0 -16
- package/codeyam-cli/src/webserver/build/client/assets/search-CvyP_1Lo.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/settings-Hbf8b7J_.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/settings-MZc4XdmE.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/simulations-BMBi0VzO.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/useToast-C_VxoXTh.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/zap-B4gsLUZQ.js +0 -1
- package/codeyam-cli/src/webserver/build/client/cy-logo-cli.svg +0 -13
- package/codeyam-cli/src/webserver/build/server/assets/index-eAULANMV.js +0 -1
- package/codeyam-cli/src/webserver/build/server/assets/server-build-lutv16q5.js +0 -161
- package/codeyam-cli/src/webserver/public/cy-logo-cli.svg +0 -13
- package/packages/ai/src/lib/generateEntityDataMap.js +0 -335
- package/packages/ai/src/lib/generateEntityDataMap.js.map +0 -1
- package/packages/ai/src/lib/promptGenerators/generateEntityDataMapGenerator.js +0 -17
- package/packages/ai/src/lib/promptGenerators/generateEntityDataMapGenerator.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AACtG,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AACpG,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AAC9G,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAC9F,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EACL,OAAO,IAAI,MAAM,EACjB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,OAAO,IAAI,mBAAmB,EAC9B,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEpF,4EAA4E;AAC5E,iDAAiD;AACjD,2EAA2E;AAC3E,qGAAqG;AAErG,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AACxD,MAAM,CAAC,MAAM,0BAA0B,GAAG,sBAAsB,CAAC;AACjE,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAElD,iDAAiD;AACjD,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,sBAAsB,GAEvB,MAAM,sCAAsC,CAAC;AAE9C,8BAA8B;AAC9B,OAAO,EACL,mBAAmB,GAIpB,MAAM,+BAA+B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AACtG,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AACpG,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AAC9G,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAC9F,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AACtG,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EACL,OAAO,IAAI,MAAM,EACjB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,OAAO,IAAI,mBAAmB,EAC9B,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEpF,4EAA4E;AAC5E,iDAAiD;AACjD,2EAA2E;AAC3E,qGAAqG;AAErG,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AACxD,MAAM,CAAC,MAAM,0BAA0B,GAAG,sBAAsB,CAAC;AACjE,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAElD,iDAAiD;AACjD,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,sBAAsB,GAEvB,MAAM,sCAAsC,CAAC;AAE9C,8BAA8B;AAC9B,OAAO,EACL,mBAAmB,GAIpB,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* An async semaphore for limiting concurrent access to a resource.
|
|
3
|
+
*
|
|
4
|
+
* Useful for controlling parallelism when some operations are CPU-bound
|
|
5
|
+
* and shouldn't all run simultaneously, while allowing I/O-bound operations
|
|
6
|
+
* to proceed freely.
|
|
7
|
+
*/
|
|
8
|
+
export default class Semaphore {
|
|
9
|
+
constructor(count) {
|
|
10
|
+
this.waiting = [];
|
|
11
|
+
this.count = count;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Acquire a permit from the semaphore.
|
|
15
|
+
* If a permit is available, returns immediately.
|
|
16
|
+
* Otherwise, blocks until a permit becomes available.
|
|
17
|
+
*/
|
|
18
|
+
async acquire() {
|
|
19
|
+
if (this.count > 0) {
|
|
20
|
+
this.count--;
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
await new Promise((resolve) => this.waiting.push(resolve));
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Release a permit back to the semaphore.
|
|
27
|
+
* If there are waiters, the first one in line gets the permit.
|
|
28
|
+
* Otherwise, increments the available count.
|
|
29
|
+
*/
|
|
30
|
+
release() {
|
|
31
|
+
const next = this.waiting.shift();
|
|
32
|
+
if (next) {
|
|
33
|
+
next();
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
this.count++;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=Semaphore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Semaphore.js","sourceRoot":"","sources":["../../../../../../packages/utils/src/lib/Semaphore.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS;IAI5B,YAAY,KAAa;QAFjB,YAAO,GAAsB,EAAE,CAAC;QAGtC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,EAAE,CAAC;QACT,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { safeFileName } from "../../../../../packages/utils/index.js";
|
|
1
|
+
import { getAppDirectoryForFile, safeFileName } from "../../../../../packages/utils/index.js";
|
|
2
2
|
import { PROJECT_RELATIVE_PATH } from "../../../../../packages/utils/index.js";
|
|
3
|
+
import sanitizeNextRouteSegments from "./sanitizeNextRouteSegments.js";
|
|
3
4
|
export default function getNextRoutePath({ file, entity, rootAnalysis, project, framework, scenario, }) {
|
|
4
|
-
const routePath = file.path.split('/').slice(1);
|
|
5
|
+
const routePath = sanitizeNextRouteSegments(file.path.split('/').slice(1));
|
|
5
6
|
const scenarioSlug = scenario ? safeFileName(scenario.name) : undefined;
|
|
7
|
+
const appDirectory = getAppDirectoryForFile(file.path, project.metadata?.webapps);
|
|
6
8
|
const pathComponents = [
|
|
7
9
|
PROJECT_RELATIVE_PATH,
|
|
8
|
-
|
|
10
|
+
appDirectory,
|
|
9
11
|
'static',
|
|
10
12
|
project.slug,
|
|
11
13
|
rootAnalysis.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getNextRoutePath.js","sourceRoot":"","sources":["../../../../../../../packages/utils/src/lib/frameworks/getNextRoutePath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"getNextRoutePath.js","sourceRoot":"","sources":["../../../../../../../packages/utils/src/lib/frameworks/getNextRoutePath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAQtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AAEpE,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,IAAI,EACJ,MAAM,EACN,YAAY,EACZ,OAAO,EACP,SAAS,EACT,QAAQ,GAST;IACC,MAAM,SAAS,GAAG,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,MAAM,YAAY,GAAG,sBAAsB,CACzC,IAAI,CAAC,IAAI,EACT,OAAO,CAAC,QAAQ,EAAE,OAAO,CAC1B,CAAC;IACF,MAAM,cAAc,GAAG;QACrB,qBAAqB;QACrB,YAAY;QACZ,QAAQ;QACR,OAAO,CAAC,IAAI;QACZ,YAAY,CAAC,EAAE;QACf,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC;QACrC,YAAY;QACZ,GAAG,SAAS;KACb,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE1C,OAAO,CAAC,GAAG,CACT,iCAAiC,EACjC,IAAI,CAAC,IAAI,EACT,MAAM,CAAC,IAAI,EACX,QAAQ,CACT,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -6,7 +6,8 @@ export default function getRemixRoutePath({ file, rootFile, entity, rootAnalysis
|
|
|
6
6
|
const route = file.path.slice(routesIndex);
|
|
7
7
|
const cleanRoute = route
|
|
8
8
|
.replace(/\//g, '.')
|
|
9
|
-
.replace(
|
|
9
|
+
.replace(/\$(\w+)/g, '$1') // $slug -> slug (named params)
|
|
10
|
+
.replace(/\$/g, 'splat') // bare $ -> splat (catch-all)
|
|
10
11
|
.replace(/_/g, 'x');
|
|
11
12
|
const scenarioSlug = scenario ? `.${safeFileName(scenario.name)}` : '';
|
|
12
13
|
let routePath = `${PROJECT_RELATIVE_PATH}/${basePath}/static.${project.slug}.${rootAnalysis.id}.${safeFileName(rootAnalysis.entityName)}${scenarioSlug}.${cleanRoute}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRemixRoutePath.js","sourceRoot":"","sources":["../../../../../../../packages/utils/src/lib/frameworks/getRemixRoutePath.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,YAAY,GACb,MAAM,gBAAgB,CAAC;AAGxB,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,SAAS,GAAG,KAAK,EACjB,OAAO,EACP,QAAQ,GAST;IACC,MAAM,YAAY,GAAG,sBAAsB,CACzC,IAAI,CAAC,IAAI,EACT,OAAO,CAAC,QAAQ,CAAC,OAAO,CACzB,CAAC;IACF,MAAM,QAAQ,GAAG,GAAG,YAAY,SAAS,CAAC;IAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;IACtE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,KAAK;SACrB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"getRemixRoutePath.js","sourceRoot":"","sources":["../../../../../../../packages/utils/src/lib/frameworks/getRemixRoutePath.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,YAAY,GACb,MAAM,gBAAgB,CAAC;AAGxB,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,SAAS,GAAG,KAAK,EACjB,OAAO,EACP,QAAQ,GAST;IACC,MAAM,YAAY,GAAG,sBAAsB,CACzC,IAAI,CAAC,IAAI,EACT,OAAO,CAAC,QAAQ,CAAC,OAAO,CACzB,CAAC;IACF,MAAM,QAAQ,GAAG,GAAG,YAAY,SAAS,CAAC;IAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;IACtE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,KAAK;SACrB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,+BAA+B;SACzD,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,8BAA8B;SACtD,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAEtB,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,IAAI,SAAS,GAAG,GAAG,qBAAqB,IAAI,QAAQ,WAAW,OAAO,CAAC,IAAI,IAAI,YAAY,CAAC,EAAE,IAAI,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,YAAY,IAAI,UAAU,EAAE,CAAC;IAEvK,IAAI,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,EAAE,CAAC;QAC5B,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,SAAS,EAAE,EAAE,YAAY,SAAS,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,CAAC,GAAG,CACT,mCAAmC,EACnC,IAAI,CAAC,IAAI,EACT,MAAM,CAAC,IAAI,EACX,SAAS,CACV,CAAC;IAEF,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import safeFileName from "../safeFileName.js";
|
|
2
|
+
import sanitizeNextRouteSegments from "./sanitizeNextRouteSegments.js";
|
|
2
3
|
export default function nextRouteFileNameToRoute(projectSlug, file, analysis, scenarioName) {
|
|
3
|
-
const route = file.path.split('/').slice(1, -1);
|
|
4
|
+
const route = sanitizeNextRouteSegments(file.path.split('/').slice(1, -1));
|
|
4
5
|
const pathComponents = [
|
|
5
6
|
'static',
|
|
6
7
|
projectSlug,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nextRouteFileNameToRoute.js","sourceRoot":"","sources":["../../../../../../../packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"nextRouteFileNameToRoute.js","sourceRoot":"","sources":["../../../../../../../packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AAEpE,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAC9C,WAAmB,EACnB,IAAU,EACV,QAAkB,EAClB,YAAqB;IAErB,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,cAAc,GAAG;QACrB,QAAQ;QACR,WAAW;QACX,QAAQ,CAAC,EAAE;QACX,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC;QACjC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;QACrD,GAAG,KAAK;KACT,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,OAAO,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -13,6 +13,7 @@ export default function remixRouteFileNameToRoute(projectSlug, file, analysis, s
|
|
|
13
13
|
.replace(/\(\$(\w+)\)/g, '$1')
|
|
14
14
|
.replace(/\$(\w+)/g, '$1')
|
|
15
15
|
.replace(/\((\w+)\)/g, '$1')
|
|
16
|
+
.replace(/\$/g, 'splat')
|
|
16
17
|
.replace(/_/g, 'x'),
|
|
17
18
|
'default',
|
|
18
19
|
].filter(Boolean);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remixRouteFileNameToRoute.js","sourceRoot":"","sources":["../../../../../../../packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAC/C,WAAmB,EACnB,IAAU,EACV,QAAkB,EAClB,YAAqB;IAErB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,cAAc,GAAG;QACrB,QAAQ;QACR,WAAW;QACX,QAAQ,CAAC,EAAE;QACX,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC;QACjC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;QACrD,KAAK;aACF,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;aACrB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;aACnB,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;aAC7B,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC;aACzB,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC;aAC3B,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;QACrB,SAAS;KACV,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,OAAO,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC"}
|
|
1
|
+
{"version":3,"file":"remixRouteFileNameToRoute.js","sourceRoot":"","sources":["../../../../../../../packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAC/C,WAAmB,EACnB,IAAU,EACV,QAAkB,EAClB,YAAqB;IAErB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,cAAc,GAAG;QACrB,QAAQ;QACR,WAAW;QACX,QAAQ,CAAC,EAAE;QACX,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC;QACjC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;QACrD,KAAK;aACF,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;aACrB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;aACnB,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;aAC7B,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC;aACzB,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC;aAC3B,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;aACvB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;QACrB,SAAS;KACV,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,OAAO,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sanitize Next.js route path segments to remove special syntax.
|
|
3
|
+
* - Route groups (folder) become folder (strip parens, keep name)
|
|
4
|
+
* - Dynamic segments [param] become param0 (suffix avoids Next.js private folder convention)
|
|
5
|
+
* - Catch-all [...slug] becomes slug0
|
|
6
|
+
* - Optional catch-all [[...slug]] becomes slug0
|
|
7
|
+
*
|
|
8
|
+
* Note: We use suffix "0" instead of prefix "_" because Next.js treats folders
|
|
9
|
+
* starting with underscore as private segments that are excluded from routing.
|
|
10
|
+
*/
|
|
11
|
+
export default function sanitizeNextRouteSegments(segments) {
|
|
12
|
+
return segments.map((segment) => {
|
|
13
|
+
// Handle route groups (folder) - strip parens, keep name
|
|
14
|
+
const routeGroup = segment.match(/^\(([^)]+)\)$/);
|
|
15
|
+
if (routeGroup)
|
|
16
|
+
return routeGroup[1];
|
|
17
|
+
// Handle optional catch-all [[...param]]
|
|
18
|
+
const optionalCatchAll = segment.match(/^\[\[\.\.\.([\w]+)\]\]$/);
|
|
19
|
+
if (optionalCatchAll)
|
|
20
|
+
return `${optionalCatchAll[1]}0`;
|
|
21
|
+
// Handle catch-all [...param]
|
|
22
|
+
const catchAll = segment.match(/^\[\.\.\.([\w]+)\]$/);
|
|
23
|
+
if (catchAll)
|
|
24
|
+
return `${catchAll[1]}0`;
|
|
25
|
+
// Handle dynamic [param]
|
|
26
|
+
const dynamic = segment.match(/^\[([\w]+)\]$/);
|
|
27
|
+
if (dynamic)
|
|
28
|
+
return `${dynamic[1]}0`;
|
|
29
|
+
return segment;
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=sanitizeNextRouteSegments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitizeNextRouteSegments.js","sourceRoot":"","sources":["../../../../../../../packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAC/C,QAAkB;IAElB,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,yDAAyD;QACzD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAClD,IAAI,UAAU;YAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;QAErC,yCAAyC;QACzC,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAClE,IAAI,gBAAgB;YAAE,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC;QAEvD,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACtD,IAAI,QAAQ;YAAE,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;QAEvC,yBAAyB;QACzB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC/C,IAAI,OAAO;YAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;QAErC,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,375 +0,0 @@
|
|
|
1
|
-
import { Entity } from '~codeyam/types';
|
|
2
|
-
import completionCall from './completionCall';
|
|
3
|
-
import { saveLlmCall } from '~codeyam/aws/dynamodb';
|
|
4
|
-
import generateEntityDataMapGenerator from './promptGenerators/generateEntityDataMapGenerator';
|
|
5
|
-
import { AI, DEFAULT_LARGER_MODEL } from '~codeyam/ai';
|
|
6
|
-
import { parseJsonSafe } from './parsers/parseJsonSafe';
|
|
7
|
-
|
|
8
|
-
interface GenerateEntityDataMapArgs {
|
|
9
|
-
entity: Entity;
|
|
10
|
-
importStatements: string;
|
|
11
|
-
localImports: string;
|
|
12
|
-
analysisId: string;
|
|
13
|
-
model?: AI.Model;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export default async function generateEntityDataMap({
|
|
17
|
-
entity,
|
|
18
|
-
importStatements,
|
|
19
|
-
localImports,
|
|
20
|
-
analysisId,
|
|
21
|
-
model,
|
|
22
|
-
}: GenerateEntityDataMapArgs) {
|
|
23
|
-
localImports = localImports
|
|
24
|
-
.split('\n')
|
|
25
|
-
.map((line) => `cy_localDependency.${line.trim()}`)
|
|
26
|
-
.join('\n');
|
|
27
|
-
|
|
28
|
-
const prompt = generateEntityDataMapGenerator(
|
|
29
|
-
entity.code,
|
|
30
|
-
importStatements,
|
|
31
|
-
localImports,
|
|
32
|
-
);
|
|
33
|
-
|
|
34
|
-
console.log(
|
|
35
|
-
'CodeYam: Generating entity data map',
|
|
36
|
-
entity.filePath,
|
|
37
|
-
entity.name,
|
|
38
|
-
);
|
|
39
|
-
|
|
40
|
-
const response = await completionCall({
|
|
41
|
-
type: 'generateEntityDataMap',
|
|
42
|
-
systemMessage: SYSTEM_MESSAGE,
|
|
43
|
-
prompt,
|
|
44
|
-
model: model ?? DEFAULT_LARGER_MODEL,
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
const llmCall = await saveLlmCall({
|
|
48
|
-
object_type: 'analysis',
|
|
49
|
-
object_id: analysisId,
|
|
50
|
-
propsJson: {
|
|
51
|
-
entity: {
|
|
52
|
-
name: entity.name,
|
|
53
|
-
filePath: entity.filePath,
|
|
54
|
-
code: entity.code,
|
|
55
|
-
},
|
|
56
|
-
importStatements,
|
|
57
|
-
localImports,
|
|
58
|
-
analysisId,
|
|
59
|
-
model,
|
|
60
|
-
},
|
|
61
|
-
...response.stats,
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
const { completion: dataMapString } = response;
|
|
65
|
-
if (!dataMapString) {
|
|
66
|
-
console.log(
|
|
67
|
-
'CodeYam Error: Generating entity data map failed: No response from AI',
|
|
68
|
-
);
|
|
69
|
-
return null;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
console.log(
|
|
73
|
-
`LLMCall ${llmCall ? llmCall.id : 'N/A'}: ${entity.filePath} dataMapString :>> `,
|
|
74
|
-
);
|
|
75
|
-
console.log(dataMapString);
|
|
76
|
-
|
|
77
|
-
const { dataMap } = parseJsonSafe(dataMapString) as {
|
|
78
|
-
dataMap: {
|
|
79
|
-
[key: string]: string[];
|
|
80
|
-
};
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
return { dataMap, llmCall };
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
const SYSTEM_MESSAGE = `
|
|
87
|
-
## Overview
|
|
88
|
-
|
|
89
|
-
This is a tricky task. We need to identify what data this function passes into dependencies or returns from the function and where that data originated.
|
|
90
|
-
|
|
91
|
-
This lets us piece together the overall structure of the data used in the app.
|
|
92
|
-
|
|
93
|
-
So our goal is to map data coming into this function to the data that passes out of it either into a dependency or into the return value.
|
|
94
|
-
|
|
95
|
-
## Instructions
|
|
96
|
-
|
|
97
|
-
- Look at each dependency listed in the "Local Dependencies" and "Imported Dependencies" sections of the prompt (if they exist). Identify any dependencies that provide data to this function.
|
|
98
|
-
- Look at the arguments and named arguments that are passed into the function.
|
|
99
|
-
- List out the data that is passed into the function from each dependency in the "inData" section.
|
|
100
|
-
|
|
101
|
-
- Look at each dependency listed in the "Local Dependencies" and "Imported Dependencies" sections of the prompt (if they exist). Identify any dependencies that are passed data from this function.
|
|
102
|
-
- Look at the return value of the function if it exists and is not returning a react component.
|
|
103
|
-
- List out the data that is passed into each dependency or returned from the function in the "outData" section.
|
|
104
|
-
|
|
105
|
-
- We want to figure out if any of the "inData" (or any of the attributes or nested attributes of the "inData") are used for the "outData" or are used to create the "outData".
|
|
106
|
-
- List out any attributes or nested attributes from the "inData" that are used in the "outData" in the "attributes" section.
|
|
107
|
-
- Create a "dataMap" section that details how the "inData" maps to the "outData" capturing attributes and nested attributes as needed.
|
|
108
|
-
|
|
109
|
-
## Keywords
|
|
110
|
-
|
|
111
|
-
- \`cy_namedArg\` = data passed into the function as a named argument
|
|
112
|
-
- \`cy_arg[0]\` = data passed into the function as the first argument (not named) - Use [1], [2], etc. for subsequent arguments
|
|
113
|
-
- \`cy_returnValue\` = data returned from the function or data returned from a dependency
|
|
114
|
-
- \`cy_localDependency\` = a function that is in the same file as this function
|
|
115
|
-
- \`cy_manipulatedData\` = data that was manipulated in the function, dissasociating it from any original external data
|
|
116
|
-
- \`cy_spread\` = data that is passed into a dependency via a spread operator \`...variable\` (e.g. \`<Component {...data} />\`). Only use this when the spread operator is explicitly used in the code (e.g. the three dots are present in the code).
|
|
117
|
-
|
|
118
|
-
Here are a few examples:
|
|
119
|
-
----
|
|
120
|
-
|
|
121
|
-
To start a simple \`user\` object passed in as a named argument. The \`hobby\` attribute of the user object is then passed to the UserHobby component:
|
|
122
|
-
|
|
123
|
-
---- START EXAMPLE ----
|
|
124
|
-
|
|
125
|
-
Prompt:
|
|
126
|
-
|
|
127
|
-
\`\`\`
|
|
128
|
-
Imported Dependencies:
|
|
129
|
-
|
|
130
|
-
import UserHobby from '@/components/user/UserHobby';
|
|
131
|
-
|
|
132
|
-
Function
|
|
133
|
-
|
|
134
|
-
export UserProfile({ user, options }) {
|
|
135
|
-
return (
|
|
136
|
-
<div className='user-profile' style={{ fontSize: options.large ? '24px' : '16px' }}>
|
|
137
|
-
<div>{user.name}</div>
|
|
138
|
-
{user.hobbies.map(
|
|
139
|
-
(hobby, index) => (
|
|
140
|
-
<UserHobby key={index} hobby={hobby} options={options} />
|
|
141
|
-
)
|
|
142
|
-
)}
|
|
143
|
-
</div>
|
|
144
|
-
)
|
|
145
|
-
}
|
|
146
|
-
\`\`\`
|
|
147
|
-
|
|
148
|
-
Response:
|
|
149
|
-
|
|
150
|
-
\`\`\`
|
|
151
|
-
{
|
|
152
|
-
"inData": [
|
|
153
|
-
"cy_namedArg.user",
|
|
154
|
-
"cy_namedArg.options"
|
|
155
|
-
],
|
|
156
|
-
"outData": [
|
|
157
|
-
"@/components/user/UserHobby.UserHobby.hobby",
|
|
158
|
-
"@/components/user/UserHobby.UserHobb.options"
|
|
159
|
-
],
|
|
160
|
-
"attributes": [
|
|
161
|
-
"cy_namedArg.user.hobbies[] -> @/components/user/UserHobby.UserHobby.hobby"
|
|
162
|
-
],
|
|
163
|
-
"dataMap": {
|
|
164
|
-
"cy_namedArg.user.hobbies[]": ["@/components/user/UserHobby.UserHobby.hobby"],
|
|
165
|
-
"cy_namedArg.options": ["@/components/user/UserHobby.UserHobby.options"]
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
\`\`\`
|
|
169
|
-
|
|
170
|
-
---- END EXAMPLE ----
|
|
171
|
-
|
|
172
|
-
Note: The \`[]\` syntax is used to indicate that the \`user.hobbies\` attribute is an array which is being iterated over.
|
|
173
|
-
|
|
174
|
-
---- START EXAMPLE ----
|
|
175
|
-
|
|
176
|
-
Prompt:
|
|
177
|
-
|
|
178
|
-
\`\`\`
|
|
179
|
-
Imported Dependencies:
|
|
180
|
-
|
|
181
|
-
import { useParams } from '@remix-run/react';
|
|
182
|
-
import { useFile } from './providers/FileProvider';
|
|
183
|
-
import FilesDownloader from '~/home/download/FilesDownloader';
|
|
184
|
-
|
|
185
|
-
Function
|
|
186
|
-
|
|
187
|
-
export FilePreview({ className }) {
|
|
188
|
-
const { folderId } = useParams();
|
|
189
|
-
const { folder } = useFile(folderId);
|
|
190
|
-
|
|
191
|
-
return (
|
|
192
|
-
<div className={\`flex flex-col gap-3 \${className}\`>
|
|
193
|
-
<div>Download: {folder.name}</div>
|
|
194
|
-
<FilesDownloader files={folder.files} />
|
|
195
|
-
</div>
|
|
196
|
-
)
|
|
197
|
-
}
|
|
198
|
-
\`\`\`
|
|
199
|
-
|
|
200
|
-
Response:
|
|
201
|
-
|
|
202
|
-
\`\`\`
|
|
203
|
-
{
|
|
204
|
-
"inData": [
|
|
205
|
-
"cy_namedArg.className",
|
|
206
|
-
"@remix-run/react.useParams.cy_returnValue.folderId",
|
|
207
|
-
"./providers/FileProvider.useFile.cy_returnValue.folder",
|
|
208
|
-
],
|
|
209
|
-
"outData": [
|
|
210
|
-
"./providers/FileProvider.useFile.cy_arg[0]",
|
|
211
|
-
"~/home/download/FilesDownloader.FilesDownloader.files"
|
|
212
|
-
],
|
|
213
|
-
"attributes": [
|
|
214
|
-
"./providers/FileProvider.useFile.cy_returnValue.folder.files -> ~/home/download/FilesDownloader.FilesDownloader.files"
|
|
215
|
-
],
|
|
216
|
-
"dataMap": {
|
|
217
|
-
"@remix-run/react.useParams.cy_returnValue.folderId": ["./providers/FileProvider.useFile.cy_arg[0]"],
|
|
218
|
-
"./providers/FileProvider.useFile.cy_returnValue.folder.files": ["~/home/download/FilesDownloader.FilesDownloader.files"]
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
\`\`\`
|
|
222
|
-
|
|
223
|
-
---- END EXAMPLE ----
|
|
224
|
-
|
|
225
|
-
Note the use of \`cy_returnValue\` to capture that \`useFile\` is a function returning the data.
|
|
226
|
-
|
|
227
|
-
---- START EXAMPLE ----
|
|
228
|
-
|
|
229
|
-
Prompt:
|
|
230
|
-
|
|
231
|
-
\`\`\`
|
|
232
|
-
Function
|
|
233
|
-
|
|
234
|
-
const incrementUserStats = (views, user) => {
|
|
235
|
-
user.stats.views += views.length;
|
|
236
|
-
user.lastViewed = views[views.length - 1].date;
|
|
237
|
-
|
|
238
|
-
return user
|
|
239
|
-
};
|
|
240
|
-
\`\`\`
|
|
241
|
-
|
|
242
|
-
Response:
|
|
243
|
-
|
|
244
|
-
\`\`\`
|
|
245
|
-
{
|
|
246
|
-
"inData": [
|
|
247
|
-
"cy_arg[0]",
|
|
248
|
-
"cy_arg[1]"
|
|
249
|
-
],
|
|
250
|
-
"outData": [
|
|
251
|
-
"cy_returnValue"
|
|
252
|
-
],
|
|
253
|
-
"attributes": [
|
|
254
|
-
"cy_arg[0].length -> cy_returnValue.stats.views",
|
|
255
|
-
"cy_arg[0][].date -> cy_returnValue.lastViewed"
|
|
256
|
-
],
|
|
257
|
-
"dataMap": {
|
|
258
|
-
"cy_arg[0].length": ["cy_returnValue.stats.views"],
|
|
259
|
-
"cy_arg[0][].date": ["cy_returnValue.lastViewed"],
|
|
260
|
-
"cy_arg[1]": ["cy_returnValue"]
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
\`\`\`
|
|
264
|
-
|
|
265
|
-
---- END EXAMPLE ----
|
|
266
|
-
|
|
267
|
-
Note how we capture any available details of the cy_returnValue.
|
|
268
|
-
|
|
269
|
-
---- START EXAMPLE ----
|
|
270
|
-
|
|
271
|
-
Prompt:
|
|
272
|
-
|
|
273
|
-
\`\`\`
|
|
274
|
-
Imported Dependencies:
|
|
275
|
-
|
|
276
|
-
import { useMemo } from 'react';
|
|
277
|
-
import { useFile } from '~/providers/FileProvider';
|
|
278
|
-
import FilePreview from '../components/files/FilePreview';
|
|
279
|
-
|
|
280
|
-
Local Dependencies:
|
|
281
|
-
|
|
282
|
-
cy_localDependency.calculateStats
|
|
283
|
-
cy_localDependency.Emojis
|
|
284
|
-
|
|
285
|
-
Function
|
|
286
|
-
|
|
287
|
-
export FilePreview({ user }) {
|
|
288
|
-
const { folder } = useFile();
|
|
289
|
-
|
|
290
|
-
const filesWithFolderAndStats = useMemo(() => {
|
|
291
|
-
return folder.files.map((file) => ({
|
|
292
|
-
...file,
|
|
293
|
-
user,
|
|
294
|
-
folder,
|
|
295
|
-
}));
|
|
296
|
-
}, []);
|
|
297
|
-
|
|
298
|
-
return (
|
|
299
|
-
<div className='flex items-center gap-3'>
|
|
300
|
-
<div>Download: {folder.name}</div>
|
|
301
|
-
{filesWithFolderAndStats.map(
|
|
302
|
-
(file) => (
|
|
303
|
-
<div>
|
|
304
|
-
<FilePreview key={file.id} {...file} />
|
|
305
|
-
<Emojis awards={file.stats?.awards ?? calculateStats(file, user).awards} />
|
|
306
|
-
</div>
|
|
307
|
-
)
|
|
308
|
-
)}
|
|
309
|
-
</div>
|
|
310
|
-
)
|
|
311
|
-
}
|
|
312
|
-
\`\`\`
|
|
313
|
-
|
|
314
|
-
Response:
|
|
315
|
-
|
|
316
|
-
\`\`\`
|
|
317
|
-
{
|
|
318
|
-
"inData": [
|
|
319
|
-
"cy_namedArg.user",
|
|
320
|
-
"~/providers/FileProvider.useFile.cy_returnValue.folder",
|
|
321
|
-
],
|
|
322
|
-
"outData": [
|
|
323
|
-
"cy_localDependency.calculateStats.arg[0]",
|
|
324
|
-
"cy_localDependency.calculateStats.arg[1]",
|
|
325
|
-
"../components/files/FilePreview.FilePreview.cy_spread",
|
|
326
|
-
"cy_localDependency.Emojis.awards"
|
|
327
|
-
],
|
|
328
|
-
"attributes": [
|
|
329
|
-
"cy_namedArg.user -> ../components/files/FilePreview.FilePreview.cy_spread.file.user",
|
|
330
|
-
"~/providers/FileProvider.useFile.cy_returnValue.folder -> ../components/files/FilePreview.FilePreview.cy_spread.file.folder",
|
|
331
|
-
"~/providers/FileProvider.useFile.cy_returnValue.folder.files[].stats.awards -> cy_localDependency.Emojis.awards",
|
|
332
|
-
"cy_localDependency.calculateStats.cy_returnValue.awards -> cy_localDependency.Emojis.awards"
|
|
333
|
-
],
|
|
334
|
-
"dataMap": {
|
|
335
|
-
"cy_namedArg.user": [
|
|
336
|
-
"../components/files/FilePreview.FilePreview.cy_spread.file.user"],
|
|
337
|
-
"cy_localDependency.calculateStats.arg[1]"
|
|
338
|
-
],
|
|
339
|
-
"~/providers/FileProvider.useFile.cy_returnValue.folder": [
|
|
340
|
-
"../components/files/FilePreview.FilePreview.cy_spread.file.folder"
|
|
341
|
-
],
|
|
342
|
-
"~/providers/FileProvider.useFile.cy_returnValue.folder.files[]": [
|
|
343
|
-
"../components/files/FilePreview.FilePreview.cy_spread.file",
|
|
344
|
-
"cy_localDependency.calculateStats.arg[0]"
|
|
345
|
-
],
|
|
346
|
-
"~/providers/FileProvider.useFile.cy_returnValue.folder.files[].stats.awards": [
|
|
347
|
-
"cy_localDependency.Emojis.awards"
|
|
348
|
-
],
|
|
349
|
-
"cy_localDependency.calculateStats.functionCallReturnValue.awards": [
|
|
350
|
-
"cy_localDependency.Emojis.awards"
|
|
351
|
-
]
|
|
352
|
-
}
|
|
353
|
-
}
|
|
354
|
-
\`\`\`
|
|
355
|
-
|
|
356
|
-
---- END EXAMPLE ----
|
|
357
|
-
|
|
358
|
-
Note how the attributes contained in the \`FilePreview.cy_spread.file\` are captured as in the code it is clear that \`user\` and \`folder\` are added to the \`file\` before being passed to the \`FilePreview\` component. Also note how the value for some mappings contain two entries to reflect the data beind used in multiple places.
|
|
359
|
-
|
|
360
|
-
## Rules
|
|
361
|
-
|
|
362
|
-
Be sure to capture any data that is passed into a dependency or returned from the function as outData. There is frequently data passed into a dependency that creates both an "outData" and an "inData" entry. Capture both.
|
|
363
|
-
|
|
364
|
-
If data (or a nested attribute) is passed to multiple dependencies, create an entry for each dependency. Similarly, if a dependency takes in different data in different situations then map each situation separately.
|
|
365
|
-
|
|
366
|
-
Look out for data that is reorganized in the function. For example if the function takes an array of "books" but then gathers all the "chapters" of all the books into a new array then if that data is passed to a dependency we can map the "chapters" back to the original "books".
|
|
367
|
-
|
|
368
|
-
You do not need to map the return value of a react component.
|
|
369
|
-
|
|
370
|
-
Do not create duplicate entries. They are not necessary.
|
|
371
|
-
|
|
372
|
-
Be sure to capture the exact path, with proper capitalization, for each dependency as it is listed in either the "Imported Dependencies" or "Local Dependencies". Capture all relative aspects (e.g. "cy_localDependency", "@", "~", "../", "~/", etc.) and the rest of the path to the dependency file or node module. Do not make up any dependency paths as this will cause the data mapping to break.
|
|
373
|
-
|
|
374
|
-
Just provide the json with the map and nothing else (no comments or text around the json).
|
|
375
|
-
`;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as e}from"./components-CAx5ONX_.js";import{c as r}from"./createLucideIcon-CgyOwWip.js";import{C as s}from"./chart-column-B2I7jQx2.js";const i=[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]],d=r("box",i);const h=[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]],g=r("code-xml",h);const b=[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]],a=r("code",b);const C=[["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 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],n=r("file-text",C);const f=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],p=r("image",f);const y=[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]],x=r("list",y);const m=[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]],u=r("tag",m);function M({type:c}){const t={visual:{iconColor:"#7c3aed",bgColor:"bg-purple-100",bgHex:"#f3e8ff"},library:{iconColor:"#0DBFE9",bgColor:"bg-cyan-100",bgHex:"#cffafe"},type:{iconColor:"#dc2626",bgColor:"bg-red-100",bgHex:"#fee2e2"},data:{iconColor:"#2563eb",bgColor:"bg-blue-100",bgHex:"#dbeafe"},index:{iconColor:"#ea580c",bgColor:"bg-orange-100",bgHex:"#ffedd5"},functionCall:{iconColor:"#7c3aed",bgColor:"bg-purple-100",bgHex:"#f3e8ff"},class:{iconColor:"#059669",bgColor:"bg-emerald-100",bgHex:"#d1fae5"},method:{iconColor:"#0891b2",bgColor:"bg-cyan-100",bgHex:"#cffafe"},other:{iconColor:"#6b7280",bgColor:"bg-gray-100",bgHex:"#f3f4f6"}},o=t[c]||t.other,l=()=>{switch(c){case"library":return e.jsx(g,{size:16,color:o.iconColor});case"visual":return e.jsx(p,{size:16,color:o.iconColor});case"type":return e.jsx(u,{size:16,color:o.iconColor});case"data":return e.jsx(s,{size:16,color:o.iconColor});case"index":return e.jsx(x,{size:16,color:o.iconColor});case"functionCall":return e.jsx(a,{size:16,color:o.iconColor});case"class":return e.jsx(d,{size:16,color:o.iconColor});case"method":return e.jsx(a,{size:16,color:o.iconColor});case"other":return e.jsx(n,{size:16,color:o.iconColor});default:return e.jsx(n,{size:16,color:o.iconColor})}};return e.jsx("span",{className:`flex items-center justify-center w-8 h-8 rounded ${o.bgColor}`,children:l()})}export{g as C,M as E,p as I};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{j as d,L as D}from"./components-CAx5ONX_.js";function F(r,l,x,$,E){const e=l?.scenarios?.find(t=>t.name===r.name),u=!!e?.startedAt,o=!!e?.screenshotStartedAt,k=!!e?.screenshotFinishedAt,p=!!e?.finishedAt,v=1800*1e3,g=o&&!k&&e?.screenshotStartedAt&&Date.now()-new Date(e.screenshotStartedAt).getTime()>v,a=!!r.metadata?.screenshotPaths?.[0]||!!r.metadata?.executionResult,s=o&&!k,c=e?.error,S=r.metadata?.executionResult?.error,i=[];if(l?.errors&&l.errors.length>0)for(const t of l.errors)i.push({source:`${t.phase} phase`,message:t.message});if(l?.steps)for(const t of l.steps)t.error&&i.push({source:t.name,message:t.error});const w=!a&&!c&&!S&&i.length>0,n=!!(c||S||g||w),j=g?"Capture timed out after 30 minutes":(typeof c=="string"?c:null)||S?.message||(w?`Analysis error: ${i[0].message}`:null),L=g?"The capture process has been running for more than 30 minutes and likely got stuck. Consider re-running the analysis.":e?.errorStack||S?.stack||null,A=($&&E?E.jobs.some(t=>t.entityShas?.includes($)||t.type==="analysis"&&t.entityShas&&t.entityShas.length===0)||E.currentlyExecuting?.entityShas?.includes($):!1)&&!u&&!n||!!e?.analyzing&&!u&&!n,C=u&&!o&&!p&&!n,M=(A||C||s)&&!n,h=(A||C)&&x===!1&&!a;let m;h?m="crashed":n?m="error":a||p?m="completed":s?m="capturing":C?m="starting":A?m="queued":m="pending";let b="📷",f="pending",T=!1,y=`Not captured: ${r.name}`;const R=n||h?"border-red-300":"border-gray-300",z=n||h?"bg-red-50":"bg-gray-50";return n||h?(b="⚠️",f="error",y=`Error: ${h?"Analysis process crashed":j||"Unknown error"}`):A?(b="⏱️",f="queued",y=`Queued: ${r.name}`):C?(b="⚙️",f="starting",T=!0,y=`Starting server for ${r.name}...`):s&&!n?(b="🔍",f="capturing",T=!0,y=`Capturing ${r.name}...`):a&&(b="✓",f="completed",y=r.name),{hasError:n||h,errorMessage:h?"Analysis process crashed":j,errorStack:h?"Process terminated unexpectedly before completing analysis":L,isCapturing:s,isCaptured:a,hasCrashed:h,isAnalyzing:M,isQueued:A,isServerStarting:C,status:m,icon:b,iconType:f,shouldSpin:T,title:y,borderColor:R,bgColor:z}}function P({scenario:r,entitySha:l,size:x="medium",showBorder:$=!0,isOutdated:E=!1}){const e=F(r,void 0,void 0,l,void 0),u=r.metadata?.executionResult,o=!!u,p=(r.metadata?.data?.argumentsData||[]).length,v=u?.returnValue!==void 0&&u?.returnValue!==null,g=u?.sideEffects?.consoleOutput?.length||0,a=u?.timing?.duration||0;let s=0;p>0&&s++,p>2&&s++,v&&s++,g>0&&s++,s=Math.min(3,s);const c=x==="small"?{width:"w-[50px]",height:"h-[38px]",iconSize:"text-base",textSize:"text-[8px]"}:{width:"w-20",height:"h-15",iconSize:"text-xl",textSize:"text-[10px]"},i=e.hasError?{border:"border-red-400",bg:"bg-red-50",icon:"text-red-600",badge:"bg-red-100 text-red-700"}:o?E?{border:"border-amber-500",bg:"bg-amber-50",icon:"text-amber-700",badge:"bg-amber-100 text-amber-700"}:{border:"border-blue-400",bg:"bg-blue-50",icon:"text-blue-600",badge:"bg-blue-100 text-blue-700"}:{border:"border-gray-300 border-dashed",bg:"bg-gray-50",icon:"text-gray-400",badge:"bg-gray-100 text-gray-600"},w=$?`border-2 ${i.border}`:"",n=Array.from({length:3},(L,N)=>d.jsx("div",{className:`w-1 h-1 rounded-full ${N<s?i.icon.replace("text-","bg-"):"bg-gray-300"}`},N)),j=e.hasError?`Error: ${e.errorMessage||"Unknown error"}`:o?`${r.name}
|
|
2
|
-
${p} args → ${v?"value":"void"}${g>0?` (${g} logs)`:""}
|
|
3
|
-
${a}ms`:`Not executed: ${r.name}`;return d.jsxs(D,{to:`/entity/${l}/scenarios/${r.id}`,className:`relative ${c.width} ${c.height} ${w} rounded ${i.bg} flex flex-col items-center justify-center gap-0.5 cursor-pointer transition-all hover:scale-105 hover:shadow-md`,title:j,children:[d.jsx("div",{className:`${i.icon} ${c.iconSize} font-mono font-bold`,children:e.hasError?"⚠":o?"ƒ":"○"}),o&&!e.hasError&&d.jsxs("div",{className:`flex items-center gap-0.5 ${c.textSize} ${i.badge} px-1 rounded`,children:[d.jsx("span",{children:p}),d.jsx("span",{children:"→"}),d.jsx("span",{children:v?"✓":"∅"})]}),o&&!e.hasError&&x==="medium"&&d.jsx("div",{className:"flex gap-0.5 mt-0.5",children:n}),o&&!e.hasError&&a>100&&x==="medium"&&d.jsx("div",{className:`absolute top-0.5 right-0.5 ${c.textSize} ${i.badge} px-1 rounded`,children:a>1e3?`${Math.round(a/1e3)}s`:`${a}ms`}),o&&!e.hasError&&g>0&&x==="medium"&&d.jsxs("div",{className:"absolute bottom-0.5 left-0.5 text-[8px] text-gray-500",children:["📝",g]})]})}export{P as L,F as g};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,j as e}from"./components-CAx5ONX_.js";function j({screenshotPath:a,cacheBuster:l,alt:x,className:f="",title:o}){const[n,s]=t.useState("loading"),[i,r]=t.useState(!1),c=t.useRef(null),d=l?`/api/screenshot/${a}?cb=${l}`:`/api/screenshot/${a}`,m=()=>{s("success"),r(!0)},g=()=>{s("error"),r(!1)};return t.useEffect(()=>{s("loading"),r(!1);const u=c.current;u?.complete&&(u.naturalHeight!==0?(s("success"),r(!0)):(s("error"),r(!1)))},[d]),a?e.jsxs("div",{className:"relative w-full h-full flex items-center justify-center",title:o,children:[e.jsx("img",{ref:c,src:d,alt:x,onLoad:m,onError:g,className:f||"max-w-full max-h-full object-contain",style:{visibility:i?"visible":"hidden",position:i?"relative":"absolute"}}),n==="loading"&&e.jsx("div",{className:"absolute inset-0 bg-gray-100 animate-pulse rounded flex items-center justify-center",children:e.jsx("svg",{className:"w-8 h-8 text-gray-300",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"})})}),n==="error"&&e.jsxs("div",{className:"absolute inset-0 border-2 border-dashed border-gray-300 bg-gray-50 rounded flex flex-col items-center justify-center text-xs gap-1",children:[e.jsx("span",{className:"text-2xl text-gray-400",children:"📷"}),e.jsx("span",{className:"text-gray-400 whitespace-nowrap",children:"No Screenshot"})]})]}):e.jsx("div",{className:"w-full h-full border-2 border-dashed border-gray-300 bg-gray-50 rounded flex flex-col items-center justify-center text-xs gap-1",title:o,children:e.jsx("span",{className:"text-2xl text-gray-400",children:"📷"})})}export{j as S};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as e,L as m}from"./components-CAx5ONX_.js";import{S}from"./SafeScreenshot-xwuhwsZH.js";import{L as b,g as C}from"./LibraryFunctionPreview-p0fuyqGQ.js";import{c as h}from"./createLucideIcon-CgyOwWip.js";import{C as v}from"./circle-alert-GwwOAbhw.js";const N=[["path",{d:"M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z",key:"18u6gg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]],d=h("camera",N);const $=[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]],w=h("circle-check-big",$);function D({scenario:t,entity:n,analysisStatus:u,queueState:x,processIsRunning:p,size:s="medium",cacheBuster:f,className:y="",viewMode:l}){if(n.entityType==="library")return e.jsx(b,{scenario:t,entitySha:n.sha,size:s==="small"?"small":"medium"});const r=C(t,u,p,n.sha,x),i=s==="small"?{containerClass:"w-16 h-12",iconSize:"text-xl"}:s==="large"?{containerClass:"w-full h-[67px]",iconSize:"text-2xl"}:{containerClass:"w-20 h-15",iconSize:"text-2xl"},c=`relative ${i.containerClass} ${y}`,o=()=>{const a=`/entity/${n.sha}/scenarios/${t.id}`;return l?`${a}/${l}`:a};if(r.isCaptured){const a=t.metadata?.screenshotPaths?.[0];return e.jsx(m,{to:o(),className:`${c} rounded overflow-hidden bg-gray-50 cursor-pointer transition-all flex items-center justify-center hover:scale-105 hover:shadow-md`,children:e.jsx(S,{screenshotPath:a,cacheBuster:f,alt:t.name,title:t.name,className:"max-w-full max-h-full object-contain object-center"})})}const j=()=>{const a={size:s==="small"?16:s==="large"?24:20,strokeWidth:2};if(r.shouldSpin){const g=s==="small"?"text-base":s==="large"?"text-2xl":"text-xl";return e.jsxs("div",{className:`${g} font-bold tracking-widest`,children:[e.jsx("span",{className:"animate-pulse",children:"."}),e.jsx("span",{className:"animate-pulse",style:{animationDelay:"0.2s"},children:"."}),e.jsx("span",{className:"animate-pulse",style:{animationDelay:"0.4s"},children:"."})]})}switch(r.iconType){case"queued":case"starting":case"capturing":return e.jsx(d,{...a});case"error":return e.jsx(v,{...a});case"completed":return e.jsx(w,{...a});case"pending":default:return e.jsx(d,{...a})}};return e.jsx(m,{to:o(),className:`${c} rounded ${r.bgColor} flex flex-col items-center justify-center cursor-pointer transition-all hover:scale-105 hover:shadow-md`,title:r.title,children:e.jsx("div",{className:i.iconSize,children:j()})})}export{w as C,D as S};
|