@codeyam/codeyam-cli 0.1.16 → 0.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/analyzer-template/.build-info.json +6 -6
  2. package/analyzer-template/log.txt +3 -3
  3. package/codeyam-cli/src/commands/editor.js +187 -7
  4. package/codeyam-cli/src/commands/editor.js.map +1 -1
  5. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js +310 -9
  6. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js.map +1 -1
  7. package/codeyam-cli/src/utils/__tests__/editorCaptureScenarioSeeding.test.js +137 -0
  8. package/codeyam-cli/src/utils/__tests__/editorCaptureScenarioSeeding.test.js.map +1 -0
  9. package/codeyam-cli/src/utils/__tests__/editorEntityHelpers.test.js +66 -0
  10. package/codeyam-cli/src/utils/__tests__/editorEntityHelpers.test.js.map +1 -1
  11. package/codeyam-cli/src/utils/__tests__/editorScenarioSwitch.test.js +70 -0
  12. package/codeyam-cli/src/utils/__tests__/editorScenarioSwitch.test.js.map +1 -1
  13. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js +51 -1
  14. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js.map +1 -1
  15. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js +233 -1
  16. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js.map +1 -1
  17. package/codeyam-cli/src/utils/__tests__/glossaryAdd.test.js +177 -0
  18. package/codeyam-cli/src/utils/__tests__/glossaryAdd.test.js.map +1 -0
  19. package/codeyam-cli/src/utils/editorAudit.js +71 -25
  20. package/codeyam-cli/src/utils/editorAudit.js.map +1 -1
  21. package/codeyam-cli/src/utils/editorRecapture.js +109 -0
  22. package/codeyam-cli/src/utils/editorRecapture.js.map +1 -0
  23. package/codeyam-cli/src/utils/editorScenarioSwitch.js +24 -2
  24. package/codeyam-cli/src/utils/editorScenarioSwitch.js.map +1 -1
  25. package/codeyam-cli/src/utils/editorScenarios.js +28 -1
  26. package/codeyam-cli/src/utils/editorScenarios.js.map +1 -1
  27. package/codeyam-cli/src/utils/entityChangeStatus.js +31 -3
  28. package/codeyam-cli/src/utils/entityChangeStatus.js.map +1 -1
  29. package/codeyam-cli/src/utils/glossaryAdd.js +74 -0
  30. package/codeyam-cli/src/utils/glossaryAdd.js.map +1 -0
  31. package/codeyam-cli/src/utils/scenariosManifest.js +22 -0
  32. package/codeyam-cli/src/utils/scenariosManifest.js.map +1 -1
  33. package/codeyam-cli/src/webserver/build/client/assets/api.editor-recapture-stale-l0sNRNKZ.js +1 -0
  34. package/codeyam-cli/src/webserver/build/client/assets/{editor.entity.(_sha)-DN5ouXAl.js → editor.entity.(_sha)-Bnx7yUP0.js} +1 -1
  35. package/codeyam-cli/src/webserver/build/client/assets/manifest-b9d4d267.js +1 -0
  36. package/codeyam-cli/src/webserver/build/server/assets/{analysisRunner-D_1MSYeW.js → analysisRunner-CGwTN3V2.js} +1 -1
  37. package/codeyam-cli/src/webserver/build/server/assets/{index-ckWaCf_v.js → index-D4meMKy3.js} +1 -1
  38. package/codeyam-cli/src/webserver/build/server/assets/{init-ld124R4Z.js → init-odGJ_c2-.js} +1 -1
  39. package/codeyam-cli/src/webserver/build/server/assets/{server-build-DzzNZGv_.js → server-build-TmPfF7pT.js} +125 -124
  40. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  41. package/codeyam-cli/src/webserver/build-info.json +5 -5
  42. package/package.json +1 -1
  43. package/codeyam-cli/src/webserver/build/client/assets/manifest-389033be.js +0 -1
