@codeyam/codeyam-cli 0.1.0-staging.036391e → 0.1.0-staging.07d8f7b
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 +14 -14
- package/analyzer-template/packages/ai/index.ts +1 -0
- package/analyzer-template/packages/ai/package.json +1 -1
- package/analyzer-template/packages/ai/src/lib/analyzeScope.ts +14 -0
- package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +34 -3
- package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +101 -0
- package/analyzer-template/packages/ai/src/lib/astScopes/sharedPatterns.ts +28 -0
- package/analyzer-template/packages/ai/src/lib/astScopes/types.ts +6 -0
- package/analyzer-template/packages/ai/src/lib/completionCall.ts +114 -113
- package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +435 -13
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/coercePrimitivesToArraysBySchema.ts +62 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.ts +70 -19
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.ts +35 -0
- package/analyzer-template/packages/ai/src/lib/dataStructureChunking.ts +40 -13
- package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +110 -7
- package/analyzer-template/packages/ai/src/lib/generateExecutionFlows.ts +134 -2
- package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionals.ts +359 -142
- package/analyzer-template/packages/ai/src/lib/mergeJsonTypeDefinitions.ts +5 -0
- package/analyzer-template/packages/ai/src/lib/promptGenerators/collapseNullableObjects.ts +118 -0
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.ts +24 -4
- package/analyzer-template/packages/analyze/src/lib/ProjectAnalyzer.ts +6 -0
- package/analyzer-template/packages/analyze/src/lib/asts/nodes/getNodeType.ts +1 -0
- package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +18 -0
- package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +9 -1
- package/analyzer-template/packages/analyze/src/lib/files/analyze/dependencyResolver.ts +0 -6
- package/analyzer-template/packages/analyze/src/lib/files/analyze/findOrCreateEntity.ts +12 -0
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/TransformationTracer.ts +65 -28
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.ts +50 -25
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +83 -0
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +176 -80
- package/analyzer-template/packages/aws/package.json +10 -10
- package/analyzer-template/packages/database/index.ts +1 -0
- package/analyzer-template/packages/database/src/lib/analysisBranchToDb.ts +1 -1
- package/analyzer-template/packages/database/src/lib/analysisToDb.ts +1 -1
- package/analyzer-template/packages/database/src/lib/branchToDb.ts +1 -1
- package/analyzer-template/packages/database/src/lib/commitBranchToDb.ts +1 -1
- package/analyzer-template/packages/database/src/lib/commitToDb.ts +1 -1
- package/analyzer-template/packages/database/src/lib/fileToDb.ts +1 -1
- package/analyzer-template/packages/database/src/lib/kysely/db.ts +8 -0
- package/analyzer-template/packages/database/src/lib/kysely/tables/debugReportsTable.ts +1 -1
- package/analyzer-template/packages/database/src/lib/kysely/tables/editorScenariosTable.ts +62 -0
- package/analyzer-template/packages/database/src/lib/loadCommits.ts +31 -20
- package/analyzer-template/packages/database/src/lib/loadReadyToBeCapturedAnalyses.ts +0 -5
- package/analyzer-template/packages/database/src/lib/projectToDb.ts +1 -1
- package/analyzer-template/packages/database/src/lib/saveFiles.ts +1 -1
- package/analyzer-template/packages/database/src/lib/scenarioToDb.ts +1 -1
- package/analyzer-template/packages/database/src/lib/updateCommitMetadata.ts +151 -135
- package/analyzer-template/packages/database/src/lib/updateFreshAnalysisStatus.ts +58 -42
- package/analyzer-template/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.ts +81 -65
- package/analyzer-template/packages/database/src/lib/userScenarioToDb.ts +1 -1
- package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.ts +29 -1
- package/analyzer-template/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.ts +33 -5
- package/analyzer-template/packages/github/dist/database/index.d.ts +1 -0
- package/analyzer-template/packages/github/dist/database/index.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/index.js +1 -0
- package/analyzer-template/packages/github/dist/database/index.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.js +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.js +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.js +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.js +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.js +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.js +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts +2 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js +5 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.d.ts +20 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.js +45 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts +5 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js +23 -13
- package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js +1 -4
- package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.js +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.js +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.js +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js +100 -89
- package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.js +41 -30
- package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.js +68 -57
- package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +29 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.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 +33 -5
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
- package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts +1 -0
- package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts +10 -0
- package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts.map +1 -1
- package/analyzer-template/packages/types/src/types/ProjectMetadata.ts +1 -0
- package/analyzer-template/packages/types/src/types/Scenario.ts +10 -0
- package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts +1 -0
- package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts +10 -0
- package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js +98 -3
- package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js.map +1 -1
- package/analyzer-template/packages/utils/src/lib/fs/rsyncCopy.ts +121 -3
- package/analyzer-template/playwright/captureFromUrl.ts +89 -82
- package/analyzer-template/project/constructMockCode.ts +170 -50
- package/analyzer-template/project/orchestrateCapture.ts +4 -1
- package/analyzer-template/project/reconcileMockDataKeys.ts +19 -14
- package/analyzer-template/project/start.ts +3 -0
- package/analyzer-template/project/startScenarioCapture.ts +9 -0
- package/analyzer-template/project/writeClientLogRoute.ts +125 -0
- package/analyzer-template/project/writeMockDataTsx.ts +17 -0
- package/analyzer-template/project/writeScenarioComponents.ts +110 -17
- package/analyzer-template/tsconfig.json +13 -1
- package/background/src/lib/local/createLocalAnalyzer.js +1 -1
- package/background/src/lib/local/createLocalAnalyzer.js.map +1 -1
- package/background/src/lib/virtualized/project/constructMockCode.js +145 -41
- package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
- package/background/src/lib/virtualized/project/orchestrateCapture.js +4 -1
- package/background/src/lib/virtualized/project/orchestrateCapture.js.map +1 -1
- package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +17 -11
- package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
- package/background/src/lib/virtualized/project/start.js +2 -0
- package/background/src/lib/virtualized/project/start.js.map +1 -1
- package/background/src/lib/virtualized/project/startScenarioCapture.js +5 -0
- package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
- package/background/src/lib/virtualized/project/writeClientLogRoute.js +110 -0
- package/background/src/lib/virtualized/project/writeClientLogRoute.js.map +1 -0
- package/background/src/lib/virtualized/project/writeMockDataTsx.js +12 -0
- package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
- package/background/src/lib/virtualized/project/writeScenarioComponents.js +83 -12
- package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
- package/codeyam-cli/scripts/apply-setup.js +209 -12
- package/codeyam-cli/scripts/apply-setup.js.map +1 -1
- package/codeyam-cli/src/cli.js +33 -24
- package/codeyam-cli/src/cli.js.map +1 -1
- package/codeyam-cli/src/codeyam-cli.js +18 -2
- package/codeyam-cli/src/codeyam-cli.js.map +1 -1
- package/codeyam-cli/src/commands/analyze.js +21 -9
- package/codeyam-cli/src/commands/analyze.js.map +1 -1
- package/codeyam-cli/src/commands/baseline.js +2 -0
- package/codeyam-cli/src/commands/baseline.js.map +1 -1
- package/codeyam-cli/src/commands/debug.js +2 -0
- package/codeyam-cli/src/commands/debug.js.map +1 -1
- package/codeyam-cli/src/commands/default.js +87 -21
- package/codeyam-cli/src/commands/default.js.map +1 -1
- package/codeyam-cli/src/commands/editor.js +697 -0
- package/codeyam-cli/src/commands/editor.js.map +1 -0
- package/codeyam-cli/src/commands/init.js +75 -259
- package/codeyam-cli/src/commands/init.js.map +1 -1
- package/codeyam-cli/src/commands/memory.js +95 -81
- package/codeyam-cli/src/commands/memory.js.map +1 -1
- package/codeyam-cli/src/commands/recapture.js +2 -0
- package/codeyam-cli/src/commands/recapture.js.map +1 -1
- package/codeyam-cli/src/commands/setup-sandbox.js +2 -0
- package/codeyam-cli/src/commands/setup-sandbox.js.map +1 -1
- package/codeyam-cli/src/commands/setup-simulations.js +284 -0
- package/codeyam-cli/src/commands/setup-simulations.js.map +1 -0
- package/codeyam-cli/src/commands/test-startup.js +2 -0
- package/codeyam-cli/src/commands/test-startup.js.map +1 -1
- package/codeyam-cli/src/commands/verify.js +14 -2
- package/codeyam-cli/src/commands/verify.js.map +1 -1
- package/codeyam-cli/src/utils/__tests__/npmVersionCheck.test.js +185 -0
- package/codeyam-cli/src/utils/__tests__/npmVersionCheck.test.js.map +1 -0
- package/codeyam-cli/src/utils/__tests__/pathIgnoring.test.js +9 -0
- package/codeyam-cli/src/utils/__tests__/pathIgnoring.test.js.map +1 -1
- package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +154 -86
- package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
- package/codeyam-cli/src/utils/analyzer.js +7 -0
- package/codeyam-cli/src/utils/analyzer.js.map +1 -1
- package/codeyam-cli/src/utils/backgroundServer.js +109 -26
- package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
- package/codeyam-cli/src/utils/devModeEvents.js +40 -0
- package/codeyam-cli/src/utils/devModeEvents.js.map +1 -0
- package/codeyam-cli/src/utils/fileMetadata.js +5 -0
- package/codeyam-cli/src/utils/fileMetadata.js.map +1 -1
- package/codeyam-cli/src/utils/fileWatcher.js +25 -9
- package/codeyam-cli/src/utils/fileWatcher.js.map +1 -1
- package/codeyam-cli/src/utils/generateReport.js +2 -2
- package/codeyam-cli/src/utils/git.js +52 -0
- package/codeyam-cli/src/utils/git.js.map +1 -1
- package/codeyam-cli/src/utils/install-skills.js +74 -63
- package/codeyam-cli/src/utils/install-skills.js.map +1 -1
- package/codeyam-cli/src/utils/interactiveSyncWatcher.js +126 -0
- package/codeyam-cli/src/utils/interactiveSyncWatcher.js.map +1 -0
- package/codeyam-cli/src/utils/labsAutoCheck.js +0 -29
- package/codeyam-cli/src/utils/labsAutoCheck.js.map +1 -1
- package/codeyam-cli/src/utils/npmVersionCheck.js +76 -0
- package/codeyam-cli/src/utils/npmVersionCheck.js.map +1 -0
- package/codeyam-cli/src/utils/pathIgnoring.js +19 -7
- package/codeyam-cli/src/utils/pathIgnoring.js.map +1 -1
- package/codeyam-cli/src/utils/progress.js +7 -0
- package/codeyam-cli/src/utils/progress.js.map +1 -1
- package/codeyam-cli/src/utils/queue/__tests__/heartbeat.test.js +11 -11
- package/codeyam-cli/src/utils/queue/__tests__/heartbeat.test.js.map +1 -1
- package/codeyam-cli/src/utils/queue/__tests__/manager.test.js +22 -0
- package/codeyam-cli/src/utils/queue/__tests__/manager.test.js.map +1 -1
- package/codeyam-cli/src/utils/queue/heartbeat.js +13 -5
- package/codeyam-cli/src/utils/queue/heartbeat.js.map +1 -1
- package/codeyam-cli/src/utils/queue/job.js +70 -1
- package/codeyam-cli/src/utils/queue/job.js.map +1 -1
- package/codeyam-cli/src/utils/queue/manager.js +7 -6
- package/codeyam-cli/src/utils/queue/manager.js.map +1 -1
- package/codeyam-cli/src/utils/requireSimulations.js +10 -0
- package/codeyam-cli/src/utils/requireSimulations.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js +7 -8
- package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js.map +1 -1
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js +1 -1
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js.map +1 -1
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js +0 -1
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js.map +1 -1
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js +97 -6
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js.map +1 -1
- package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js +4 -6
- package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js.map +1 -1
- package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js +3 -3
- package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js.map +1 -1
- package/codeyam-cli/src/utils/rules/__tests__/parser.test.js +83 -0
- package/codeyam-cli/src/utils/rules/__tests__/parser.test.js.map +1 -0
- package/codeyam-cli/src/utils/rules/__tests__/pathMatcher.test.js +118 -0
- package/codeyam-cli/src/utils/rules/__tests__/pathMatcher.test.js.map +1 -0
- package/codeyam-cli/src/utils/rules/__tests__/rulePlacement.test.js +72 -0
- package/codeyam-cli/src/utils/rules/__tests__/rulePlacement.test.js.map +1 -0
- package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js +23 -23
- package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js.map +1 -1
- package/codeyam-cli/src/utils/rules/__tests__/sourceFiles.test.js +76 -0
- package/codeyam-cli/src/utils/rules/__tests__/sourceFiles.test.js.map +1 -0
- package/codeyam-cli/src/utils/rules/index.js +1 -0
- package/codeyam-cli/src/utils/rules/index.js.map +1 -1
- package/codeyam-cli/src/utils/rules/parser.js +19 -4
- package/codeyam-cli/src/utils/rules/parser.js.map +1 -1
- package/codeyam-cli/src/utils/rules/pathMatcher.js +34 -3
- package/codeyam-cli/src/utils/rules/pathMatcher.js.map +1 -1
- package/codeyam-cli/src/utils/rules/rulePlacement.js +65 -0
- package/codeyam-cli/src/utils/rules/rulePlacement.js.map +1 -0
- package/codeyam-cli/src/utils/rules/ruleState.js +10 -10
- package/codeyam-cli/src/utils/rules/ruleState.js.map +1 -1
- package/codeyam-cli/src/utils/rules/sourceFiles.js +43 -0
- package/codeyam-cli/src/utils/rules/sourceFiles.js.map +1 -0
- package/codeyam-cli/src/utils/rules/staleness.js +6 -6
- package/codeyam-cli/src/utils/rules/staleness.js.map +1 -1
- package/codeyam-cli/src/utils/serverState.js +64 -12
- package/codeyam-cli/src/utils/serverState.js.map +1 -1
- package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +61 -43
- package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
- package/codeyam-cli/src/utils/simulationGateMiddleware.js +159 -0
- package/codeyam-cli/src/utils/simulationGateMiddleware.js.map +1 -0
- package/codeyam-cli/src/utils/syncMocksMiddleware.js +5 -24
- package/codeyam-cli/src/utils/syncMocksMiddleware.js.map +1 -1
- package/codeyam-cli/src/utils/testRunner.js +158 -0
- package/codeyam-cli/src/utils/testRunner.js.map +1 -0
- package/codeyam-cli/src/utils/transcriptPruning.js +67 -0
- package/codeyam-cli/src/utils/transcriptPruning.js.map +1 -0
- package/codeyam-cli/src/utils/versionInfo.js +46 -0
- package/codeyam-cli/src/utils/versionInfo.js.map +1 -1
- package/codeyam-cli/src/utils/webappDetection.js +14 -2
- package/codeyam-cli/src/utils/webappDetection.js.map +1 -1
- package/codeyam-cli/src/webserver/__tests__/dependency-smoke.test.js +66 -0
- package/codeyam-cli/src/webserver/__tests__/dependency-smoke.test.js.map +1 -0
- package/codeyam-cli/src/webserver/app/lib/database.js +55 -30
- 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 +144 -25
- package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
- package/codeyam-cli/src/webserver/bootstrap.js +11 -0
- package/codeyam-cli/src/webserver/bootstrap.js.map +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{CopyButton-CA3JxPb7.js → CopyButton-DmJveP3T.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{EntityItem-B86KKU7e.js → EntityItem-C76mRRiF.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeBadge-B5ctlSYt.js → EntityTypeBadge-g3saevPb.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeIcon-BqY8gDAW.js → EntityTypeIcon-CobE682z.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-Bu6c6aDe.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{InteractivePreview-BDhPilK7.js → InteractivePreview-DYFW3lDD.js} +3 -3
- package/codeyam-cli/src/webserver/build/client/assets/{LibraryFunctionPreview-VeqEBv9v.js → LibraryFunctionPreview-DLeucoVX.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{LoadingDots-Bs7Nn1Jr.js → LoadingDots-BU_OAEMP.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{LogViewer-Bm3PmcCz.js → LogViewer-ceAyBX-H.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{ReportIssueModal-C6PKeMYR.js → ReportIssueModal-djPLI-WV.js} +2 -2
- package/codeyam-cli/src/webserver/build/client/assets/{SafeScreenshot-Gq3Ocjo6.js → SafeScreenshot-BED4B6sP.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{ScenarioViewer-BNLaXBHR.js → ScenarioViewer-B76aig_2.js} +2 -2
- package/codeyam-cli/src/webserver/build/client/assets/Spinner-Bb5uFQ5V.js +34 -0
- package/codeyam-cli/src/webserver/build/client/assets/Terminal-BaIiqg_w.js +41 -0
- package/codeyam-cli/src/webserver/build/client/assets/{TruncatedFilePath-CiwXDxLh.js → TruncatedFilePath-C8OKAR5x.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{_index-B3TDXxnk.js → _index-C96V0n15.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{activity.(_tab)-BtBFH820.js → activity.(_tab)-BpKzcsJz.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/addon-fit-CUXOrorO.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/addon-web-links-Duc5hnl7.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/agent-transcripts-D9hemwl6.js +22 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-capture-scenario-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-client-errors-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-commit-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-dev-server-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-entity-status-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-entry-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-image._-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-screenshot-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-update-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-refresh-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-register-scenario-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-data-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-image._-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-switch-scenario-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-test-results-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.rule-path-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{book-open-PttOB2SF.js → book-open-D_nMCFmP.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{chevron-down-TJp6ofnp.js → chevron-down-BH2h1Ea2.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{chunk-JZWAC4HX-JE9ZIoBl.js → chunk-JZWAC4HX-C4pqxYJB.js} +9 -9
- package/codeyam-cli/src/webserver/build/client/assets/{circle-check-CXhHQYrI.js → circle-check-DyIKORY6.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{copy-6y9ALfGT.js → copy-NDbZjXao.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{createLucideIcon-Ca9fAY46.js → createLucideIcon-CMT1jU2q.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/dev.empty-BiM6z3Do.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/editor-Ba0jejiv.js +7 -0
- package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-n38keI1k.js → entity._sha._-CrjR3zZW.js} +10 -10
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.dev-DloHYjtt.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-C28BiQzt.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-p9hhkjJM.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.edit._scenarioId-38yPijoD.js → entity._sha_.edit._scenarioId-BMvVHNXU.js} +2 -2
- package/codeyam-cli/src/webserver/build/client/assets/{entry.client-BSHEfydn.js → entry.client-DTvKq3TY.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{fileTableUtils-DCPhhSMo.js → fileTableUtils-cPo8LiG3.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{files-0N0YJQv7.js → files-DO4CZ16O.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{git-DXnyr8uP.js → git-CFCTYk9I.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/globals-BH6uYxPM.css +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{index-ChN9-fAY.js → index-10oVnAAH.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{index-CcsFv748.js → index-BcvgDzbZ.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/labs-Zk7ryIM1.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{loader-circle-CTqLEAGU.js → loader-circle-BAXYRVEO.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/manifest-dcea65f8.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/memory-FweZHj5U.js +93 -0
- package/codeyam-cli/src/webserver/build/client/assets/{pause-D6vreykR.js → pause-DTAcYxBt.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/root-Dzn8nIkU.js +67 -0
- package/codeyam-cli/src/webserver/build/client/assets/{search-B8VUL8nl.js → search-fKo7v0Zo.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/settings-DfuTtcJP.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{simulations-CPoAg7Zo.js → simulations-B3aOzpCZ.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{terminal-BrCP7uQo.js → terminal-BG4heKCG.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{triangle-alert-BZz2NjYa.js → triangle-alert-DtSmdtM4.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{useCustomSizes-DNwUduNu.js → useCustomSizes-ByhSyh0W.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-C14nCb1q.js +2 -0
- package/codeyam-cli/src/webserver/build/client/assets/{useReportContext-CpZgwliL.js → useReportContext-O-jkvSPx.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{useToast-Bv9JFvUO.js → useToast-9FIWuYfK.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/xterm-DMSzMhqy.js +9 -0
- package/codeyam-cli/src/webserver/build/server/assets/index-mE6GlU_8.js +1 -0
- package/codeyam-cli/src/webserver/build/server/assets/server-build-BApEk7IO.js +362 -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 +39 -5
- package/codeyam-cli/src/webserver/devServer.js.map +1 -1
- package/codeyam-cli/src/webserver/editorProxy.js +272 -0
- package/codeyam-cli/src/webserver/editorProxy.js.map +1 -0
- package/codeyam-cli/src/webserver/scripts/journalCapture.ts +121 -0
- package/codeyam-cli/src/webserver/server.js +177 -1
- package/codeyam-cli/src/webserver/server.js.map +1 -1
- package/codeyam-cli/src/webserver/terminalServer.js +606 -0
- package/codeyam-cli/src/webserver/terminalServer.js.map +1 -0
- package/codeyam-cli/templates/{codeyam:debug.md → codeyam-debug.md} +1 -1
- package/codeyam-cli/templates/codeyam-dev-mode.md +237 -0
- package/codeyam-cli/templates/codeyam-diagnose.md +481 -0
- package/codeyam-cli/templates/codeyam-editor-claude.md +68 -0
- package/codeyam-cli/templates/codeyam-editor.md +67 -0
- package/codeyam-cli/templates/codeyam-memory-hook.sh +14 -14
- package/codeyam-cli/templates/{codeyam:memory.md → codeyam-memory.md} +16 -24
- package/codeyam-cli/templates/{codeyam:new-rule.md → codeyam-new-rule.md} +1 -3
- package/codeyam-cli/templates/{codeyam:setup.md → codeyam-setup.md} +13 -1
- package/codeyam-cli/templates/{codeyam:sim.md → codeyam-sim.md} +1 -1
- package/codeyam-cli/templates/{codeyam:test.md → codeyam-test.md} +1 -1
- package/codeyam-cli/templates/{codeyam:verify.md → codeyam-verify.md} +1 -1
- package/codeyam-cli/templates/editor-step-hook.py +143 -0
- package/codeyam-cli/templates/hooks/staleness-check.sh +43 -0
- package/codeyam-cli/templates/isolation-route/next-app.tsx.template +80 -0
- package/codeyam-cli/templates/isolation-route/next-pages.tsx.template +79 -0
- package/codeyam-cli/templates/isolation-route/vite-react.tsx.template +78 -0
- package/codeyam-cli/templates/msw/browser-setup.ts.template +47 -0
- package/codeyam-cli/templates/msw/handler-router.ts.template +47 -0
- package/codeyam-cli/templates/msw/server-setup.ts.template +52 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/PRISMA_SETUP.md +84 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/app/api/todos/route.ts +17 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/app/globals.css +26 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/app/layout.tsx +34 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/app/lib/prisma.ts +19 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/app/page.tsx +10 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/eslint.config.mjs +11 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/next.config.ts +14 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/package.json +35 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/postcss.config.mjs +7 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma/schema.prisma +27 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma/seed.ts +37 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma.config.ts +12 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/tsconfig.json +34 -0
- package/codeyam-cli/templates/prompts/conversation-guidance.txt +44 -0
- package/codeyam-cli/templates/prompts/conversation-prompt.txt +28 -0
- package/codeyam-cli/templates/prompts/interruption-prompt.txt +31 -0
- package/codeyam-cli/templates/prompts/stale-rules-prompt.txt +24 -0
- package/codeyam-cli/templates/rule-notification-hook.py +44 -17
- package/codeyam-cli/templates/rule-reflection-hook.py +88 -31
- package/codeyam-cli/templates/rules-instructions.md +45 -90
- package/package.json +15 -13
- package/packages/ai/index.js +1 -1
- package/packages/ai/index.js.map +1 -1
- package/packages/ai/src/lib/analyzeScope.js +14 -0
- package/packages/ai/src/lib/analyzeScope.js.map +1 -1
- package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +22 -4
- package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
- package/packages/ai/src/lib/astScopes/processExpression.js +78 -1
- package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
- package/packages/ai/src/lib/astScopes/sharedPatterns.js +25 -0
- package/packages/ai/src/lib/astScopes/sharedPatterns.js.map +1 -1
- package/packages/ai/src/lib/completionCall.js +10 -7
- package/packages/ai/src/lib/completionCall.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +362 -10
- package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/coercePrimitivesToArraysBySchema.js +54 -0
- package/packages/ai/src/lib/dataStructure/helpers/coercePrimitivesToArraysBySchema.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js +59 -17
- package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.js +34 -0
- package/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.js.map +1 -0
- package/packages/ai/src/lib/dataStructureChunking.js +30 -11
- package/packages/ai/src/lib/dataStructureChunking.js.map +1 -1
- package/packages/ai/src/lib/generateEntityScenarioData.js +79 -5
- package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
- package/packages/ai/src/lib/generateExecutionFlows.js +97 -2
- package/packages/ai/src/lib/generateExecutionFlows.js.map +1 -1
- package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js +242 -81
- package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js.map +1 -1
- package/packages/ai/src/lib/mergeJsonTypeDefinitions.js +5 -0
- package/packages/ai/src/lib/mergeJsonTypeDefinitions.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/collapseNullableObjects.js +97 -0
- package/packages/ai/src/lib/promptGenerators/collapseNullableObjects.js.map +1 -0
- package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js +17 -2
- package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js.map +1 -1
- package/packages/analyze/src/lib/ProjectAnalyzer.js +3 -0
- package/packages/analyze/src/lib/ProjectAnalyzer.js.map +1 -1
- package/packages/analyze/src/lib/asts/nodes/getNodeType.js +1 -0
- package/packages/analyze/src/lib/asts/nodes/getNodeType.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +11 -1
- package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +8 -1
- package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/dependencyResolver.js +0 -5
- package/packages/analyze/src/lib/files/analyze/dependencyResolver.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js +9 -0
- package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js +54 -27
- package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js +42 -13
- package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +65 -0
- package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +141 -71
- package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
- package/packages/database/index.js +1 -0
- package/packages/database/index.js.map +1 -1
- package/packages/database/src/lib/analysisBranchToDb.js +1 -1
- package/packages/database/src/lib/analysisBranchToDb.js.map +1 -1
- package/packages/database/src/lib/analysisToDb.js +1 -1
- package/packages/database/src/lib/analysisToDb.js.map +1 -1
- package/packages/database/src/lib/branchToDb.js +1 -1
- package/packages/database/src/lib/branchToDb.js.map +1 -1
- package/packages/database/src/lib/commitBranchToDb.js +1 -1
- package/packages/database/src/lib/commitBranchToDb.js.map +1 -1
- package/packages/database/src/lib/commitToDb.js +1 -1
- package/packages/database/src/lib/commitToDb.js.map +1 -1
- package/packages/database/src/lib/fileToDb.js +1 -1
- package/packages/database/src/lib/fileToDb.js.map +1 -1
- package/packages/database/src/lib/kysely/db.js +5 -0
- package/packages/database/src/lib/kysely/db.js.map +1 -1
- package/packages/database/src/lib/kysely/tables/editorScenariosTable.js +45 -0
- package/packages/database/src/lib/kysely/tables/editorScenariosTable.js.map +1 -0
- package/packages/database/src/lib/loadCommits.js +23 -13
- package/packages/database/src/lib/loadCommits.js.map +1 -1
- package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js +1 -4
- package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
- package/packages/database/src/lib/projectToDb.js +1 -1
- package/packages/database/src/lib/projectToDb.js.map +1 -1
- package/packages/database/src/lib/saveFiles.js +1 -1
- package/packages/database/src/lib/saveFiles.js.map +1 -1
- package/packages/database/src/lib/scenarioToDb.js +1 -1
- package/packages/database/src/lib/scenarioToDb.js.map +1 -1
- package/packages/database/src/lib/updateCommitMetadata.js +100 -89
- package/packages/database/src/lib/updateCommitMetadata.js.map +1 -1
- package/packages/database/src/lib/updateFreshAnalysisStatus.js +41 -30
- package/packages/database/src/lib/updateFreshAnalysisStatus.js.map +1 -1
- package/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.js +68 -57
- package/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +1 -1
- package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +29 -1
- package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -1
- package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +33 -5
- package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
- package/packages/utils/src/lib/fs/rsyncCopy.js +98 -3
- package/packages/utils/src/lib/fs/rsyncCopy.js.map +1 -1
- package/scripts/finalize-analyzer.cjs +8 -76
- package/codeyam-cli/src/commands/detect-universal-mocks.js +0 -118
- package/codeyam-cli/src/commands/detect-universal-mocks.js.map +0 -1
- package/codeyam-cli/src/commands/list.js +0 -31
- package/codeyam-cli/src/commands/list.js.map +0 -1
- package/codeyam-cli/src/commands/webapp-info.js +0 -146
- package/codeyam-cli/src/commands/webapp-info.js.map +0 -1
- package/codeyam-cli/src/utils/universal-mocks.js +0 -152
- package/codeyam-cli/src/utils/universal-mocks.js.map +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-ClaLpuOo.js +0 -34
- package/codeyam-cli/src/webserver/build/client/assets/agent-transcripts-DfKzxuoe.js +0 -11
- package/codeyam-cli/src/webserver/build/client/assets/dev.empty-C5lqplTC.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-CBoafmVs.js +0 -6
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-DGgZjdFg.js +0 -6
- package/codeyam-cli/src/webserver/build/client/assets/globals-DoeDFXZN.css +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/labs-CmBYA0PH.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/manifest-76786b8e.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/memory-CrNQfdMO.js +0 -76
- package/codeyam-cli/src/webserver/build/client/assets/root-QAY34PIo.js +0 -62
- package/codeyam-cli/src/webserver/build/client/assets/settings-eBI36Yv5.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-COky1GVF.js +0 -2
- package/codeyam-cli/src/webserver/build/server/assets/index-DV1ykEI6.js +0 -1
- package/codeyam-cli/src/webserver/build/server/assets/server-build-BrcVrUEv.js +0 -260
- package/codeyam-cli/templates/codeyam-stop-hook.sh +0 -284
- package/codeyam-cli/templates/codeyam:diagnose.md +0 -805
- /package/codeyam-cli/src/webserver/build/client/assets/{api.labs-survey-l0sNRNKZ.js → api.dev-mode-events-l0sNRNKZ.js} +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
|
-
"buildTimestamp": "2026-02-
|
|
3
|
-
"buildTime":
|
|
4
|
-
"gitCommit": "
|
|
2
|
+
"buildTimestamp": "2026-02-27T22:15:49.175Z",
|
|
3
|
+
"buildTime": 1772230549175,
|
|
4
|
+
"gitCommit": "07d8f7b62389e663048729909a2551136c3868cf",
|
|
5
5
|
"nodeVersion": "v20.20.0",
|
|
6
|
-
"contentHash": "
|
|
7
|
-
"buildNumber":
|
|
8
|
-
"semanticVersion": "0.1.
|
|
9
|
-
"version": "0.1.
|
|
6
|
+
"contentHash": "56095f026fcf9575b86866f4fe3d3d61b9466cf70e4d3f16001752fd1febd7c2",
|
|
7
|
+
"buildNumber": 779,
|
|
8
|
+
"semanticVersion": "0.1.779",
|
|
9
|
+
"version": "0.1.779 (2026-02-27T22:15+56095f0)"
|
|
10
10
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
|
|
2
|
-
[2/
|
|
3
|
-
[2/
|
|
2
|
+
[2/27/2026, 10:15:49 PM] > codeyam-combo@1.0.0 mergeDependencies
|
|
3
|
+
[2/27/2026, 10:15:49 PM] > node ./scripts/mergePackageJsonFiles.cjs
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
[2/
|
|
6
|
+
[2/27/2026, 10:15:49 PM] Merged dependencies into root package.json
|
|
7
7
|
|
|
@@ -7,17 +7,17 @@
|
|
|
7
7
|
"build": "tsc && node ./scripts/postbuild.cjs"
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@aws-sdk/client-cloudwatch-logs": "^3.
|
|
11
|
-
"@aws-sdk/client-cloudfront": "^3.
|
|
12
|
-
"@aws-sdk/client-codebuild": "^3.
|
|
13
|
-
"@aws-sdk/client-dynamodb": "^3.
|
|
14
|
-
"@aws-sdk/client-ec2": "^3.
|
|
15
|
-
"@aws-sdk/client-ecr": "^3.
|
|
16
|
-
"@aws-sdk/client-ecs": "^3.
|
|
17
|
-
"@aws-sdk/client-s3": "^3.
|
|
18
|
-
"@aws-sdk/client-sqs": "^3.
|
|
19
|
-
"@aws-sdk/lib-storage": "^3.
|
|
20
|
-
"@aws-sdk/util-dynamodb": "^3.
|
|
10
|
+
"@aws-sdk/client-cloudwatch-logs": "^3.990.0",
|
|
11
|
+
"@aws-sdk/client-cloudfront": "^3.990.0",
|
|
12
|
+
"@aws-sdk/client-codebuild": "^3.995.0",
|
|
13
|
+
"@aws-sdk/client-dynamodb": "^3.990.0",
|
|
14
|
+
"@aws-sdk/client-ec2": "^3.990.0",
|
|
15
|
+
"@aws-sdk/client-ecr": "^3.990.0",
|
|
16
|
+
"@aws-sdk/client-ecs": "^3.990.0",
|
|
17
|
+
"@aws-sdk/client-s3": "^3.990.0",
|
|
18
|
+
"@aws-sdk/client-sqs": "^3.990.0",
|
|
19
|
+
"@aws-sdk/lib-storage": "^3.990.0",
|
|
20
|
+
"@aws-sdk/util-dynamodb": "^3.990.0",
|
|
21
21
|
"@octokit/auth-app": "^8.1.0",
|
|
22
22
|
"@octokit/rest": "^22.0.0",
|
|
23
23
|
"@sendgrid/mail": "^8.1.4",
|
|
@@ -26,13 +26,13 @@
|
|
|
26
26
|
"dotenv": "^17.2.3",
|
|
27
27
|
"express": "^5.2.1",
|
|
28
28
|
"get-port": "^7.1.0",
|
|
29
|
-
"htmlparser2": "^10.
|
|
29
|
+
"htmlparser2": "^10.1.0",
|
|
30
30
|
"jest": "^30.2.0",
|
|
31
31
|
"jsdom": "^27.4.0",
|
|
32
32
|
"jsonc-parser": "^3.2.1",
|
|
33
33
|
"lru-cache": "^11.2.5",
|
|
34
34
|
"openai": "^6.16.0",
|
|
35
|
-
"p-queue": "^
|
|
35
|
+
"p-queue": "^9.1.0",
|
|
36
36
|
"p-retry": "^7.1.1",
|
|
37
37
|
"piscina": "^5.1.4",
|
|
38
38
|
"pixelmatch": "^5.3.0",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"yargs": "^18.0.0",
|
|
46
46
|
"json5": "^2.2.3",
|
|
47
47
|
"@anthropic-ai/sdk": "^0.74.0",
|
|
48
|
-
"@aws-sdk/s3-request-presigner": "^3.
|
|
48
|
+
"@aws-sdk/s3-request-presigner": "^3.990.0",
|
|
49
49
|
"better-sqlite3": "^12.4.1",
|
|
50
50
|
"fetch-retry": "^6.0.0",
|
|
51
51
|
"kysely": "^0.28.11",
|
|
@@ -43,6 +43,7 @@ export { default as isolateScopes } from './src/lib/isolateScopes';
|
|
|
43
43
|
export {
|
|
44
44
|
default as analyzeScope,
|
|
45
45
|
destroyWorkerPool,
|
|
46
|
+
skipWorkerPool,
|
|
46
47
|
} from './src/lib/analyzeScope';
|
|
47
48
|
export { default as logOrderedMap } from './src/lib/logOrderedMap';
|
|
48
49
|
export {
|
|
@@ -50,6 +50,19 @@ let workerPool: Piscina<
|
|
|
50
50
|
AnalyzeScopeWorkerOutput
|
|
51
51
|
> | null = null;
|
|
52
52
|
let workerPoolDestroyed = false;
|
|
53
|
+
let workerPoolSkipped = false;
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Skip worker pool initialization for the current session.
|
|
57
|
+
*
|
|
58
|
+
* The worker thread creates its own ProjectAnalyzer (ts.Program), which takes
|
|
59
|
+
* 50-70s — far longer than the actual entity processing (<2s for typical batches).
|
|
60
|
+
* When the entity count is small, running analyzeScopeLocal on the main thread
|
|
61
|
+
* reuses the existing ProjectAnalyzer and avoids this overhead entirely.
|
|
62
|
+
*/
|
|
63
|
+
export function skipWorkerPool() {
|
|
64
|
+
workerPoolSkipped = true;
|
|
65
|
+
}
|
|
53
66
|
|
|
54
67
|
/**
|
|
55
68
|
* Check if we're in Node.js main thread
|
|
@@ -108,6 +121,7 @@ function ensureWorkerPool() {
|
|
|
108
121
|
'analyzeScope should not be called after data structure preparation completes.',
|
|
109
122
|
);
|
|
110
123
|
}
|
|
124
|
+
if (workerPoolSkipped) return;
|
|
111
125
|
if (workerPool !== null) return;
|
|
112
126
|
|
|
113
127
|
// Only initialize worker pool in Node.js environment
|
|
@@ -909,11 +909,42 @@ export class ASTScopeAnalyzer {
|
|
|
909
909
|
if (tsType.flags & ts.TypeFlags.Union) {
|
|
910
910
|
const unionType = tsType as ts.UnionType;
|
|
911
911
|
|
|
912
|
-
// Check if it's a string literal union
|
|
913
|
-
|
|
912
|
+
// Check if it's a string literal union (optionally with null/undefined).
|
|
913
|
+
// Preserve literal values so the LLM knows which values are valid when
|
|
914
|
+
// generating mock data. Without this, types like
|
|
915
|
+
// 'suggestion' | 'warning' | 'achievement' | 'tip' become just 'string'
|
|
916
|
+
// and the LLM generates invalid values (e.g. "Motivational").
|
|
917
|
+
const stringLiterals = unionType.types.filter(
|
|
914
918
|
(t) => (t.flags & ts.TypeFlags.StringLiteral) !== 0,
|
|
915
919
|
);
|
|
916
|
-
|
|
920
|
+
const nullishTypes = unionType.types.filter(
|
|
921
|
+
(t) =>
|
|
922
|
+
(t.flags & ts.TypeFlags.Undefined) !== 0 ||
|
|
923
|
+
(t.flags & ts.TypeFlags.Null) !== 0,
|
|
924
|
+
);
|
|
925
|
+
|
|
926
|
+
if (
|
|
927
|
+
stringLiterals.length > 0 &&
|
|
928
|
+
stringLiterals.length + nullishTypes.length === unionType.types.length
|
|
929
|
+
) {
|
|
930
|
+
const literalValues = stringLiterals.map(
|
|
931
|
+
(t) => `'${(t as ts.LiteralType).value}'`,
|
|
932
|
+
);
|
|
933
|
+
const literalUnion = literalValues.join(' | ');
|
|
934
|
+
|
|
935
|
+
if (nullishTypes.length > 0) {
|
|
936
|
+
const nullishParts: string[] = [];
|
|
937
|
+
if (nullishTypes.some((t) => (t.flags & ts.TypeFlags.Null) !== 0))
|
|
938
|
+
nullishParts.push('null');
|
|
939
|
+
if (
|
|
940
|
+
nullishTypes.some((t) => (t.flags & ts.TypeFlags.Undefined) !== 0)
|
|
941
|
+
)
|
|
942
|
+
nullishParts.push('undefined');
|
|
943
|
+
return `${literalUnion} | ${nullishParts.join(' | ')}`;
|
|
944
|
+
}
|
|
945
|
+
|
|
946
|
+
return literalUnion;
|
|
947
|
+
}
|
|
917
948
|
|
|
918
949
|
// Check if it's a number literal union
|
|
919
950
|
const isAllNumberLiterals = unionType.types.every(
|
|
@@ -9,6 +9,7 @@ import { StructuredPath } from './paths';
|
|
|
9
9
|
import { nodeToSource } from './nodeToSource';
|
|
10
10
|
import { methodRegistry, ArrayPushSemantics } from './methodSemantics';
|
|
11
11
|
import {
|
|
12
|
+
getComparisonOperatorString,
|
|
12
13
|
isArithmeticOperator,
|
|
13
14
|
isAssignmentOperator,
|
|
14
15
|
isBitwiseCompoundOperator,
|
|
@@ -25,6 +26,74 @@ import {
|
|
|
25
26
|
} from './conditionalEffectsExtractor';
|
|
26
27
|
import { detectArrayDerivedPattern } from './arrayDerivationDetector';
|
|
27
28
|
|
|
29
|
+
/**
|
|
30
|
+
* Recursively extracts root variable names from an expression AST node.
|
|
31
|
+
* Used to identify which variables flow into JSX expression children,
|
|
32
|
+
* so we can link them to the return value schema.
|
|
33
|
+
*
|
|
34
|
+
* Examples:
|
|
35
|
+
* - `filteredTopPaths.map(...)` → ['filteredTopPaths']
|
|
36
|
+
* - `a && b` → ['a', 'b']
|
|
37
|
+
* - `condition ? x : y` → ['condition', 'x', 'y']
|
|
38
|
+
*/
|
|
39
|
+
function extractRootVariableNames(node: ts.Expression): string[] {
|
|
40
|
+
const ignoredIdentifiers = new Set([
|
|
41
|
+
'undefined',
|
|
42
|
+
'null',
|
|
43
|
+
'true',
|
|
44
|
+
'false',
|
|
45
|
+
'NaN',
|
|
46
|
+
'Infinity',
|
|
47
|
+
]);
|
|
48
|
+
|
|
49
|
+
if (ts.isIdentifier(node)) {
|
|
50
|
+
const name = node.text;
|
|
51
|
+
return ignoredIdentifiers.has(name) ? [] : [name];
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
if (ts.isPropertyAccessExpression(node)) {
|
|
55
|
+
return extractRootVariableNames(node.expression);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if (ts.isCallExpression(node)) {
|
|
59
|
+
return extractRootVariableNames(node.expression);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
if (ts.isBinaryExpression(node)) {
|
|
63
|
+
return [
|
|
64
|
+
...extractRootVariableNames(node.left),
|
|
65
|
+
...extractRootVariableNames(node.right),
|
|
66
|
+
];
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
if (ts.isPrefixUnaryExpression(node)) {
|
|
70
|
+
return extractRootVariableNames(node.operand);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
if (ts.isConditionalExpression(node)) {
|
|
74
|
+
return [
|
|
75
|
+
...extractRootVariableNames(node.condition),
|
|
76
|
+
...extractRootVariableNames(node.whenTrue),
|
|
77
|
+
...extractRootVariableNames(node.whenFalse),
|
|
78
|
+
];
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
if (ts.isParenthesizedExpression(node)) {
|
|
82
|
+
return extractRootVariableNames(node.expression);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// Stop recursion at JSX elements and other terminal nodes
|
|
86
|
+
if (
|
|
87
|
+
ts.isJsxElement(node) ||
|
|
88
|
+
ts.isJsxFragment(node) ||
|
|
89
|
+
ts.isJsxSelfClosingElement(node)
|
|
90
|
+
) {
|
|
91
|
+
return [];
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
return [];
|
|
95
|
+
}
|
|
96
|
+
|
|
28
97
|
/**
|
|
29
98
|
* Checks if a JSX element has props that reference variables from the parent scope.
|
|
30
99
|
* This is used to detect unconditionally-rendered children that should have their
|
|
@@ -1294,6 +1363,11 @@ export function extractConditionalUsage(
|
|
|
1294
1363
|
return literalValue;
|
|
1295
1364
|
};
|
|
1296
1365
|
|
|
1366
|
+
// Get the comparison operator string for the compound condition
|
|
1367
|
+
const comparisonOperator = getComparisonOperatorString(
|
|
1368
|
+
unwrapped.operatorToken.kind,
|
|
1369
|
+
);
|
|
1370
|
+
|
|
1297
1371
|
// Helper to add a condition
|
|
1298
1372
|
const addCondition = (
|
|
1299
1373
|
path: string,
|
|
@@ -1338,6 +1412,7 @@ export function extractConditionalUsage(
|
|
|
1338
1412
|
comparedValues,
|
|
1339
1413
|
isNegated,
|
|
1340
1414
|
requiredValue,
|
|
1415
|
+
...(comparisonOperator && { comparisonOperator }),
|
|
1341
1416
|
...(chainInfo.currentOrGroupId && {
|
|
1342
1417
|
orGroupId: chainInfo.currentOrGroupId,
|
|
1343
1418
|
}),
|
|
@@ -3334,6 +3409,19 @@ export function processExpression({
|
|
|
3334
3409
|
for (const child of unwrappedNode.children) {
|
|
3335
3410
|
// Process expressions in JSX children: <div>{expr}</div>
|
|
3336
3411
|
if (ts.isJsxExpression(child) && child.expression) {
|
|
3412
|
+
// When processing return value JSX, link root variables to return value schema
|
|
3413
|
+
if (targetPath && targetPath.base !== '') {
|
|
3414
|
+
const varNames = [
|
|
3415
|
+
...new Set(extractRootVariableNames(child.expression)),
|
|
3416
|
+
];
|
|
3417
|
+
for (const varName of varNames) {
|
|
3418
|
+
context.addEquivalence(
|
|
3419
|
+
targetPath.withProperty(varName),
|
|
3420
|
+
StructuredPath.fromBase(varName),
|
|
3421
|
+
);
|
|
3422
|
+
}
|
|
3423
|
+
}
|
|
3424
|
+
|
|
3337
3425
|
// Process the expression with StructuredPath.empty() as targetPath
|
|
3338
3426
|
// to trigger type registration without imposing prefix
|
|
3339
3427
|
processExpression({
|
|
@@ -3368,6 +3456,19 @@ export function processExpression({
|
|
|
3368
3456
|
for (const child of unwrappedNode.children) {
|
|
3369
3457
|
// Process expressions in JSX children: <>{expr}</>
|
|
3370
3458
|
if (ts.isJsxExpression(child) && child.expression) {
|
|
3459
|
+
// When processing return value JSX, link root variables to return value schema
|
|
3460
|
+
if (targetPath && targetPath.base !== '') {
|
|
3461
|
+
const varNames = [
|
|
3462
|
+
...new Set(extractRootVariableNames(child.expression)),
|
|
3463
|
+
];
|
|
3464
|
+
for (const varName of varNames) {
|
|
3465
|
+
context.addEquivalence(
|
|
3466
|
+
targetPath.withProperty(varName),
|
|
3467
|
+
StructuredPath.fromBase(varName),
|
|
3468
|
+
);
|
|
3469
|
+
}
|
|
3470
|
+
}
|
|
3471
|
+
|
|
3371
3472
|
// Process the expression to extract structure
|
|
3372
3473
|
processExpression({
|
|
3373
3474
|
node: child.expression,
|
|
@@ -71,6 +71,34 @@ export function isComparisonOperator(kind: ts.SyntaxKind): boolean {
|
|
|
71
71
|
);
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
+
/**
|
|
75
|
+
* Returns the string representation of a comparison operator token.
|
|
76
|
+
*/
|
|
77
|
+
export function getComparisonOperatorString(
|
|
78
|
+
kind: ts.SyntaxKind,
|
|
79
|
+
): string | undefined {
|
|
80
|
+
switch (kind) {
|
|
81
|
+
case ts.SyntaxKind.EqualsEqualsToken:
|
|
82
|
+
return '==';
|
|
83
|
+
case ts.SyntaxKind.EqualsEqualsEqualsToken:
|
|
84
|
+
return '===';
|
|
85
|
+
case ts.SyntaxKind.ExclamationEqualsToken:
|
|
86
|
+
return '!=';
|
|
87
|
+
case ts.SyntaxKind.ExclamationEqualsEqualsToken:
|
|
88
|
+
return '!==';
|
|
89
|
+
case ts.SyntaxKind.LessThanToken:
|
|
90
|
+
return '<';
|
|
91
|
+
case ts.SyntaxKind.LessThanEqualsToken:
|
|
92
|
+
return '<=';
|
|
93
|
+
case ts.SyntaxKind.GreaterThanToken:
|
|
94
|
+
return '>';
|
|
95
|
+
case ts.SyntaxKind.GreaterThanEqualsToken:
|
|
96
|
+
return '>=';
|
|
97
|
+
default:
|
|
98
|
+
return undefined;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
74
102
|
/**
|
|
75
103
|
* Checks if an operator is an arithmetic operator
|
|
76
104
|
*/
|
|
@@ -433,6 +433,12 @@ export interface CompoundConditional {
|
|
|
433
433
|
isNegated: boolean;
|
|
434
434
|
/** Required value for this condition to be true */
|
|
435
435
|
requiredValue?: string | boolean;
|
|
436
|
+
/**
|
|
437
|
+
* The comparison operator used (e.g., '>', '<', '>=', '<=', '===', '!==').
|
|
438
|
+
* Preserves the original operator so flow generation can distinguish
|
|
439
|
+
* `length > 0` from `length === 0`.
|
|
440
|
+
*/
|
|
441
|
+
comparisonOperator?: string;
|
|
436
442
|
/**
|
|
437
443
|
* When conditions are part of an OR expression within an && chain,
|
|
438
444
|
* they share the same orGroupId. Conditions with the same orGroupId
|
|
@@ -36,7 +36,6 @@ interface CompletionCallProps {
|
|
|
36
36
|
const queue = new PQueue({
|
|
37
37
|
concurrency: 100,
|
|
38
38
|
timeout: 20 * 60 * 1000, // 20 minutes
|
|
39
|
-
throwOnTimeout: true,
|
|
40
39
|
autoStart: true,
|
|
41
40
|
});
|
|
42
41
|
|
|
@@ -135,62 +134,63 @@ export default async function completionCall({
|
|
|
135
134
|
};
|
|
136
135
|
const params = lib.openai.chatRequestToOpenAIChatParams(chatRequest);
|
|
137
136
|
|
|
138
|
-
const
|
|
139
|
-
()
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
const
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
}, 10000);
|
|
137
|
+
const chatCompletionResult = await queue.add(() => {
|
|
138
|
+
queueEndTime = Date.now();
|
|
139
|
+
return PRetry(
|
|
140
|
+
async () => {
|
|
141
|
+
const callStartTime = Date.now();
|
|
142
|
+
const waitingMessages = [
|
|
143
|
+
'Waiting for LLM response',
|
|
144
|
+
'Still waiting for LLM response',
|
|
145
|
+
'LLM call in progress',
|
|
146
|
+
'Processing LLM request',
|
|
147
|
+
'Awaiting LLM completion',
|
|
148
|
+
];
|
|
149
|
+
|
|
150
|
+
const logInterval = setInterval(() => {
|
|
151
|
+
const elapsedSeconds = Math.floor(
|
|
152
|
+
(Date.now() - callStartTime) / 1000,
|
|
153
|
+
);
|
|
154
|
+
const messageIndex =
|
|
155
|
+
Math.floor(elapsedSeconds / 10) % waitingMessages.length;
|
|
156
|
+
awsLogDebugLevel(
|
|
157
|
+
1,
|
|
158
|
+
`${waitingMessages[messageIndex]} [type=${type}, model=${model}, elapsed=${elapsedSeconds}s]`,
|
|
159
|
+
);
|
|
160
|
+
}, 10000);
|
|
163
161
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
},
|
|
162
|
+
try {
|
|
163
|
+
return await openai.chat.completions.create(params, {
|
|
164
|
+
timeout: 5 * 60 * 1000, // 5 minute timeout
|
|
165
|
+
});
|
|
166
|
+
} finally {
|
|
167
|
+
clearInterval(logInterval);
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
...defaultRetryOptions,
|
|
172
|
+
onFailedAttempt: (error) => {
|
|
173
|
+
retryCount++;
|
|
174
|
+
console.log(
|
|
175
|
+
`CodeYam Error: Completion call failed [model=${model}]`,
|
|
176
|
+
{
|
|
177
|
+
error,
|
|
178
|
+
prompt,
|
|
179
|
+
systemMessage,
|
|
180
|
+
attempts,
|
|
181
|
+
retryCount,
|
|
182
|
+
},
|
|
183
|
+
);
|
|
187
184
|
},
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
185
|
+
},
|
|
186
|
+
);
|
|
187
|
+
});
|
|
188
|
+
|
|
189
|
+
if (!chatCompletionResult) {
|
|
190
|
+
throw new Error('Completion call returned no result');
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
const chatCompletion = chatCompletionResult;
|
|
194
194
|
const endTime = Date.now();
|
|
195
195
|
|
|
196
196
|
const llmCallStats = getLLMCallStats({
|
|
@@ -310,65 +310,66 @@ ${completion}
|
|
|
310
310
|
|
|
311
311
|
Please provide a corrected version with valid JSON only. Do not include any explanatory text, just the valid JSON object.`;
|
|
312
312
|
|
|
313
|
-
const
|
|
314
|
-
(
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
const
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
313
|
+
const correctionChatCompletionResult = await queue.add(() => {
|
|
314
|
+
return PRetry(
|
|
315
|
+
async () => {
|
|
316
|
+
const correctionStartTime = Date.now();
|
|
317
|
+
const waitingMessages = [
|
|
318
|
+
'Waiting for LLM correction response',
|
|
319
|
+
'Still waiting for LLM correction',
|
|
320
|
+
'LLM correction in progress',
|
|
321
|
+
'Processing LLM correction request',
|
|
322
|
+
'Awaiting LLM correction completion',
|
|
323
|
+
];
|
|
324
|
+
|
|
325
|
+
const logInterval = setInterval(() => {
|
|
326
|
+
const elapsedSeconds = Math.floor(
|
|
327
|
+
(Date.now() - correctionStartTime) / 1000,
|
|
328
|
+
);
|
|
329
|
+
const messageIndex =
|
|
330
|
+
Math.floor(elapsedSeconds / 10) % waitingMessages.length;
|
|
331
|
+
awsLogDebugLevel(
|
|
332
|
+
1,
|
|
333
|
+
`${waitingMessages[messageIndex]} [type=${type}, model=${model}, elapsed=${elapsedSeconds}s]`,
|
|
334
|
+
);
|
|
335
|
+
}, 10000);
|
|
336
|
+
|
|
337
|
+
try {
|
|
338
|
+
return await openai.chat.completions.create(
|
|
339
|
+
{
|
|
340
|
+
...params,
|
|
341
|
+
messages: [
|
|
342
|
+
{ role: 'system', content: systemMessage },
|
|
343
|
+
{ role: 'user', content: prompt },
|
|
344
|
+
{ role: 'assistant', content: completion },
|
|
345
|
+
{ role: 'user', content: correctionPrompt },
|
|
346
|
+
],
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
timeout: 5 * 60 * 1000,
|
|
350
|
+
},
|
|
351
|
+
);
|
|
352
|
+
} finally {
|
|
353
|
+
clearInterval(logInterval);
|
|
354
|
+
}
|
|
355
|
+
},
|
|
356
|
+
{
|
|
357
|
+
...defaultRetryOptions,
|
|
358
|
+
onFailedAttempt: (error) => {
|
|
359
|
+
console.log('CodeYam Error: Correction call failed', {
|
|
360
|
+
error,
|
|
361
|
+
attempts,
|
|
362
|
+
});
|
|
356
363
|
},
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
);
|
|
367
|
-
},
|
|
368
|
-
{
|
|
369
|
-
throwOnTimeout: true,
|
|
370
|
-
},
|
|
371
|
-
);
|
|
364
|
+
},
|
|
365
|
+
);
|
|
366
|
+
});
|
|
367
|
+
|
|
368
|
+
if (!correctionChatCompletionResult) {
|
|
369
|
+
throw new Error('Correction call returned no result');
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
const correctionChatCompletion = correctionChatCompletionResult;
|
|
372
373
|
|
|
373
374
|
const correctedRawCompletion =
|
|
374
375
|
correctionChatCompletion.choices?.[0]?.message?.content;
|