@@ -0,0 +1 @@
1
+ window.__reactRouterManifest={"entry":{"module":"/assets/entry.client-SuW9syRS.js","imports":["/assets/jsx-runtime-D_zvdyIk.js","/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/index-CWV9XZiG.js"],"css":[]},"routes":{"root":{"id":"root","path":"","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":true,"module":"/assets/root-DB3O9_9j.js","imports":["/assets/jsx-runtime-D_zvdyIk.js","/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/index-CWV9XZiG.js","/assets/preload-helper-ckwbz45p.js","/assets/cy-logo-cli-DcX-ZS3p.js","/assets/ReportIssueModal-C2PLkej3.js","/assets/useReportContext-Cy5Qg_UR.js","/assets/loader-circle-De-7qQ2u.js","/assets/createLucideIcon-4ImjHTVC.js","/assets/book-open-CL-lMgHh.js","/assets/useToast-5HR2j9ZE.js","/assets/useLastLogLine-BNd5hYuW.js","/assets/LogViewer-CM5zg40N.js","/assets/EntityTypeIcon-CD7lGABo.js","/assets/TruncatedFilePath-CK7-NaPZ.js","/assets/chevron-down-GmAjGS9-.js","/assets/circle-check-DFcQkN5j.js","/assets/CopyButton-CLe80MMu.js","/assets/triangle-alert-DqJ0j69l.js","/assets/copy-C6iF61Xs.js"],"css":[]},"routes/entity.$sha.scenarios.$scenarioId.fullscreen":{"id":"routes/entity.$sha.scenarios.$scenarioId.fullscreen","parentId":"root","path":"entity/:sha/scenarios/:scenarioId/fullscreen","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/entity._sha.scenarios._scenarioId.fullscreen-C6eeL24i.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/Spinner-D0LgAaSa.js","/assets/useLastLogLine-BNd5hYuW.js","/assets/ViewportInspectBar-BA_Ry-rs.js","/assets/useCustomSizes-DhXHbEjP.js","/assets/cy-logo-cli-DcX-ZS3p.js","/assets/InlineSpinner-CgTNOhnu.js"],"css":[]},"routes/entity.$sha.scenarios.$scenarioId.dev":{"id":"routes/entity.$sha.scenarios.$scenarioId.dev","parentId":"root","path":"entity/:sha/scenarios/:scenarioId/dev","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/entity._sha.scenarios._scenarioId.dev-KTQuL0aj.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/Spinner-D0LgAaSa.js","/assets/useLastLogLine-BNd5hYuW.js","/assets/ViewportInspectBar-BA_Ry-rs.js","/assets/useCustomSizes-DhXHbEjP.js","/assets/cy-logo-cli-DcX-ZS3p.js","/assets/InlineSpinner-CgTNOhnu.js","/assets/editorPreview-oepecPae.js","/assets/SafeScreenshot-DanvyBPb.js","/assets/preload-helper-ckwbz45p.js"],"css":[]},"routes/api.editor-journal-screenshot":{"id":"routes/api.editor-journal-screenshot","parentId":"root","path":"api/editor-journal-screenshot","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-journal-screenshot-l0sNRNKZ.js","imports":[],"css":[]},"routes/entity.$sha_.edit.$scenarioId":{"id":"routes/entity.$sha_.edit.$scenarioId","parentId":"root","path":"entity/:sha/edit/:scenarioId","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/entity._sha_.edit._scenarioId-CAoXLsQr.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/InteractivePreview-CKeQT5Ty.js","/assets/Spinner-D0LgAaSa.js","/assets/preload-helper-ckwbz45p.js","/assets/useLastLogLine-BNd5hYuW.js","/assets/InlineSpinner-CgTNOhnu.js"],"css":[]},"routes/api.editor-register-scenario":{"id":"routes/api.editor-register-scenario","parentId":"root","path":"api/editor-register-scenario","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-register-scenario-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-scenario-coverage":{"id":"routes/api.editor-scenario-coverage","parentId":"root","path":"api/editor-scenario-coverage","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-scenario-coverage-l0sNRNKZ.js","imports":[],"css":[]},"routes/entity.$sha_.create-scenario":{"id":"routes/entity.$sha_.create-scenario","parentId":"root","path":"entity/:sha/create-scenario","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/entity._sha_.create-scenario-DQM8E7L4.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/InteractivePreview-CKeQT5Ty.js","/assets/Spinner-D0LgAaSa.js","/assets/executionFlowCoverage-BWhdfn70.js","/assets/preload-helper-ckwbz45p.js","/assets/useLastLogLine-BNd5hYuW.js","/assets/InlineSpinner-CgTNOhnu.js"],"css":[]},"routes/api.editor-capture-scenario":{"id":"routes/api.editor-capture-scenario","parentId":"root","path":"api/editor-capture-scenario","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-capture-scenario-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-scenario-image.$":{"id":"routes/api.editor-scenario-image.$","parentId":"root","path":"api/editor-scenario-image/*","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-scenario-image._-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-journal-image.$":{"id":"routes/api.editor-journal-image.$","parentId":"root","path":"api/editor-journal-image/*","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-journal-image._-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-recapture-stale":{"id":"routes/api.editor-recapture-stale","parentId":"root","path":"api/editor-recapture-stale","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-recapture-stale-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-rename-scenario":{"id":"routes/api.editor-rename-scenario","parentId":"root","path":"api/editor-rename-scenario","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-rename-scenario-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-save-seed-state":{"id":"routes/api.editor-save-seed-state","parentId":"root","path":"api/editor-save-seed-state","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-save-seed-state-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-scenario-prompt":{"id":"routes/api.editor-scenario-prompt","parentId":"root","path":"api/editor-scenario-prompt","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-scenario-prompt-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-switch-scenario":{"id":"routes/api.editor-switch-scenario","parentId":"root","path":"api/editor-switch-scenario","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-switch-scenario-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.generate-scenario-data":{"id":"routes/api.generate-scenario-data","parentId":"root","path":"api/generate-scenario-data","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.generate-scenario-data-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-journal-update":{"id":"routes/api.editor-journal-update","parentId":"root","path":"api/editor-journal-update","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-journal-update-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-client-errors":{"id":"routes/api.editor-client-errors","parentId":"root","path":"api/editor-client-errors","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-client-errors-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-entity-status":{"id":"routes/api.editor-entity-status","parentId":"root","path":"api/editor-entity-status","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-entity-status-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-journal-entry":{"id":"routes/api.editor-journal-entry","parentId":"root","path":"api/editor-journal-entry","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-journal-entry-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-scenario-data":{"id":"routes/api.editor-scenario-data","parentId":"root","path":"api/editor-scenario-data","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-scenario-data-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.llm-calls.$entitySha":{"id":"routes/api.llm-calls.$entitySha","parentId":"root","path":"api/llm-calls/:entitySha","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.llm-calls._entitySha-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-project-info":{"id":"routes/api.editor-project-info","parentId":"root","path":"api/editor-project-info","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-project-info-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-test-results":{"id":"routes/api.editor-test-results","parentId":"root","path":"api/editor-test-results","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-test-results-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.branch-entity-diff":{"id":"routes/api.branch-entity-diff","parentId":"root","path":"api/branch-entity-diff","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.branch-entity-diff-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.capture-screenshot":{"id":"routes/api.capture-screenshot","parentId":"root","path":"api/capture-screenshot","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.capture-screenshot-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-load-commit":{"id":"routes/api.editor-load-commit","parentId":"root","path":"api/editor-load-commit","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-load-commit-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.recapture-scenario":{"id":"routes/api.recapture-scenario","parentId":"root","path":"api/recapture-scenario","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.recapture-scenario-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.agent-transcripts":{"id":"routes/api.agent-transcripts","parentId":"root","path":"api/agent-transcripts","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.agent-transcripts-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-dev-server":{"id":"routes/api.editor-dev-server","parentId":"root","path":"api/editor-dev-server","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-dev-server-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.logs.$projectSlug":{"id":"routes/api.logs.$projectSlug","parentId":"root","path":"api/logs/:projectSlug","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.logs._projectSlug-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-file-diff":{"id":"routes/api.editor-file-diff","parentId":"root","path":"api/editor-file-diff","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-file-diff-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-scenarios":{"id":"routes/api.editor-scenarios","parentId":"root","path":"api/editor-scenarios","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-scenarios-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.execute-function":{"id":"routes/api.execute-function","parentId":"root","path":"api/execute-function","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.execute-function-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.interactive-mode":{"id":"routes/api.interactive-mode","parentId":"root","path":"api/interactive-mode","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.interactive-mode-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.delete-scenario":{"id":"routes/api.delete-scenario","parentId":"root","path":"api/delete-scenario","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.delete-scenario-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.dev-mode-events":{"id":"routes/api.dev-mode-events","parentId":"root","path":"api/dev-mode-events","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.dev-mode-events-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.generate-report":{"id":"routes/api.generate-report","parentId":"root","path":"api/generate-report","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.generate-report-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-journal":{"id":"routes/api.editor-journal","parentId":"root","path":"api/editor-journal","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-journal-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-refresh":{"id":"routes/api.editor-refresh","parentId":"root","path":"api/editor-refresh","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-refresh-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-session":{"id":"routes/api.editor-session","parentId":"root","path":"api/editor-session","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-session-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.memory-profile":{"id":"routes/api.memory-profile","parentId":"root","path":"api/memory-profile","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.memory-profile-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.process-status":{"id":"routes/api.process-status","parentId":"root","path":"api/process-status","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.process-status-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.restart-server":{"id":"routes/api.restart-server","parentId":"root","path":"api/restart-server","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.restart-server-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.save-scenarios":{"id":"routes/api.save-scenarios","parentId":"root","path":"api/save-scenarios","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.save-scenarios-l0sNRNKZ.js","imports":[],"css":[]},"routes/agent-transcripts":{"id":"routes/agent-transcripts","parentId":"root","path":"agent-transcripts","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/agent-transcripts-Bg3e7q4S.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/useReportContext-Cy5Qg_UR.js","/assets/createLucideIcon-4ImjHTVC.js","/assets/terminal-CrplD4b1.js","/assets/search-BdBb5aqc.js","/assets/chevron-down-GmAjGS9-.js","/assets/book-open-CL-lMgHh.js","/assets/triangle-alert-DqJ0j69l.js","/assets/copy-C6iF61Xs.js"],"css":[]},"routes/api.editor-commit":{"id":"routes/api.editor-commit","parentId":"root","path":"api/editor-commit","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-commit-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-audit":{"id":"routes/api.editor-audit","parentId":"root","path":"api/editor-audit","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-audit-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.kill-process":{"id":"routes/api.kill-process","parentId":"root","path":"api/kill-process","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.kill-process-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.save-fixture":{"id":"routes/api.save-fixture","parentId":"root","path":"api/save-fixture","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.save-fixture-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.screenshot.$":{"id":"routes/api.screenshot.$","parentId":"root","path":"api/screenshot/*","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.screenshot._-l0sNRNKZ.js","imports":[],"css":[]},"routes/activity.($tab)":{"id":"routes/activity.($tab)","parentId":"root","path":"activity/:tab?","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/activity.(_tab)-BOARiB-g.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/LogViewer-CM5zg40N.js","/assets/useLastLogLine-BNd5hYuW.js","/assets/useReportContext-Cy5Qg_UR.js","/assets/EntityTypeIcon-CD7lGABo.js","/assets/EntityTypeBadge-CQgyEGV-.js","/assets/SafeScreenshot-DanvyBPb.js","/assets/LoadingDots-By5zI316.js","/assets/loader-circle-De-7qQ2u.js","/assets/pause-CFxEKL1u.js","/assets/createLucideIcon-4ImjHTVC.js"],"css":[]},"routes/api.debug-setup":{"id":"routes/api.debug-setup","parentId":"root","path":"api/debug-setup","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.debug-setup-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-file":{"id":"routes/api.editor-file","parentId":"root","path":"api/editor-file","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-file-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.labs-unlock":{"id":"routes/api.labs-unlock","parentId":"root","path":"api/labs-unlock","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.labs-unlock-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.recapture":{"id":"routes/api.recapture","parentId":"root","path":"api/recapture","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.recapture-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.rule-path":{"id":"routes/api.rule-path","parentId":"root","path":"api/rule-path","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.rule-path-l0sNRNKZ.js","imports":[],"css":[]},"routes/entity.$sha.$":{"id":"routes/entity.$sha.$","parentId":"root","path":"entity/:sha/*","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/entity._sha._-Blfy9UlN.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/useLastLogLine-BNd5hYuW.js","/assets/Spinner-D0LgAaSa.js","/assets/InteractivePreview-CKeQT5Ty.js","/assets/SafeScreenshot-DanvyBPb.js","/assets/LibraryFunctionPreview-D3s1MFkb.js","/assets/LoadingDots-By5zI316.js","/assets/scenarioStatus-B_8jpV3e.js","/assets/ScenarioViewer-DUMfcNVK.js","/assets/createLucideIcon-4ImjHTVC.js","/assets/executionFlowCoverage-BWhdfn70.js","/assets/EntityTypeIcon-CD7lGABo.js","/assets/CopyButton-CLe80MMu.js","/assets/LogViewer-CM5zg40N.js","/assets/useReportContext-Cy5Qg_UR.js","/assets/preload-helper-ckwbz45p.js","/assets/InlineSpinner-CgTNOhnu.js","/assets/ViewportInspectBar-BA_Ry-rs.js","/assets/useCustomSizes-DhXHbEjP.js","/assets/ReportIssueModal-C2PLkej3.js","/assets/circle-check-DFcQkN5j.js","/assets/triangle-alert-DqJ0j69l.js","/assets/copy-C6iF61Xs.js"],"css":[]},"routes/api.analyze":{"id":"routes/api.analyze","parentId":"root","path":"api/analyze","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.analyze-l0sNRNKZ.js","imports":[],"css":[]},"routes/simulations":{"id":"routes/simulations","parentId":"root","path":"simulations","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/simulations-DSCdE99u.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/useReportContext-Cy5Qg_UR.js","/assets/SafeScreenshot-DanvyBPb.js","/assets/LoadingDots-By5zI316.js","/assets/EntityTypeIcon-CD7lGABo.js","/assets/fileTableUtils-Daa96Fr1.js","/assets/chevron-down-GmAjGS9-.js","/assets/search-BdBb5aqc.js","/assets/loader-circle-De-7qQ2u.js","/assets/createLucideIcon-4ImjHTVC.js"],"css":[]},"routes/api.events":{"id":"routes/api.events","parentId":"root","path":"api/events","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.events-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.health":{"id":"routes/api.health","parentId":"root","path":"api/health","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.health-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.memory":{"id":"routes/api.memory","parentId":"root","path":"api/memory","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.memory-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.queue":{"id":"routes/api.queue","parentId":"root","path":"api/queue","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.queue-l0sNRNKZ.js","imports":[],"css":[]},"routes/dev.empty":{"id":"routes/dev.empty","parentId":"root","path":"dev/empty","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/dev.empty-C8y4mmyv.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/ScenarioViewer-DUMfcNVK.js","/assets/InteractivePreview-CKeQT5Ty.js","/assets/ViewportInspectBar-BA_Ry-rs.js","/assets/useCustomSizes-DhXHbEjP.js","/assets/LogViewer-CM5zg40N.js","/assets/SafeScreenshot-DanvyBPb.js","/assets/useLastLogLine-BNd5hYuW.js","/assets/Spinner-D0LgAaSa.js","/assets/preload-helper-ckwbz45p.js","/assets/ReportIssueModal-C2PLkej3.js","/assets/createLucideIcon-4ImjHTVC.js","/assets/circle-check-DFcQkN5j.js","/assets/triangle-alert-DqJ0j69l.js","/assets/copy-C6iF61Xs.js","/assets/scenarioStatus-B_8jpV3e.js","/assets/InlineSpinner-CgTNOhnu.js"],"css":[]},"routes/settings":{"id":"routes/settings","parentId":"root","path":"settings","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/settings-DdE-Untf.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/useReportContext-Cy5Qg_UR.js","/assets/CopyButton-CLe80MMu.js","/assets/copy-C6iF61Xs.js","/assets/createLucideIcon-4ImjHTVC.js"],"css":[]},"routes/static.$":{"id":"routes/static.$","parentId":"root","path":"static/*","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/static._-l0sNRNKZ.js","imports":[],"css":[]},"routes/_index":{"id":"routes/_index","parentId":"root","index":true,"hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/_index-BAWd-Xjf.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/useLastLogLine-BNd5hYuW.js","/assets/useToast-5HR2j9ZE.js","/assets/useReportContext-Cy5Qg_UR.js","/assets/LogViewer-CM5zg40N.js","/assets/EntityTypeIcon-CD7lGABo.js","/assets/SafeScreenshot-DanvyBPb.js","/assets/scenarioStatus-B_8jpV3e.js","/assets/createLucideIcon-4ImjHTVC.js","/assets/circle-check-DFcQkN5j.js","/assets/loader-circle-De-7qQ2u.js"],"css":[]},"routes/memory":{"id":"routes/memory","parentId":"root","path":"memory","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/memory-Cx2xEx7s.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/useReportContext-Cy5Qg_UR.js","/assets/createLucideIcon-4ImjHTVC.js","/assets/terminal-CrplD4b1.js","/assets/copy-C6iF61Xs.js","/assets/CopyButton-CLe80MMu.js","/assets/chevron-down-GmAjGS9-.js","/assets/search-BdBb5aqc.js","/assets/pause-CFxEKL1u.js","/assets/book-open-CL-lMgHh.js"],"css":[]},"routes/files":{"id":"routes/files","parentId":"root","path":"files","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/files-D-xGrg29.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/useReportContext-Cy5Qg_UR.js","/assets/EntityItem-Crt_KN_U.js","/assets/fileTableUtils-Daa96Fr1.js","/assets/chevron-down-GmAjGS9-.js","/assets/search-BdBb5aqc.js","/assets/createLucideIcon-4ImjHTVC.js","/assets/useToast-5HR2j9ZE.js","/assets/TruncatedFilePath-CK7-NaPZ.js","/assets/SafeScreenshot-DanvyBPb.js","/assets/LibraryFunctionPreview-D3s1MFkb.js","/assets/scenarioStatus-B_8jpV3e.js","/assets/triangle-alert-DqJ0j69l.js","/assets/EntityTypeIcon-CD7lGABo.js","/assets/EntityTypeBadge-CQgyEGV-.js"],"css":[]},"routes/labs":{"id":"routes/labs","parentId":"root","path":"labs","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/labs-B_IX45ih.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/useReportContext-Cy5Qg_UR.js"],"css":[]},"routes/git":{"id":"routes/git","parentId":"root","path":"git","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/git-Bq_fbXP5.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/useReportContext-Cy5Qg_UR.js","/assets/EntityItem-Crt_KN_U.js","/assets/LogViewer-CM5zg40N.js","/assets/index-DE3jI_dv.js","/assets/fileTableUtils-Daa96Fr1.js","/assets/createLucideIcon-4ImjHTVC.js","/assets/useToast-5HR2j9ZE.js","/assets/TruncatedFilePath-CK7-NaPZ.js","/assets/SafeScreenshot-DanvyBPb.js","/assets/LibraryFunctionPreview-D3s1MFkb.js","/assets/scenarioStatus-B_8jpV3e.js","/assets/triangle-alert-DqJ0j69l.js","/assets/EntityTypeIcon-CD7lGABo.js","/assets/EntityTypeBadge-CQgyEGV-.js"],"css":[]},"routes/editor.entity.($sha)":{"id":"routes/editor.entity.($sha)","parentId":"root","path":"editor","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/editor.entity.(_sha)-Bnx7yUP0.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/useCustomSizes-DhXHbEjP.js","/assets/editorPreview-oepecPae.js","/assets/CopyButton-CLe80MMu.js","/assets/preload-helper-ckwbz45p.js","/assets/cy-logo-cli-DcX-ZS3p.js","/assets/Spinner-D0LgAaSa.js","/assets/copy-C6iF61Xs.js","/assets/createLucideIcon-4ImjHTVC.js","/assets/useLastLogLine-BNd5hYuW.js"],"css":[]},"editor-tab-index":{"id":"editor-tab-index","parentId":"routes/editor.entity.($sha)","index":true,"hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/editor._tab-Gbk_i5Js.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js"],"css":[]},"editor-tab-build":{"id":"editor-tab-build","parentId":"routes/editor.entity.($sha)","path":"build","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/editor._tab-Gbk_i5Js.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js"],"css":[]},"editor-tab-structure":{"id":"editor-tab-structure","parentId":"routes/editor.entity.($sha)","path":"structure","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/editor._tab-Gbk_i5Js.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js"],"css":[]},"editor-tab-journal":{"id":"editor-tab-journal","parentId":"routes/editor.entity.($sha)","path":"journal","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/editor._tab-Gbk_i5Js.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js"],"css":[]},"editor-tab-entity":{"id":"editor-tab-entity","parentId":"routes/editor.entity.($sha)","path":"entity/:sha","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/editor._tab-Gbk_i5Js.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js"],"css":[]}},"url":"/assets/manifest-b9d4d267.js","version":"b9d4d267"};
@@ -1,4 +1,4 @@
1
- import*as Y from"fs/promises";import*as w from"path";import{P as J,w as H}from"./progress-CHTtrxFG.js";import{ab as V,ac as _,ad as G,ae as q,af as K,ag as Q,ah as X,ai as Z,aj as U,ak as ee,u as te,al as re,am as oe,an as ne}from"./server-build-DzzNZGv_.js";import{spawn as W,execSync as se}from"child_process";import*as P from"fs";import{fileURLToPath as ie}from"url";import"fetch-retry";import"typescript";import"kysely";import"pluralize";import"piscina";import"json5";import"cli-spinners";import"chalk";import"react/jsx-runtime";import"node:stream";import"@react-router/node";import"react-router";import"isbot";import"react-dom/server";import"react";import"lucide-react";import"better-sqlite3";import"pg";import"kysely/helpers/sqlite";import"kysely/helpers/postgres";import"os";import"prompts";import"crypto";import"util";import"dotenv";import"events";import"uuid";import"http";import"net";import"ws";import"node-pty";import"openai";import"p-queue";import"p-retry";import"@aws-sdk/client-dynamodb";import"lru-cache";import"@aws-sdk/util-dynamodb";import"v8";import"react-syntax-highlighter";import"react-syntax-highlighter/dist/cjs/styles/prism/index.js";import"node:crypto";import"minimatch";import"react-markdown";import"remark-gfm";import"react-diff-viewer-continued";const ae=ie(import.meta.url),ce=w.dirname(ae);async function le(b){let i=b.port;const{rootPath:d,project:c,branch:E,processName:R="server"}=b;let m=!1;const{running:g,state:e,pids:v}=V();if(g&&e)if(e.cliVersion!==_)console.log(`CLI version mismatch (server: ${e.cliVersion??"unknown"} → CLI: ${_}), restarting server...`),G(),m=!0;else return{url:e.url,pid:e.pid,wasAlreadyRunning:!0};else g&&v&&v.length>0&&(q(i)||(i=K(i,q)));const j=`http://localhost:${i}`,S=w.join(ce,"..","webserver","bootstrap.js"),o=w.join(d,".codeyam","logs");P.existsSync(o)||P.mkdirSync(o,{recursive:!0});const A={CODEYAM_PORT:i.toString(),CODEYAM_ROOT_PATH:d,CODEYAM_PROJECT:c?JSON.stringify(c):"",CODEYAM_BRANCH:E?JSON.stringify(E):"",CODEYAM_PROCESS_NAME:`codeyam-${R}`,...m?{CODEYAM_WAIT_FOR_PORT:"true"}:{},...process.env.CODEYAM_TRACE_TRANSFORMS?{CODEYAM_TRACE_TRANSFORMS:process.env.CODEYAM_TRACE_TRANSFORMS}:{}};let l;if(process.platform==="win32")l=await pe(S,A,o);else{const s=P.openSync(w.join(o,"background-server.log"),"a"),r=P.openSync(w.join(o,"background-server-error.log"),"a"),f=W("node",["--max-old-space-size=8192",S],{detached:!0,stdio:["ignore",s,r],env:{...process.env,...A}});f.unref(),l=f.pid}try{const s=se(`lsof -ti:${i}`,{encoding:"utf8"}).trim();if(s){const r=s.split(`
1
+ import*as Y from"fs/promises";import*as w from"path";import{P as J,w as H}from"./progress-CHTtrxFG.js";import{ab as V,ac as _,ad as G,ae as q,af as K,ag as Q,ah as X,ai as Z,aj as U,ak as ee,u as te,al as re,am as oe,an as ne}from"./server-build-TmPfF7pT.js";import{spawn as W,execSync as se}from"child_process";import*as P from"fs";import{fileURLToPath as ie}from"url";import"fetch-retry";import"typescript";import"kysely";import"pluralize";import"piscina";import"json5";import"cli-spinners";import"chalk";import"react/jsx-runtime";import"node:stream";import"@react-router/node";import"react-router";import"isbot";import"react-dom/server";import"react";import"lucide-react";import"better-sqlite3";import"pg";import"kysely/helpers/sqlite";import"kysely/helpers/postgres";import"os";import"prompts";import"crypto";import"util";import"dotenv";import"events";import"uuid";import"http";import"net";import"ws";import"node-pty";import"openai";import"p-queue";import"p-retry";import"@aws-sdk/client-dynamodb";import"lru-cache";import"@aws-sdk/util-dynamodb";import"v8";import"react-syntax-highlighter";import"react-syntax-highlighter/dist/cjs/styles/prism/index.js";import"node:crypto";import"minimatch";import"react-markdown";import"remark-gfm";import"react-diff-viewer-continued";const ae=ie(import.meta.url),ce=w.dirname(ae);async function le(b){let i=b.port;const{rootPath:d,project:c,branch:E,processName:R="server"}=b;let m=!1;const{running:g,state:e,pids:v}=V();if(g&&e)if(e.cliVersion!==_)console.log(`CLI version mismatch (server: ${e.cliVersion??"unknown"} → CLI: ${_}), restarting server...`),G(),m=!0;else return{url:e.url,pid:e.pid,wasAlreadyRunning:!0};else g&&v&&v.length>0&&(q(i)||(i=K(i,q)));const j=`http://localhost:${i}`,S=w.join(ce,"..","webserver","bootstrap.js"),o=w.join(d,".codeyam","logs");P.existsSync(o)||P.mkdirSync(o,{recursive:!0});const A={CODEYAM_PORT:i.toString(),CODEYAM_ROOT_PATH:d,CODEYAM_PROJECT:c?JSON.stringify(c):"",CODEYAM_BRANCH:E?JSON.stringify(E):"",CODEYAM_PROCESS_NAME:`codeyam-${R}`,...m?{CODEYAM_WAIT_FOR_PORT:"true"}:{},...process.env.CODEYAM_TRACE_TRANSFORMS?{CODEYAM_TRACE_TRANSFORMS:process.env.CODEYAM_TRACE_TRANSFORMS}:{}};let l;if(process.platform==="win32")l=await pe(S,A,o);else{const s=P.openSync(w.join(o,"background-server.log"),"a"),r=P.openSync(w.join(o,"background-server-error.log"),"a"),f=W("node",["--max-old-space-size=8192",S],{detached:!0,stdio:["ignore",s,r],env:{...process.env,...A}});f.unref(),l=f.pid}try{const s=se(`lsof -ti:${i}`,{encoding:"utf8"}).trim();if(s){const r=s.split(`
2
2
  `),f=r.find(C=>C===String(l)),p=r.filter(C=>C!==String(l));p.length>0&&console.warn(`[BackgroundServer] Port ${i} still held by other PID(s): ${p.join(", ")} (server PID: ${l})`)}}catch{}const L=`http://127.0.0.1:${i}/api/health`,y=6e4,D=500,a=Date.now();let u="",k=!1;for(;Date.now()-a<y;){try{process.kill(l,0)}catch{const r=((Date.now()-a)/1e3).toFixed(1);console.error(`[BackgroundServer] Server process (PID ${l}) died after ${r}s`);const f=w.join(o,"background-server.log");try{const $=P.readFileSync(f,"utf8").trim().split(`
3
3
  `).slice(-15).join(`
4
4
  `);console.error(`[BackgroundServer] Last log lines:
@@ -1 +1 @@
1
- import"fetch-retry";import{K as Z,N as _,Q as $,R as aa,U as ea,W as sa,Z as ta,a1 as ra,a4 as oa,J as ia,L as ma,M as la,O as pa,P as na,S as ca,T as ba,V as Ta,X as da,Y as ua,_ as ha,$ as Ca,a0 as Sa,a2 as ya,a3 as Ba,a5 as Aa,I as Ea,a6 as Pa,a7 as ga,a8 as ja,aa as Fa,a9 as Ua,d as Da,a as Ga,b as Ma,c as qa,e as Ja,f as fa,g as ka,h as xa,i as Ha,j as La,k as va,E as wa,H as za,G as Ia,F as Ka,l as Na,m as Oa,n as Qa,o as Ra,p as Va,q as Wa,r as Xa,s as Ya,t as Za,u as _a,v as $a,w as ae,x as ee,y as se,z as te,A as re,B as oe,C as ie,D as me}from"./server-build-DzzNZGv_.js";import"typescript";import"kysely";import"react/jsx-runtime";import"node:stream";import"@react-router/node";import"react-router";import"isbot";import"react-dom/server";import"react";import"lucide-react";import"better-sqlite3";import"pg";import"fs";import"path";import"kysely/helpers/sqlite";import"kysely/helpers/postgres";import"fs/promises";import"os";import"prompts";import"chalk";import"crypto";import"child_process";import"url";import"util";import"dotenv";import"events";import"uuid";import"http";import"net";import"ws";import"node-pty";import"openai";import"p-queue";import"p-retry";import"@aws-sdk/client-dynamodb";import"lru-cache";import"pluralize";import"piscina";import"json5";import"@aws-sdk/util-dynamodb";import"v8";import"react-syntax-highlighter";import"react-syntax-highlighter/dist/cjs/styles/prism/index.js";import"node:crypto";import"minimatch";import"react-markdown";import"remark-gfm";import"react-diff-viewer-continued";export{Z as AnalysisBranchesTableColumns,_ as BranchesTableColumns,$ as CommitsTableColumns,aa as CommitsTableColumnsLite,ea as EntitiesTableColumns,sa as EntityBranchesTableColumns,ta as FilesTableColumns,ra as ProjectsTableColumns,oa as ScenariosTableColumns,ia as createAnalysesTable,ma as createAnalysisBranchesTable,la as createBackgroundJobsTable,pa as createBranchesTable,na as createCommitBranchesTable,ca as createCommitsTable,ba as createEditorScenariosTable,Ta as createEntitiesTable,da as createEntityBranchesTable,ua as createEntityStatementsTable,ha as createFilesTable,Ca as createGithubPayloadsTable,Sa as createGithubUsersTable,ya as createProjectsTable,Ba as createScenarioCommentsTable,Aa as createScenariosTable,Ea as createSqliteSchema,Pa as createStatementsTable,ga as createTeamsTable,ja as createUserScenariosTable,Fa as createUserTeamsTable,Ua as createUsersTable,Da as dbToAnalysis,Ga as dbToAnalysisBranch,Ma as dbToBranch,qa as dbToCommit,Ja as dbToEntity,fa as dbToFile,ka as dbToProject,xa as dbToScenario,Ha as dbToUserScenario,La as deleteScenarios,va as generateSha,wa as getDatabase,za as getJsonHelper,Ia as getPostgreDatabase,Ka as getSqliteDatabase,Na as loadAnalyses,Oa as loadAnalysis,Qa as loadBranches,Ra as loadCommitBranches,Va as loadCommits,Wa as loadEntities,Xa as loadEntity,Ya as loadFiles,Za as loadProject,_a as updateCommitMetadata,$a as updateFreshAnalysisMetadata,ae as updateFreshAnalysisStatus,ee as updateProjectMetadata,se as upsertBranches,te as upsertCommitBranches,re as upsertCommits,oe as upsertGithubUser,ie as upsertProjects,me as upsertScenarios};
1
+ import"fetch-retry";import{K as Z,N as _,Q as $,R as aa,U as ea,W as sa,Z as ta,a1 as ra,a4 as oa,J as ia,L as ma,M as la,O as pa,P as na,S as ca,T as ba,V as Ta,X as da,Y as ua,_ as ha,$ as Ca,a0 as Sa,a2 as ya,a3 as Ba,a5 as Aa,I as Ea,a6 as Pa,a7 as ga,a8 as ja,aa as Fa,a9 as Ua,d as Da,a as Ga,b as Ma,c as qa,e as Ja,f as fa,g as ka,h as xa,i as Ha,j as La,k as va,E as wa,H as za,G as Ia,F as Ka,l as Na,m as Oa,n as Qa,o as Ra,p as Va,q as Wa,r as Xa,s as Ya,t as Za,u as _a,v as $a,w as ae,x as ee,y as se,z as te,A as re,B as oe,C as ie,D as me}from"./server-build-TmPfF7pT.js";import"typescript";import"kysely";import"react/jsx-runtime";import"node:stream";import"@react-router/node";import"react-router";import"isbot";import"react-dom/server";import"react";import"lucide-react";import"better-sqlite3";import"pg";import"fs";import"path";import"kysely/helpers/sqlite";import"kysely/helpers/postgres";import"fs/promises";import"os";import"prompts";import"chalk";import"crypto";import"child_process";import"url";import"util";import"dotenv";import"events";import"uuid";import"http";import"net";import"ws";import"node-pty";import"openai";import"p-queue";import"p-retry";import"@aws-sdk/client-dynamodb";import"lru-cache";import"pluralize";import"piscina";import"json5";import"@aws-sdk/util-dynamodb";import"v8";import"react-syntax-highlighter";import"react-syntax-highlighter/dist/cjs/styles/prism/index.js";import"node:crypto";import"minimatch";import"react-markdown";import"remark-gfm";import"react-diff-viewer-continued";export{Z as AnalysisBranchesTableColumns,_ as BranchesTableColumns,$ as CommitsTableColumns,aa as CommitsTableColumnsLite,ea as EntitiesTableColumns,sa as EntityBranchesTableColumns,ta as FilesTableColumns,ra as ProjectsTableColumns,oa as ScenariosTableColumns,ia as createAnalysesTable,ma as createAnalysisBranchesTable,la as createBackgroundJobsTable,pa as createBranchesTable,na as createCommitBranchesTable,ca as createCommitsTable,ba as createEditorScenariosTable,Ta as createEntitiesTable,da as createEntityBranchesTable,ua as createEntityStatementsTable,ha as createFilesTable,Ca as createGithubPayloadsTable,Sa as createGithubUsersTable,ya as createProjectsTable,Ba as createScenarioCommentsTable,Aa as createScenariosTable,Ea as createSqliteSchema,Pa as createStatementsTable,ga as createTeamsTable,ja as createUserScenariosTable,Fa as createUserTeamsTable,Ua as createUsersTable,Da as dbToAnalysis,Ga as dbToAnalysisBranch,Ma as dbToBranch,qa as dbToCommit,Ja as dbToEntity,fa as dbToFile,ka as dbToProject,xa as dbToScenario,Ha as dbToUserScenario,La as deleteScenarios,va as generateSha,wa as getDatabase,za as getJsonHelper,Ia as getPostgreDatabase,Ka as getSqliteDatabase,Na as loadAnalyses,Oa as loadAnalysis,Qa as loadBranches,Ra as loadCommitBranches,Va as loadCommits,Wa as loadEntities,Xa as loadEntity,Ya as loadFiles,Za as loadProject,_a as updateCommitMetadata,$a as updateFreshAnalysisMetadata,ae as updateFreshAnalysisStatus,ee as updateProjectMetadata,se as upsertBranches,te as upsertCommitBranches,re as upsertCommits,oe as upsertGithubUser,ie as upsertProjects,me as upsertScenarios};
@@ -1,4 +1,4 @@
1
- import*as m from"fs/promises";import*as y from"fs";import*as e from"path";import x from"chalk";import{execSync as F}from"child_process";import{h as _,s as b,e as v,P as B,i as E,w as R}from"./progress-CHTtrxFG.js";import{ao as I,ap as W,aq as M,ab as O,ad as T,ar as U,as as A,at as G,F as q,I as Y,an as z,au as N,av as J,x as P}from"./server-build-DzzNZGv_.js";import"fetch-retry";import"typescript";import"kysely";import{fileURLToPath as L}from"url";import"cli-spinners";import"react/jsx-runtime";import"node:stream";import"@react-router/node";import"react-router";import"isbot";import"react-dom/server";import"react";import"lucide-react";import"better-sqlite3";import"pg";import"kysely/helpers/sqlite";import"kysely/helpers/postgres";import"os";import"prompts";import"crypto";import"util";import"dotenv";import"events";import"uuid";import"http";import"net";import"ws";import"node-pty";import"openai";import"p-queue";import"p-retry";import"@aws-sdk/client-dynamodb";import"lru-cache";import"pluralize";import"piscina";import"json5";import"@aws-sdk/util-dynamodb";import"v8";import"react-syntax-highlighter";import"react-syntax-highlighter/dist/cjs/styles/prism/index.js";import"node:crypto";import"minimatch";import"react-markdown";import"remark-gfm";import"react-diff-viewer-continued";function H(a){try{const r=F("git config --get remote.origin.url",{cwd:a,encoding:"utf8"}).trim().match(/github\.com[:/]([^/]+)\/([^/]+?)(?:\.git)?$/);if(r)return`${r[1]}-${r[2]}`}catch{}return e.basename(a)}const V=L(import.meta.url),K=e.dirname(V);async function g(a,t){await m.mkdir(t,{recursive:!0});const r=await m.readdir(a,{withFileTypes:!0});for(const i of r){const s=e.join(a,i.name),o=e.join(t,i.name);i.isDirectory()?await g(s,o):(await m.copyFile(s,o),(i.name.endsWith(".sh")||i.name.endsWith(".mjs"))&&await m.chmod(o,493))}}async function Q(a,t){const r=(t==null?void 0:t.mode)??"memory";try{const i=e.join(a,".claude","skills"),s=e.join(K,"../../templates"),o=e.join(s,"skills"),n=e.join(s,"commands"),u=e.join(i,"codeyam-memory"),p=e.join(i,"codeyam-new-rule");await g(e.join(o,"codeyam-memory"),u),await g(e.join(o,"codeyam-new-rule"),p);const w=r==="editor"||(t==null?void 0:t.editorMode)===!0;if(w){const c=e.join(i,"codeyam-editor");await g(e.join(o,"codeyam-editor"),c);const f=e.join(a,"CLAUDE.md");try{await m.access(f)}catch{await m.copyFile(e.join(s,"codeyam-editor-claude.md"),f)}const d=e.join(a,".codeyam","docs");await m.mkdir(d,{recursive:!0}),await m.copyFile(e.join(s,"codeyam-editor-reference.md"),e.join(d,"editor-reference.md"))}if(r==="full"){const c=e.join(i,"codeyam-setup"),f=e.join(i,"codeyam-sim"),d=e.join(i,"codeyam-test"),h=e.join(i,"codeyam-verify"),S=e.join(i,"codeyam-dev-mode");await g(e.join(o,"codeyam-setup"),c),await g(e.join(o,"codeyam-sim"),f),await g(e.join(o,"codeyam-test"),d),await g(e.join(o,"codeyam-verify"),h),await g(e.join(o,"codeyam-dev-mode"),S);const k=e.join(a,".claude","commands");await m.mkdir(k,{recursive:!0}),await m.copyFile(e.join(n,"codeyam-diagnose.md"),e.join(k,"codeyam-diagnose.md"))}const l=e.join(a,".codeyam","bin");await m.mkdir(l,{recursive:!0});const j=e.join(a,".codeyam","rules");if(await m.mkdir(j,{recursive:!0}),w){try{const c=e.join(l,"editor-step-hook.py");await m.copyFile(e.join(s,"editor-step-hook.py"),c),await m.chmod(c,493)}catch{}try{const c=e.join(s,"seed-adapters"),f=e.join(a,".codeyam","seed-adapters");await g(c,f)}catch{}}try{const c=e.join(l,"memory-hook.sh");await m.copyFile(e.join(s,"codeyam-memory-hook.sh"),c),await m.chmod(c,493)}catch{}try{const c=e.join(l,"rule-reflection-hook.py");await m.copyFile(e.join(s,"rule-reflection-hook.py"),c),await m.chmod(c,493)}catch{}try{const c=e.join(l,"rule-notification-hook.py");await m.copyFile(e.join(s,"rule-notification-hook.py"),c),await m.chmod(c,493)}catch{}try{const c=e.join(l,"prompts");await m.mkdir(c,{recursive:!0});const f=await m.readdir(e.join(s,"prompts"));for(const d of f)await m.copyFile(e.join(s,"prompts",d),e.join(c,d))}catch{}try{await m.copyFile(e.join(s,"rules-instructions.md"),e.join(j,"instructions.md"))}catch{}return{success:!0,skillsPath:e.relative(a,i)}}catch(i){return{success:!1,error:i instanceof Error?i.message:String(i)}}}function X(a,t){const r=(t==null?void 0:t.mode)??"memory";try{const i=e.join(a,".claude"),s=e.join(i,"settings.local.json");y.existsSync(i)||y.mkdirSync(i,{recursive:!0});let o={};if(y.existsSync(s))try{const c=y.readFileSync(s,"utf8");o=JSON.parse(c)}catch{console.warn(`Warning: Could not parse ${s}, will create new file`)}o.permissions||(o.permissions={}),o.permissions.allow||(o.permissions.allow=[]);const n=["Skill(codeyam-memory)","Skill(codeyam-new-rule)","Bash(codeyam)","Bash(codeyam:*)","Read(.codeyam/**)","Edit(.codeyam/**)","Write(.codeyam/**)","Glob(.codeyam/**)"],u=["Skill(codeyam-setup)","Skill(codeyam-sim)","Skill(codeyam-debug)","Skill(codeyam-test)","Skill(codeyam-verify)","Skill(codeyam-dev-mode)","Read(/tmp/**)","Edit(/tmp/**)","Write(/tmp/**)","Glob(/tmp/**)","Bash(npm install:*)","Bash(npm run:*)","Bash(npx:*)","Bash(node:*)","Bash(cp:*)","Bash(mkdir:*)","Bash(chmod:*)","Bash(rm:*)","Bash(curl:*)","Bash(sleep:*)","Bash(echo:*)","Bash(grep:*)","Bash(python3:*)","Bash(cat:*)","Bash(printf:*)","Bash(ls:*)"],p=["Skill(codeyam-editor)","Bash(git:*)","Edit(**)","Write(**)"],w=r==="editor"||(t==null?void 0:t.editorMode)===!0;let l;if(r==="full"?l=[...n,...u]:r==="editor"?l=[...n,...p,...u]:l=n,w&&r!=="editor")for(const c of[...p,...u])l.includes(c)||l.push(c);let j=!1;for(const c of l)o.permissions.allow.includes(c)||(o.permissions.allow.push(c),j=!0);if(w){o.hooks||(o.hooks={});const c='test -f "$CLAUDE_PROJECT_DIR"/.codeyam/bin/editor-step-hook.py && python3 "$CLAUDE_PROJECT_DIR"/.codeyam/bin/editor-step-hook.py || true';for(const f of["PostToolUse","Stop","UserPromptSubmit"]){const d=o.hooks[f]||[];d.some(S=>{var k;return(k=S.hooks)==null?void 0:k.some(C=>{var $;return($=C.command)==null?void 0:$.includes("editor-step-hook")})})||(d.push({hooks:[{type:"command",command:c,timeout:5}]}),o.hooks[f]=d,j=!0)}}return j&&y.writeFileSync(s,JSON.stringify(o,null,2),"utf8"),!0}catch(i){return console.warn(`Warning: Could not configure Claude Code settings: ${i.message}`),!1}}function Z(a){return y.existsSync(a)?y.readFileSync(a,"utf8").split(`
1
+ import*as m from"fs/promises";import*as y from"fs";import*as e from"path";import x from"chalk";import{execSync as F}from"child_process";import{h as _,s as b,e as v,P as B,i as E,w as R}from"./progress-CHTtrxFG.js";import{ao as I,ap as W,aq as M,ab as O,ad as T,ar as U,as as A,at as G,F as q,I as Y,an as z,au as N,av as J,x as P}from"./server-build-TmPfF7pT.js";import"fetch-retry";import"typescript";import"kysely";import{fileURLToPath as L}from"url";import"cli-spinners";import"react/jsx-runtime";import"node:stream";import"@react-router/node";import"react-router";import"isbot";import"react-dom/server";import"react";import"lucide-react";import"better-sqlite3";import"pg";import"kysely/helpers/sqlite";import"kysely/helpers/postgres";import"os";import"prompts";import"crypto";import"util";import"dotenv";import"events";import"uuid";import"http";import"net";import"ws";import"node-pty";import"openai";import"p-queue";import"p-retry";import"@aws-sdk/client-dynamodb";import"lru-cache";import"pluralize";import"piscina";import"json5";import"@aws-sdk/util-dynamodb";import"v8";import"react-syntax-highlighter";import"react-syntax-highlighter/dist/cjs/styles/prism/index.js";import"node:crypto";import"minimatch";import"react-markdown";import"remark-gfm";import"react-diff-viewer-continued";function H(a){try{const r=F("git config --get remote.origin.url",{cwd:a,encoding:"utf8"}).trim().match(/github\.com[:/]([^/]+)\/([^/]+?)(?:\.git)?$/);if(r)return`${r[1]}-${r[2]}`}catch{}return e.basename(a)}const V=L(import.meta.url),K=e.dirname(V);async function g(a,t){await m.mkdir(t,{recursive:!0});const r=await m.readdir(a,{withFileTypes:!0});for(const i of r){const s=e.join(a,i.name),o=e.join(t,i.name);i.isDirectory()?await g(s,o):(await m.copyFile(s,o),(i.name.endsWith(".sh")||i.name.endsWith(".mjs"))&&await m.chmod(o,493))}}async function Q(a,t){const r=(t==null?void 0:t.mode)??"memory";try{const i=e.join(a,".claude","skills"),s=e.join(K,"../../templates"),o=e.join(s,"skills"),n=e.join(s,"commands"),u=e.join(i,"codeyam-memory"),p=e.join(i,"codeyam-new-rule");await g(e.join(o,"codeyam-memory"),u),await g(e.join(o,"codeyam-new-rule"),p);const w=r==="editor"||(t==null?void 0:t.editorMode)===!0;if(w){const c=e.join(i,"codeyam-editor");await g(e.join(o,"codeyam-editor"),c);const f=e.join(a,"CLAUDE.md");try{await m.access(f)}catch{await m.copyFile(e.join(s,"codeyam-editor-claude.md"),f)}const d=e.join(a,".codeyam","docs");await m.mkdir(d,{recursive:!0}),await m.copyFile(e.join(s,"codeyam-editor-reference.md"),e.join(d,"editor-reference.md"))}if(r==="full"){const c=e.join(i,"codeyam-setup"),f=e.join(i,"codeyam-sim"),d=e.join(i,"codeyam-test"),h=e.join(i,"codeyam-verify"),S=e.join(i,"codeyam-dev-mode");await g(e.join(o,"codeyam-setup"),c),await g(e.join(o,"codeyam-sim"),f),await g(e.join(o,"codeyam-test"),d),await g(e.join(o,"codeyam-verify"),h),await g(e.join(o,"codeyam-dev-mode"),S);const k=e.join(a,".claude","commands");await m.mkdir(k,{recursive:!0}),await m.copyFile(e.join(n,"codeyam-diagnose.md"),e.join(k,"codeyam-diagnose.md"))}const l=e.join(a,".codeyam","bin");await m.mkdir(l,{recursive:!0});const j=e.join(a,".codeyam","rules");if(await m.mkdir(j,{recursive:!0}),w){try{const c=e.join(l,"editor-step-hook.py");await m.copyFile(e.join(s,"editor-step-hook.py"),c),await m.chmod(c,493)}catch{}try{const c=e.join(s,"seed-adapters"),f=e.join(a,".codeyam","seed-adapters");await g(c,f)}catch{}}try{const c=e.join(l,"memory-hook.sh");await m.copyFile(e.join(s,"codeyam-memory-hook.sh"),c),await m.chmod(c,493)}catch{}try{const c=e.join(l,"rule-reflection-hook.py");await m.copyFile(e.join(s,"rule-reflection-hook.py"),c),await m.chmod(c,493)}catch{}try{const c=e.join(l,"rule-notification-hook.py");await m.copyFile(e.join(s,"rule-notification-hook.py"),c),await m.chmod(c,493)}catch{}try{const c=e.join(l,"prompts");await m.mkdir(c,{recursive:!0});const f=await m.readdir(e.join(s,"prompts"));for(const d of f)await m.copyFile(e.join(s,"prompts",d),e.join(c,d))}catch{}try{await m.copyFile(e.join(s,"rules-instructions.md"),e.join(j,"instructions.md"))}catch{}return{success:!0,skillsPath:e.relative(a,i)}}catch(i){return{success:!1,error:i instanceof Error?i.message:String(i)}}}function X(a,t){const r=(t==null?void 0:t.mode)??"memory";try{const i=e.join(a,".claude"),s=e.join(i,"settings.local.json");y.existsSync(i)||y.mkdirSync(i,{recursive:!0});let o={};if(y.existsSync(s))try{const c=y.readFileSync(s,"utf8");o=JSON.parse(c)}catch{console.warn(`Warning: Could not parse ${s}, will create new file`)}o.permissions||(o.permissions={}),o.permissions.allow||(o.permissions.allow=[]);const n=["Skill(codeyam-memory)","Skill(codeyam-new-rule)","Bash(codeyam)","Bash(codeyam:*)","Read(.codeyam/**)","Edit(.codeyam/**)","Write(.codeyam/**)","Glob(.codeyam/**)"],u=["Skill(codeyam-setup)","Skill(codeyam-sim)","Skill(codeyam-debug)","Skill(codeyam-test)","Skill(codeyam-verify)","Skill(codeyam-dev-mode)","Read(/tmp/**)","Edit(/tmp/**)","Write(/tmp/**)","Glob(/tmp/**)","Bash(npm install:*)","Bash(npm run:*)","Bash(npx:*)","Bash(node:*)","Bash(cp:*)","Bash(mkdir:*)","Bash(chmod:*)","Bash(rm:*)","Bash(curl:*)","Bash(sleep:*)","Bash(echo:*)","Bash(grep:*)","Bash(python3:*)","Bash(cat:*)","Bash(printf:*)","Bash(ls:*)"],p=["Skill(codeyam-editor)","Bash(git:*)","Edit(**)","Write(**)"],w=r==="editor"||(t==null?void 0:t.editorMode)===!0;let l;if(r==="full"?l=[...n,...u]:r==="editor"?l=[...n,...p,...u]:l=n,w&&r!=="editor")for(const c of[...p,...u])l.includes(c)||l.push(c);let j=!1;for(const c of l)o.permissions.allow.includes(c)||(o.permissions.allow.push(c),j=!0);if(w){o.hooks||(o.hooks={});const c='test -f "$CLAUDE_PROJECT_DIR"/.codeyam/bin/editor-step-hook.py && python3 "$CLAUDE_PROJECT_DIR"/.codeyam/bin/editor-step-hook.py || true';for(const f of["PostToolUse","Stop","UserPromptSubmit"]){const d=o.hooks[f]||[];d.some(S=>{var k;return(k=S.hooks)==null?void 0:k.some(C=>{var $;return($=C.command)==null?void 0:$.includes("editor-step-hook")})})||(d.push({hooks:[{type:"command",command:c,timeout:5}]}),o.hooks[f]=d,j=!0)}}return j&&y.writeFileSync(s,JSON.stringify(o,null,2),"utf8"),!0}catch(i){return console.warn(`Warning: Could not configure Claude Code settings: ${i.message}`),!1}}function Z(a){return y.existsSync(a)?y.readFileSync(a,"utf8").split(`
2
2
  `).map(r=>r.trim()).filter(r=>r&&!r.startsWith("#")).map(r=>r.startsWith("/")?r.slice(1):r):[]}function ee(a){const t=[];function r(i){const s=e.join(i,".gitignore");if(y.existsSync(s)){const o=Z(s),n=e.relative(a,i),u=o.map(p=>n?e.join(n,p):p);t.push(...u)}try{const o=y.readdirSync(i,{withFileTypes:!0});for(const n of o)n.isDirectory()&&n.name!=="node_modules"&&n.name!==".git"&&n.name!=="dist"&&n.name!=="build"&&r(e.join(i,n.name))}catch{}}return r(a),t}function te(a){let t=a.replace(/\/$/,"");const r=t.startsWith("**/");r&&(t=t.slice(3));const i=t.startsWith("/");return i&&(t=t.slice(1)),t=t.replace(/[.+^${}()|[\]\\*?]/g,"\\$&"),t=t.replace(/\\\*\\\*/g,".*").replace(/\\\*/g,"[^/]*").replace(/\\\?/g,"."),i&&!r?`^${t}(/.*)?$`:`^(.*/)?${t}(/.*)?$`}function oe(){return["^(.*/)?node_modules/.*$","^(.*/)?dist/.*$","^(.*/)?build/.*$","^(.*/)?\\.next/.*$","^(.*/)?out/.*$","^(.*/)?\\.cache/.*$","^(.*/)?__tests__/.*$","^(.*/)?__mocks__/.*$","^(.*/)?.+\\.test\\.(ts|tsx|js|jsx)$","^(.*/)?.+\\.spec\\.(ts|tsx|js|jsx)$","^(.*/)?test/.*$","^(.*/)?tests/.*$","^(.*/)?__test","^(.*/)?\\.git/.*$","^(.*/)?coverage/.*$","^(.*/)?\\.nyc_output/.*$","^(.*/)?\\.vscode/.*$","^(.*/)?\\.idea/.*$","^(.*/)?\\.DS_Store$"]}function ie(a){const t=oe();try{const i=ee(a).filter(o=>o.trim().length>0).map(o=>te(o)),s=[...t,...i];return Array.from(new Set(s))}catch(r){return console.warn("Failed to load gitignore patterns:",r),t}}const tt={command:"init",describe:"Initialize a project for CodeYam CLI analysis",builder:{force:{type:"boolean",alias:"f",describe:"Force initialization even if .codeyam already exists",default:!1},"keep-server":{type:"boolean",describe:"Skip stopping the running CodeYam server (use when running inside the editor)",default:!1}},handler:async a=>{_("Initializing CodeYam CLI project");let t=I();if(t&&!a.force){b("Project already initialized. Use --force to reinitialize.");return}if(t||(t=process.cwd()),W(t)){v("Cannot initialize CodeYam in your home directory or filesystem root."),v("Please run codeyam init from inside a project directory.");return}M(t);const{running:r}=O();r&&!a["keep-server"]&&(T()?b("CodeYam server stopped"):v("Failed to stop CodeYam server - it may have already stopped"));const i=e.join(t,".codeyam"),s=e.join(i,"config.json"),o=new B;try{o.start("Setting up project scaffolding..."),await m.mkdir(i,{recursive:!0}),await ae(t),o.succeed("Project scaffolding ready");let n=H(t);try{const d=JSON.parse(y.readFileSync(s,"utf8"));d.projectSlug&&!d.projectSlug.startsWith("local-")&&(n=d.projectSlug)}catch{}const u=re(t);let p=[];try{p=U(t)}catch{}if(p.length>0){const d=p.map(h=>`${h.path==="."?"Root":h.path} (${h.framework})`).join(", ");E(`Found ${p.length} web application${p.length>1?"s":""}: ${d}`)}o.start("Configuring project...");const w=A(s),l={projectSlug:n,packageManager:u,webapps:p,environmentVariables:[],createdAt:new Date().toISOString(),...w};await m.writeFile(s,JSON.stringify(l,null,2));const j=G();if(!y.existsSync(j)){const d=q(j);await Y(d)}if(!await R(()=>z())){o.fail("Environment validation failed");return}try{const{project:d}=await N({slug:n,packageManager:u,unapprovedPaths:ie(t),webapps:p});o.succeed("Project configured"),o.start("Installing Claude Code skills...");const h=!!a["keep-server"],S=await Q(t,{mode:h?"editor":"memory",editorMode:h}),{branch:k}=await J(d);l.branchId=k.id,await m.writeFile(s,JSON.stringify(l,null,2)),X(t,{mode:h?"editor":"memory",editorMode:h}),S.success?o.succeed("Claude Code skills installed"):o.warn("Could not install skills");try{a["keep-server"]?await P({projectSlug:n,metadataUpdate:{editorMode:!0,labs:{simulations:!0}}}):await P({projectSlug:n,metadataUpdate:{labs:{simulations:!1}}})}catch{}l.aiMode="interactive"}catch(d){o.fail("Failed to create project"),v(d.message);return}const f=p.length>0?`, ${p.map(d=>d.framework).join(", ")}`:"";console.log(),b(`✨ Initialized ${n} (${u}${f})`),a.autoInit||(console.log(),console.log(x.bold(' Run "codeyam" to start the dashboard')),console.log(' Run "codeyam --help" for all commands'))}catch(n){o.fail("Failed to initialize project"),v(n.message),process.exit(1)}}};function re(a){return y.existsSync(e.join(a,"pnpm-lock.yaml"))?"pnpm":y.existsSync(e.join(a,"yarn.lock"))?"yarn":(y.existsSync(e.join(a,"package-lock.json")),"npm")}const D=[".codeyam/db.sqlite3",".codeyam/db.sqlite3-wal",".codeyam/db.sqlite3-shm",".codeyam/secrets.json",".codeyam/server.json",".codeyam/server-state.json",".codeyam/queue.json",".codeyam/active-scenario.json",".codeyam/editor-step.json",".codeyam/editor-user-prompt.txt",".codeyam/claude-session-id.txt",".codeyam/editor-mode-context.md",".codeyam/dev-mode-context.md",".codeyam/logs/",".codeyam/llm-calls/",".codeyam/captures/",".codeyam/results/",".codeyam/tmp/",".codeyam/rules/",".codeyam/bin/",".codeyam/docs/"];async function ae(a){const t=e.join(a,".gitignore");let r="";try{r=await m.readFile(t,"utf8")}catch{}const i=r.split(`
3
3
  `),s=i.findIndex(n=>n.trim()===".codeyam"||n.trim()==="/.codeyam");if(s!==-1){const n=s>0&&i[s-1].trim().startsWith("# CodeYam local files")?s-1:s;i.splice(n,s-n+1),r=i.join(`
4
4
  `)}if(!D.some(n=>i.some(u=>u.trim()===n))){const n=`