devchain-cli 0.24.0 → 0.24.2
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/README.md +1 -4
- package/dist/build-info.json +2 -2
- package/dist/cli.js +66 -11
- package/dist/host-install/devchain-host-bootstrap.tgz +0 -0
- package/dist/host-install/pins.json +31 -2
- package/dist/lib/exclusive-run.js +51 -3
- package/dist/lib/git-owner.js +284 -0
- package/dist/lib/host-install.js +19 -151
- package/dist/lib/local-api.js +175 -0
- package/dist/server/common/config/env.config.d.ts +3 -0
- package/dist/server/common/config/env.config.js +1 -0
- package/dist/server/common/config/env.config.js.map +1 -1
- package/dist/server/common/config/host-image.json +3 -3
- package/dist/server/common/constants/syncthing-markers.d.ts +1 -0
- package/dist/server/common/constants/syncthing-markers.js +6 -1
- package/dist/server/common/constants/syncthing-markers.js.map +1 -1
- package/dist/server/common/filesystem/vm-home-path.d.ts +11 -0
- package/dist/server/common/filesystem/vm-home-path.js +48 -0
- package/dist/server/common/filesystem/vm-home-path.js.map +1 -0
- package/dist/server/common/process-ids-env.d.ts +1 -0
- package/dist/server/common/process-ids-env.js +13 -0
- package/dist/server/common/process-ids-env.js.map +1 -0
- package/dist/server/common/test/api-test-app.d.ts +12 -0
- package/dist/server/common/test/api-test-app.js +76 -0
- package/dist/server/common/test/api-test-app.js.map +1 -0
- package/dist/server/common/test/app-bootstrap.helper.js +8 -1
- package/dist/server/common/test/app-bootstrap.helper.js.map +1 -1
- package/dist/server/common/test/fake-bootstrap.server.js +3 -2
- package/dist/server/common/test/fake-bootstrap.server.js.map +1 -1
- package/dist/server/common/test/fake-docker-engine.server.d.ts +24 -6
- package/dist/server/common/test/fake-docker-engine.server.js +123 -25
- package/dist/server/common/test/fake-docker-engine.server.js.map +1 -1
- package/dist/server/common/test/fake-proxmox.server.js +4 -4
- package/dist/server/common/test/fake-ssh.server.js +6 -6
- package/dist/server/common/test/fake-ssh.server.js.map +1 -1
- package/dist/server/common/test/test-database.helper.d.ts +6 -0
- package/dist/server/common/test/test-database.helper.js +29 -0
- package/dist/server/common/test/test-database.helper.js.map +1 -0
- package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.d.ts +1 -0
- package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js +9 -3
- package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/services/mobile-transcript-projection.d.ts +6 -0
- package/dist/server/modules/cloud-tunnel/services/mobile-transcript-projection.js +88 -0
- package/dist/server/modules/cloud-tunnel/services/mobile-transcript-projection.js.map +1 -0
- package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.js +7 -1
- package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.js.map +1 -1
- package/dist/server/modules/core/controllers/docker-archive.d.ts +9 -2
- package/dist/server/modules/core/controllers/docker-archive.js +22 -6
- package/dist/server/modules/core/controllers/docker-archive.js.map +1 -1
- package/dist/server/modules/core/controllers/docker-engine.client.d.ts +2 -1
- package/dist/server/modules/core/controllers/docker-engine.client.js +57 -4
- package/dist/server/modules/core/controllers/docker-engine.client.js.map +1 -1
- package/dist/server/modules/core/controllers/docker-image-metadata.d.ts +248 -0
- package/dist/server/modules/core/controllers/docker-image-metadata.js +161 -0
- package/dist/server/modules/core/controllers/docker-image-metadata.js.map +1 -0
- package/dist/server/modules/core/controllers/docker-settings.d.ts +13 -2
- package/dist/server/modules/core/controllers/docker-settings.js +49 -11
- package/dist/server/modules/core/controllers/docker-settings.js.map +1 -1
- package/dist/server/modules/core/controllers/host-user-identity.d.ts +34 -0
- package/dist/server/modules/core/controllers/host-user-identity.js +23 -0
- package/dist/server/modules/core/controllers/host-user-identity.js.map +1 -0
- package/dist/server/modules/core/controllers/runtime.controller.d.ts +11 -4
- package/dist/server/modules/core/controllers/runtime.controller.js +2 -0
- package/dist/server/modules/core/controllers/runtime.controller.js.map +1 -1
- package/dist/server/modules/file-sync/build-exclusion-suggestions.d.ts +15 -0
- package/dist/server/modules/file-sync/build-exclusion-suggestions.js +402 -0
- package/dist/server/modules/file-sync/build-exclusion-suggestions.js.map +1 -0
- package/dist/server/modules/file-sync/file-sync-auto-fix.dto.d.ts +102 -0
- package/dist/server/modules/file-sync/file-sync-auto-fix.dto.js +22 -0
- package/dist/server/modules/file-sync/file-sync-auto-fix.dto.js.map +1 -0
- package/dist/server/modules/file-sync/file-sync-auto-fix.store.d.ts +12 -0
- package/dist/server/modules/file-sync/file-sync-auto-fix.store.js +73 -0
- package/dist/server/modules/file-sync/file-sync-auto-fix.store.js.map +1 -0
- package/dist/server/modules/file-sync/file-sync-conflicts.d.ts +3 -0
- package/dist/server/modules/file-sync/file-sync-conflicts.js +191 -0
- package/dist/server/modules/file-sync/file-sync-conflicts.js.map +1 -0
- package/dist/server/modules/file-sync/file-sync-ignores.store.d.ts +5 -1
- package/dist/server/modules/file-sync/file-sync-ignores.store.js +39 -8
- package/dist/server/modules/file-sync/file-sync-ignores.store.js.map +1 -1
- package/dist/server/modules/file-sync/file-sync.controller.d.ts +1 -3
- package/dist/server/modules/file-sync/file-sync.controller.js +5 -14
- package/dist/server/modules/file-sync/file-sync.controller.js.map +1 -1
- package/dist/server/modules/file-sync/file-sync.dto.d.ts +220 -1
- package/dist/server/modules/file-sync/file-sync.dto.js +70 -4
- package/dist/server/modules/file-sync/file-sync.dto.js.map +1 -1
- package/dist/server/modules/file-sync/file-sync.module.js +16 -1
- package/dist/server/modules/file-sync/file-sync.module.js.map +1 -1
- package/dist/server/modules/file-sync/file-sync.service.d.ts +20 -5
- package/dist/server/modules/file-sync/file-sync.service.js +173 -37
- package/dist/server/modules/file-sync/file-sync.service.js.map +1 -1
- package/dist/server/modules/file-sync/git-guard.dto.d.ts +61 -0
- package/dist/server/modules/file-sync/git-guard.dto.js +26 -0
- package/dist/server/modules/file-sync/git-guard.dto.js.map +1 -0
- package/dist/server/modules/file-sync/home-git-guard.service.d.ts +4 -2
- package/dist/server/modules/file-sync/home-git-guard.service.js +50 -25
- package/dist/server/modules/file-sync/home-git-guard.service.js.map +1 -1
- package/dist/server/modules/file-sync/host-git-guard.controller.d.ts +10 -0
- package/dist/server/modules/file-sync/host-git-guard.controller.js +64 -0
- package/dist/server/modules/file-sync/host-git-guard.controller.js.map +1 -0
- package/dist/server/modules/file-sync/host-git-index.controller.d.ts +9 -0
- package/dist/server/modules/file-sync/host-git-index.controller.js +67 -0
- package/dist/server/modules/file-sync/host-git-index.controller.js.map +1 -0
- package/dist/server/modules/file-sync/host-sync.controller.d.ts +15 -2
- package/dist/server/modules/file-sync/host-sync.controller.js +122 -14
- package/dist/server/modules/file-sync/host-sync.controller.js.map +1 -1
- package/dist/server/modules/file-sync/ignore-pattern-matcher.d.ts +30 -0
- package/dist/server/modules/file-sync/ignore-pattern-matcher.js +183 -0
- package/dist/server/modules/file-sync/ignore-pattern-matcher.js.map +1 -0
- package/dist/server/modules/file-sync/project-repository.d.ts +2 -0
- package/dist/server/modules/file-sync/project-repository.js +20 -0
- package/dist/server/modules/file-sync/project-repository.js.map +1 -0
- package/dist/server/modules/file-sync/sync-chown.dto.d.ts +99 -0
- package/dist/server/modules/file-sync/sync-chown.dto.js +46 -0
- package/dist/server/modules/file-sync/sync-chown.dto.js.map +1 -0
- package/dist/server/modules/file-sync/sync-chown.service.d.ts +12 -0
- package/dist/server/modules/file-sync/sync-chown.service.js +230 -0
- package/dist/server/modules/file-sync/sync-chown.service.js.map +1 -0
- package/dist/server/modules/file-sync/sync-path-inspection.dto.d.ts +626 -0
- package/dist/server/modules/file-sync/sync-path-inspection.dto.js +108 -0
- package/dist/server/modules/file-sync/sync-path-inspection.dto.js.map +1 -0
- package/dist/server/modules/file-sync/sync-path-inspector.d.ts +12 -0
- package/dist/server/modules/file-sync/sync-path-inspector.js +413 -0
- package/dist/server/modules/file-sync/sync-path-inspector.js.map +1 -0
- package/dist/server/modules/file-sync/syncthing-rest.client.d.ts +1 -1
- package/dist/server/modules/file-sync/syncthing-rest.client.js +9 -4
- package/dist/server/modules/file-sync/syncthing-rest.client.js.map +1 -1
- package/dist/server/modules/file-sync/testing/fake-file-sync.service.d.ts +28 -5
- package/dist/server/modules/file-sync/testing/fake-file-sync.service.js +68 -5
- package/dist/server/modules/file-sync/testing/fake-file-sync.service.js.map +1 -1
- package/dist/server/modules/file-sync/translate-git-ignore-rule.d.ts +3 -0
- package/dist/server/modules/file-sync/translate-git-ignore-rule.js +30 -0
- package/dist/server/modules/file-sync/translate-git-ignore-rule.js.map +1 -0
- package/dist/server/modules/hooks/dtos/hook-event.dto.d.ts +86 -0
- package/dist/server/modules/hooks/dtos/hook-event.dto.js +15 -1
- package/dist/server/modules/hooks/dtos/hook-event.dto.js.map +1 -1
- package/dist/server/modules/hooks/services/hooks-config.service.js +29 -0
- package/dist/server/modules/hooks/services/hooks-config.service.js.map +1 -1
- package/dist/server/modules/hooks/services/hooks.service.d.ts +5 -1
- package/dist/server/modules/hooks/services/hooks.service.js +27 -5
- package/dist/server/modules/hooks/services/hooks.service.js.map +1 -1
- package/dist/server/modules/hooks/services/pending-ask-user-question.service.d.ts +2 -2
- package/dist/server/modules/hooks/services/pending-ask-user-question.service.js +9 -12
- package/dist/server/modules/hooks/services/pending-ask-user-question.service.js.map +1 -1
- package/dist/server/modules/mcp/services/handlers/skill-tools.js +2 -2
- package/dist/server/modules/mcp/services/handlers/skill-tools.js.map +1 -1
- package/dist/server/modules/metrics/services/metrics.service.js +1 -1
- package/dist/server/modules/metrics/services/metrics.service.js.map +1 -1
- package/dist/server/modules/providers/adapters/claude.adapter.d.ts +3 -1
- package/dist/server/modules/providers/adapters/claude.adapter.js +4 -1
- package/dist/server/modules/providers/adapters/claude.adapter.js.map +1 -1
- package/dist/server/modules/remotes/connect-choices.controller.d.ts +9 -0
- package/dist/server/modules/remotes/connect-choices.controller.js +54 -0
- package/dist/server/modules/remotes/connect-choices.controller.js.map +1 -0
- package/dist/server/modules/remotes/connect-choices.dto.d.ts +52 -0
- package/dist/server/modules/remotes/connect-choices.dto.js +19 -0
- package/dist/server/modules/remotes/connect-choices.dto.js.map +1 -0
- package/dist/server/modules/remotes/connect-choices.store.d.ts +12 -0
- package/dist/server/modules/remotes/connect-choices.store.js +95 -0
- package/dist/server/modules/remotes/connect-choices.store.js.map +1 -0
- package/dist/server/modules/remotes/controllers/remotes.controller.d.ts +3 -0
- package/dist/server/modules/remotes/controllers/remotes.controller.js +9 -1
- package/dist/server/modules/remotes/controllers/remotes.controller.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-copy-back.d.ts +1 -0
- package/dist/server/modules/remotes/docker/docker-copy-back.js +70 -31
- package/dist/server/modules/remotes/docker/docker-copy-back.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-handoff.d.ts +5 -3
- package/dist/server/modules/remotes/docker/docker-handoff.js +221 -53
- package/dist/server/modules/remotes/docker/docker-handoff.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-handoff.store.d.ts +5 -0
- package/dist/server/modules/remotes/docker/docker-handoff.store.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-plan-fit.d.ts +4 -1
- package/dist/server/modules/remotes/docker/docker-plan-fit.js +19 -6
- package/dist/server/modules/remotes/docker/docker-plan-fit.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-plan-policy.d.ts +6 -2
- package/dist/server/modules/remotes/docker/docker-plan-policy.js +191 -38
- package/dist/server/modules/remotes/docker/docker-plan-policy.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-plan-source.service.d.ts +55 -6
- package/dist/server/modules/remotes/docker/docker-plan-source.service.js +284 -52
- package/dist/server/modules/remotes/docker/docker-plan-source.service.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-plan.controller.d.ts +2 -1
- package/dist/server/modules/remotes/docker/docker-plan.controller.js +15 -1
- package/dist/server/modules/remotes/docker/docker-plan.controller.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-plan.dto.d.ts +47 -1
- package/dist/server/modules/remotes/docker/docker-plan.dto.js +1 -0
- package/dist/server/modules/remotes/docker/docker-plan.dto.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-plan.service.d.ts +15 -6
- package/dist/server/modules/remotes/docker/docker-plan.service.js +83 -20
- package/dist/server/modules/remotes/docker/docker-plan.service.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-project-compose.d.ts +7 -0
- package/dist/server/modules/remotes/docker/docker-project-compose.js +30 -0
- package/dist/server/modules/remotes/docker/docker-project-compose.js.map +1 -0
- package/dist/server/modules/remotes/dtos/remote.dto.d.ts +2 -0
- package/dist/server/modules/remotes/dtos/remote.dto.js.map +1 -1
- package/dist/server/modules/remotes/git-owner.store.d.ts +13 -0
- package/dist/server/modules/remotes/git-owner.store.js +69 -0
- package/dist/server/modules/remotes/git-owner.store.js.map +1 -0
- package/dist/server/modules/remotes/host/host-docker.controller.d.ts +14 -1
- package/dist/server/modules/remotes/host/host-docker.controller.js +28 -9
- package/dist/server/modules/remotes/host/host-docker.controller.js.map +1 -1
- package/dist/server/modules/remotes/host/host-docker.dto.d.ts +640 -3
- package/dist/server/modules/remotes/host/host-docker.dto.js +66 -9
- package/dist/server/modules/remotes/host/host-docker.dto.js.map +1 -1
- package/dist/server/modules/remotes/host/host-docker.service.d.ts +18 -6
- package/dist/server/modules/remotes/host/host-docker.service.js +184 -81
- package/dist/server/modules/remotes/host/host-docker.service.js.map +1 -1
- package/dist/server/modules/remotes/host/host-ipv4-routes.d.ts +4 -0
- package/dist/server/modules/remotes/host/host-ipv4-routes.js +43 -0
- package/dist/server/modules/remotes/host/host-ipv4-routes.js.map +1 -0
- package/dist/server/modules/remotes/host-image.d.ts +1 -1
- package/dist/server/modules/remotes/host-image.js +1 -1
- package/dist/server/modules/remotes/host-install/host-install-block.d.ts +1 -0
- package/dist/server/modules/remotes/host-install/host-install-block.js +76 -2
- package/dist/server/modules/remotes/host-install/host-install-block.js.map +1 -1
- package/dist/server/modules/remotes/host-install/host-install.service.d.ts +0 -1
- package/dist/server/modules/remotes/host-install/host-install.service.js +9 -26
- package/dist/server/modules/remotes/host-install/host-install.service.js.map +1 -1
- package/dist/server/modules/remotes/operations/attach.operation.d.ts +5 -1
- package/dist/server/modules/remotes/operations/attach.operation.js +41 -5
- package/dist/server/modules/remotes/operations/attach.operation.js.map +1 -1
- package/dist/server/modules/remotes/operations/claim.operation.d.ts +1 -0
- package/dist/server/modules/remotes/operations/claim.operation.js +6 -1
- package/dist/server/modules/remotes/operations/claim.operation.js.map +1 -1
- package/dist/server/modules/remotes/operations/detach.operation.d.ts +4 -1
- package/dist/server/modules/remotes/operations/detach.operation.js +10 -2
- package/dist/server/modules/remotes/operations/detach.operation.js.map +1 -1
- package/dist/server/modules/remotes/operations/docker-import-inventory.store.d.ts +10 -0
- package/dist/server/modules/remotes/operations/docker-import-inventory.store.js +17 -0
- package/dist/server/modules/remotes/operations/docker-import-inventory.store.js.map +1 -1
- package/dist/server/modules/remotes/operations/file-sync-handoff.d.ts +30 -2
- package/dist/server/modules/remotes/operations/file-sync-handoff.js +498 -57
- package/dist/server/modules/remotes/operations/file-sync-handoff.js.map +1 -1
- package/dist/server/modules/remotes/operations/force-sync.operation.d.ts +39 -0
- package/dist/server/modules/remotes/operations/force-sync.operation.js +177 -0
- package/dist/server/modules/remotes/operations/force-sync.operation.js.map +1 -0
- package/dist/server/modules/remotes/operations/git-owner.dto.d.ts +83 -0
- package/dist/server/modules/remotes/operations/git-owner.dto.js +25 -0
- package/dist/server/modules/remotes/operations/git-owner.dto.js.map +1 -0
- package/dist/server/modules/remotes/operations/git-owner.operation.d.ts +35 -0
- package/dist/server/modules/remotes/operations/git-owner.operation.js +216 -0
- package/dist/server/modules/remotes/operations/git-owner.operation.js.map +1 -0
- package/dist/server/modules/remotes/operations/remote-host.client.d.ts +72 -8
- package/dist/server/modules/remotes/operations/remote-host.client.js +162 -28
- package/dist/server/modules/remotes/operations/remote-host.client.js.map +1 -1
- package/dist/server/modules/remotes/operations/remote-operation.dto.d.ts +19 -0
- package/dist/server/modules/remotes/operations/remote-operation.dto.js +5 -1
- package/dist/server/modules/remotes/operations/remote-operation.dto.js.map +1 -1
- package/dist/server/modules/remotes/operations/remote-operation.runner.d.ts +3 -1
- package/dist/server/modules/remotes/operations/remote-operation.runner.js +59 -21
- package/dist/server/modules/remotes/operations/remote-operation.runner.js.map +1 -1
- package/dist/server/modules/remotes/operations/remote-operation.types.d.ts +4 -1
- package/dist/server/modules/remotes/operations/remote-operation.types.js +4 -2
- package/dist/server/modules/remotes/operations/remote-operation.types.js.map +1 -1
- package/dist/server/modules/remotes/operations/remote-operations.controller.d.ts +5 -0
- package/dist/server/modules/remotes/operations/remote-operations.controller.js +56 -0
- package/dist/server/modules/remotes/operations/remote-operations.controller.js.map +1 -1
- package/dist/server/modules/remotes/operations/remote-operations.service.d.ts +16 -1
- package/dist/server/modules/remotes/operations/remote-operations.service.js +155 -5
- package/dist/server/modules/remotes/operations/remote-operations.service.js.map +1 -1
- package/dist/server/modules/remotes/operations/update-logins.operation.d.ts +1 -3
- package/dist/server/modules/remotes/operations/update-logins.operation.js +3 -18
- package/dist/server/modules/remotes/operations/update-logins.operation.js.map +1 -1
- package/dist/server/modules/remotes/ports/remote-health.port.d.ts +2 -0
- package/dist/server/modules/remotes/ports/remote-health.port.js.map +1 -1
- package/dist/server/modules/remotes/remotes.module.js +18 -0
- package/dist/server/modules/remotes/remotes.module.js.map +1 -1
- package/dist/server/modules/remotes/replica/__fixtures__/replica-seed.d.ts +2 -2
- package/dist/server/modules/remotes/replica/__fixtures__/replica-seed.js +2 -13
- package/dist/server/modules/remotes/replica/__fixtures__/replica-seed.js.map +1 -1
- package/dist/server/modules/remotes/services/remote-health.service.js +5 -0
- package/dist/server/modules/remotes/services/remote-health.service.js.map +1 -1
- package/dist/server/modules/remotes/sync/file-sync-failures.service.d.ts +18 -0
- package/dist/server/modules/remotes/sync/file-sync-failures.service.js +157 -0
- package/dist/server/modules/remotes/sync/file-sync-failures.service.js.map +1 -0
- package/dist/server/modules/remotes/sync/file-sync-pattern-preview.service.d.ts +14 -0
- package/dist/server/modules/remotes/sync/file-sync-pattern-preview.service.js +99 -0
- package/dist/server/modules/remotes/sync/file-sync-pattern-preview.service.js.map +1 -0
- package/dist/server/modules/remotes/sync/file-sync-suggestions.service.d.ts +15 -0
- package/dist/server/modules/remotes/sync/file-sync-suggestions.service.js +90 -0
- package/dist/server/modules/remotes/sync/file-sync-suggestions.service.js.map +1 -0
- package/dist/server/modules/remotes/sync/project-file-sync.controller.d.ts +29 -0
- package/dist/server/modules/remotes/sync/project-file-sync.controller.js +160 -0
- package/dist/server/modules/remotes/sync/project-file-sync.controller.js.map +1 -0
- package/dist/server/modules/remotes/sync/remote-file-sync.dto.d.ts +72 -0
- package/dist/server/modules/remotes/sync/remote-file-sync.dto.js +16 -0
- package/dist/server/modules/remotes/sync/remote-file-sync.dto.js.map +1 -0
- package/dist/server/modules/remotes/sync/remote-file-sync.service.d.ts +32 -1
- package/dist/server/modules/remotes/sync/remote-file-sync.service.js +499 -38
- package/dist/server/modules/remotes/sync/remote-file-sync.service.js.map +1 -1
- package/dist/server/modules/remotes/sync/remote-live-sync.service.d.ts +2 -0
- package/dist/server/modules/remotes/sync/remote-live-sync.service.js +26 -12
- package/dist/server/modules/remotes/sync/remote-live-sync.service.js.map +1 -1
- package/dist/server/modules/remotes/vm-user-identity.d.ts +29 -0
- package/dist/server/modules/remotes/vm-user-identity.js +45 -0
- package/dist/server/modules/remotes/vm-user-identity.js.map +1 -0
- package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.js +5 -1
- package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.js.map +1 -1
- package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.d.ts +5 -0
- package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.js +9 -0
- package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.js.map +1 -1
- package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.d.ts +1 -0
- package/dist/server/modules/session-reader/adapters/utils/coalesce-turns.js +1 -0
- package/dist/server/modules/session-reader/adapters/utils/coalesce-turns.js.map +1 -1
- package/dist/server/modules/session-reader/builders/semantic-step-extractor.js +1 -1
- package/dist/server/modules/session-reader/builders/semantic-step-extractor.js.map +1 -1
- package/dist/server/modules/session-reader/controllers/session-reader.controller.js +1 -1
- package/dist/server/modules/session-reader/controllers/session-reader.controller.js.map +1 -1
- package/dist/server/modules/session-reader/data/pricing.json +89 -12
- package/dist/server/modules/session-reader/dtos/unified-message.types.d.ts +1 -0
- package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.d.ts +3 -0
- package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.js +10 -1
- package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.js.map +1 -1
- package/dist/server/modules/session-reader/parsers/claude-turn-evidence.d.ts +11 -0
- package/dist/server/modules/session-reader/parsers/claude-turn-evidence.js +50 -0
- package/dist/server/modules/session-reader/parsers/claude-turn-evidence.js.map +1 -0
- package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.js +8 -2
- package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.js.map +1 -1
- package/dist/server/modules/session-reader/services/bounded-anchor-proof.d.ts +7 -0
- package/dist/server/modules/session-reader/services/bounded-anchor-proof.js +31 -2
- package/dist/server/modules/session-reader/services/bounded-anchor-proof.js.map +1 -1
- package/dist/server/modules/session-reader/services/session-cache.service.d.ts +8 -2
- package/dist/server/modules/session-reader/services/session-cache.service.js +80 -21
- package/dist/server/modules/session-reader/services/session-cache.service.js.map +1 -1
- package/dist/server/modules/session-reader/services/session-reader.service.d.ts +4 -0
- package/dist/server/modules/session-reader/services/session-reader.service.js +40 -8
- package/dist/server/modules/session-reader/services/session-reader.service.js.map +1 -1
- package/dist/server/modules/session-reader/services/transcript-cursor.d.ts +16 -4
- package/dist/server/modules/session-reader/services/transcript-cursor.js +65 -6
- package/dist/server/modules/session-reader/services/transcript-cursor.js.map +1 -1
- package/dist/server/modules/session-reader/services/transcript-serialization.js +2 -1
- package/dist/server/modules/session-reader/services/transcript-serialization.js.map +1 -1
- package/dist/server/modules/session-reader/services/transcript-turn-state.d.ts +4 -0
- package/dist/server/modules/session-reader/services/transcript-turn-state.js +20 -0
- package/dist/server/modules/session-reader/services/transcript-turn-state.js.map +1 -0
- package/dist/server/modules/session-reader/services/transcript-watcher.service.d.ts +4 -1
- package/dist/server/modules/session-reader/services/transcript-watcher.service.js +43 -18
- package/dist/server/modules/session-reader/services/transcript-watcher.service.js.map +1 -1
- package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js +5 -0
- package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js.map +1 -1
- package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.d.ts +36 -17
- package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js +26 -9
- package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js.map +1 -1
- package/dist/server/modules/sessions/services/session-runtime/ensure-mcp-readiness.d.ts +19 -0
- package/dist/server/modules/sessions/services/session-runtime/ensure-mcp-readiness.js +26 -0
- package/dist/server/modules/sessions/services/session-runtime/ensure-mcp-readiness.js.map +1 -0
- package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js +10 -18
- package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js.map +1 -1
- package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.d.ts +5 -1
- package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js +20 -2
- package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js.map +1 -1
- package/dist/server/modules/settings/local/delegates/skills-settings.delegate.d.ts +6 -0
- package/dist/server/modules/settings/local/delegates/skills-settings.delegate.js +26 -0
- package/dist/server/modules/settings/local/delegates/skills-settings.delegate.js.map +1 -1
- package/dist/server/modules/settings/services/settings.service.d.ts +3 -1
- package/dist/server/modules/settings/services/settings.service.js +6 -0
- package/dist/server/modules/settings/services/settings.service.js.map +1 -1
- package/dist/server/modules/skills/adapters/anthropic-skill-source.adapter.js +5 -5
- package/dist/server/modules/skills/adapters/anthropic-skill-source.adapter.js.map +1 -1
- package/dist/server/modules/skills/adapters/github-directory-skill-source.adapter.js +5 -5
- package/dist/server/modules/skills/adapters/github-directory-skill-source.adapter.js.map +1 -1
- package/dist/server/modules/skills/adapters/github-skill-source.base.js +4 -3
- package/dist/server/modules/skills/adapters/github-skill-source.base.js.map +1 -1
- package/dist/server/modules/skills/adapters/local-skill-source.adapter.js +5 -5
- package/dist/server/modules/skills/adapters/local-skill-source.adapter.js.map +1 -1
- package/dist/server/modules/skills/adapters/microsoft-skill-source.adapter.js +5 -5
- package/dist/server/modules/skills/adapters/microsoft-skill-source.adapter.js.map +1 -1
- package/dist/server/modules/skills/adapters/openai-skill-source.adapter.js +5 -5
- package/dist/server/modules/skills/adapters/openai-skill-source.adapter.js.map +1 -1
- package/dist/server/modules/skills/adapters/skill-source.adapter.d.ts +5 -0
- package/dist/server/modules/skills/adapters/skill-sync-temp-cleanup.d.ts +5 -0
- package/dist/server/modules/skills/adapters/skill-sync-temp-cleanup.js +75 -0
- package/dist/server/modules/skills/adapters/skill-sync-temp-cleanup.js.map +1 -0
- package/dist/server/modules/skills/adapters/trailofbits-skill-source.adapter.js +5 -5
- package/dist/server/modules/skills/adapters/trailofbits-skill-source.adapter.js.map +1 -1
- package/dist/server/modules/skills/adapters/vercel-skill-source.adapter.js +5 -5
- package/dist/server/modules/skills/adapters/vercel-skill-source.adapter.js.map +1 -1
- package/dist/server/modules/skills/controllers/skills.controller.js +2 -2
- package/dist/server/modules/skills/controllers/skills.controller.js.map +1 -1
- package/dist/server/modules/skills/services/skill-source-lifecycle.service.d.ts +3 -3
- package/dist/server/modules/skills/services/skill-source-lifecycle.service.js +9 -4
- package/dist/server/modules/skills/services/skill-source-lifecycle.service.js.map +1 -1
- package/dist/server/modules/skills/services/skill-sync.service.d.ts +3 -3
- package/dist/server/modules/skills/services/skill-sync.service.js +32 -6
- package/dist/server/modules/skills/services/skill-sync.service.js.map +1 -1
- package/dist/server/modules/skills/services/skill-sync.types.d.ts +3 -0
- package/dist/server/modules/storage/db/schema.d.ts +2 -2
- package/dist/server/modules/storage/db/schema.js +2 -0
- package/dist/server/modules/storage/db/schema.js.map +1 -1
- package/dist/server/modules/storage/models/domain.models.d.ts +1 -1
- package/dist/server/modules/storage/models/domain.models.js +2 -0
- package/dist/server/modules/storage/models/domain.models.js.map +1 -1
- package/dist/server/modules/teams/storage/teams.store.d.ts +1 -0
- package/dist/server/modules/teams/storage/teams.store.js +19 -3
- package/dist/server/modules/teams/storage/teams.store.js.map +1 -1
- package/dist/server/modules/terminal/gateways/terminal.gateway.d.ts +3 -1
- package/dist/server/modules/terminal/gateways/terminal.gateway.js +9 -4
- package/dist/server/modules/terminal/gateways/terminal.gateway.js.map +1 -1
- package/dist/server/modules/terminal/services/session-turn-signals.d.ts +18 -0
- package/dist/server/modules/terminal/services/session-turn-signals.js +6 -0
- package/dist/server/modules/terminal/services/session-turn-signals.js.map +1 -0
- package/dist/server/modules/terminal/services/terminal-activity.service.d.ts +32 -5
- package/dist/server/modules/terminal/services/terminal-activity.service.js +322 -40
- package/dist/server/modules/terminal/services/terminal-activity.service.js.map +1 -1
- package/dist/server/modules/terminal/services/terminal-io/lifecycle.js +15 -3
- package/dist/server/modules/terminal/services/terminal-io/lifecycle.js.map +1 -1
- package/dist/server/modules/terminal/terminal.module.js +2 -0
- package/dist/server/modules/terminal/terminal.module.js.map +1 -1
- package/dist/server/modules/terminal/utils/ansi-sanitizer.d.ts +0 -1
- package/dist/server/modules/terminal/utils/ansi-sanitizer.js +0 -4
- package/dist/server/modules/terminal/utils/ansi-sanitizer.js.map +1 -1
- package/dist/server/templates/teams-dev.json +14 -14
- package/dist/server/test-setup-node.js +4 -3
- package/dist/server/test-setup-node.js.map +1 -1
- package/dist/server/test-setup.js +7 -0
- package/dist/server/test-setup.js.map +1 -1
- package/dist/server/tsconfig.tsbuildinfo +1 -1
- package/dist/server/ui/assets/{ExternalRichEditor--kNXs-Eb.js → ExternalRichEditor-CIZPhssf.js} +24 -24
- package/dist/server/ui/assets/ReviewDetailPage-winyLSQ7.js +6 -0
- package/dist/server/ui/assets/ReviewsPage-BYKBReMp.js +6 -0
- package/dist/server/ui/assets/index-CiDJX6Hn.js +1191 -0
- package/dist/server/ui/assets/index-f1WOAqXB.css +32 -0
- package/dist/server/ui/assets/useReviewSubscription-v3Cto0y4.js +69 -0
- package/dist/server/ui/index.html +2 -2
- package/dist/templates/teams-dev.json +14 -14
- package/package.json +15 -1
- package/dist/server/modules/reviews/utils/notification-formatter.d.ts +0 -12
- package/dist/server/modules/reviews/utils/notification-formatter.js +0 -60
- package/dist/server/modules/reviews/utils/notification-formatter.js.map +0 -1
- package/dist/server/ui/assets/ReviewDetailPage-DMgP5fKn.js +0 -6
- package/dist/server/ui/assets/ReviewsPage-CkyFUJr6.js +0 -6
- package/dist/server/ui/assets/index-CVUaAlP4.css +0 -32
- package/dist/server/ui/assets/index-CqRufKpA.js +0 -994
- package/dist/server/ui/assets/useReviewSubscription-CU70CzwG.js +0 -69
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{c as ae,u as se,G as ie,g as le,r as p,l as d,j as e,z as te,o as w,I as ce,B as k,a as oe,v as ne,w as pe,x as re,K as me,y as ue,A as o}from"./index-CiDJX6Hn.js";import{N as T,u as he,a as de,b as ge,h as Ne,S as be,w as fe,R as A,k as g,F as O,l as ve,m as z,D as _,n as q,K as xe,x as we,y as De,z as Pe,v as Re}from"./useReviewSubscription-v3Cto0y4.js";/**
|
|
2
|
+
* @license lucide-react v0.545.0 - ISC
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the ISC license.
|
|
5
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/const je=[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]],Ee=ae("git-branch",je),K="review-file-nav",H="review-comment-split";function B(){return e.jsxDEV("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground",children:[e.jsxDEV(O,{className:"h-12 w-12 mb-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:47,columnNumber:7},this),e.jsxDEV("p",{className:"text-lg font-medium",children:"Select a file to view diff"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:48,columnNumber:7},this),e.jsxDEV("p",{className:"text-sm",children:"Choose a file from the left panel"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:49,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:46,columnNumber:5},this)}function Ve(){return e.jsxDEV("div",{className:"flex flex-col h-full",children:[e.jsxDEV("div",{className:"border-b p-4",children:e.jsxDEV("div",{className:"flex items-center gap-4",children:[e.jsxDEV(o,{className:"h-9 w-9"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:60,columnNumber:11},this),e.jsxDEV("div",{className:"flex-1",children:[e.jsxDEV(o,{className:"h-6 w-48 mb-2"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:62,columnNumber:13},this),e.jsxDEV(o,{className:"h-4 w-32"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:63,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:61,columnNumber:11},this),e.jsxDEV(o,{className:"h-6 w-20"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:65,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:59,columnNumber:9},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:58,columnNumber:7},this),e.jsxDEV("div",{className:"flex-1 flex",children:[e.jsxDEV("div",{className:"w-64 border-r p-4 space-y-2",children:Array.from({length:5}).map((r,i)=>e.jsxDEV(o,{className:"h-8 w-full"},i,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:72,columnNumber:13},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:70,columnNumber:9},this),e.jsxDEV("div",{className:"flex-1 p-4",children:e.jsxDEV(o,{className:"h-full w-full"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:76,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:75,columnNumber:9},this),e.jsxDEV("div",{className:"w-80 border-l p-4 space-y-2",children:[e.jsxDEV(o,{className:"h-6 w-24 mb-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:79,columnNumber:11},this),Array.from({length:3}).map((r,i)=>e.jsxDEV(o,{className:"h-16 w-full"},i,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:81,columnNumber:13},this))]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:78,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:69,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:56,columnNumber:5},this)}function Ce(){var F;const r=se(),{reviewId:i}=ie(),G=le(),[l,m]=p.useState(null),[N,D]=p.useState("unified"),P=T({id:K,storage:localStorage}),R=T({id:H,storage:localStorage}),{data:a,isLoading:j,isError:E}=d({queryKey:["review",i],queryFn:()=>we(r,i),enabled:!!i});he(i??null,(a==null?void 0:a.projectId)??null);const u=de(),h=ge(),{data:t=[],isLoading:U}=d({queryKey:["review-files",i,a==null?void 0:a.baseSha,a==null?void 0:a.headSha],queryFn:()=>{if(!(a!=null&&a.projectId)||!a.baseSha||!a.headSha)throw new Error("Review SHAs are not available");return De(r,a.projectId,a.baseSha,a.headSha)},enabled:!!(a!=null&&a.projectId)&&!!(a!=null&&a.baseSha)&&!!(a!=null&&a.headSha)}),{data:V="",isLoading:y,isError:S}=d({queryKey:["review-diff",i,a==null?void 0:a.baseSha,a==null?void 0:a.headSha],queryFn:()=>{if(!(a!=null&&a.projectId)||!a.baseSha||!a.headSha)throw new Error("Review SHAs are not available");return Pe(r,a.projectId,a.baseSha,a.headSha)},enabled:!!(a!=null&&a.projectId)&&!!(a!=null&&a.baseSha)&&!!(a!=null&&a.headSha)&&!!l}),{data:b}=d({queryKey:["review-comments",i],queryFn:()=>Re(r,i),enabled:!!i}),C=((F=b==null?void 0:b.items)==null?void 0:F.filter(s=>s.filePath===l))??[],I=()=>{G("/reviews")},M=s=>{m(s)},Q=p.useCallback(()=>{if(t.length===0)return;const c=((l?t.findIndex(n=>n.path===l):-1)+1)%t.length;m(t[c].path)},[t,l]),J=p.useCallback(()=>{if(t.length===0)return;const s=l?t.findIndex(n=>n.path===l):0,c=s<=0?t.length-1:s-1;m(t[c].path)},[t,l]),L=p.useRef(null),W=p.useCallback(()=>{var s;(s=L.current)==null||s.focusNextComment()},[]),X=p.useCallback(()=>{var s;(s=L.current)==null||s.focusPreviousComment()},[]),{isHelpOpen:Y,closeHelp:Z,openHelp:$}=Ne({enabled:!j&&!E,handlers:{onNextFile:Q,onPreviousFile:J,onNextComment:W,onPreviousComment:X}});if(j)return e.jsxDEV(Ve,{},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:217,columnNumber:12},this);if(E||!a)return e.jsxDEV("div",{className:"flex flex-col items-center justify-center h-full",children:[e.jsxDEV(te,{className:"h-12 w-12 text-destructive mb-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:224,columnNumber:9},this),e.jsxDEV("h2",{className:"text-lg font-medium mb-2",children:"Failed to load review"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:225,columnNumber:9},this),e.jsxDEV("p",{className:"text-muted-foreground mb-4",children:"The review could not be found or there was an error loading it."},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:226,columnNumber:9},this),e.jsxDEV(w,{onClick:I,children:"Back to Reviews"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:229,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:223,columnNumber:7},this);const ee=be[a.status];return e.jsxDEV("div",{className:"flex flex-col h-full",children:[e.jsxDEV("div",{className:"border-b px-4 py-3 bg-card",children:e.jsxDEV("div",{className:"flex items-center gap-4",children:[e.jsxDEV(w,{variant:"ghost",size:"icon",onClick:I,title:"Back to reviews",children:e.jsxDEV(ce,{className:"h-5 w-5"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:242,columnNumber:13},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:241,columnNumber:11},this),e.jsxDEV("div",{className:"flex-1 min-w-0",children:[e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV("h1",{className:"text-lg font-semibold truncate",children:a.title},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:246,columnNumber:15},this),e.jsxDEV(k,{variant:"secondary",className:oe("shrink-0",fe[a.status]),children:ee},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:247,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:245,columnNumber:13},this),e.jsxDEV("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[e.jsxDEV(Ee,{className:"h-4 w-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:252,columnNumber:15},this),e.jsxDEV("span",{children:[a.baseRef,"...",a.headRef]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:253,columnNumber:15},this),a.baseSha&&a.headSha?e.jsxDEV("span",{className:"text-xs",children:["(",a.baseSha.slice(0,7),"...",a.headSha.slice(0,7),")"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:257,columnNumber:17},this):e.jsxDEV("span",{className:"text-xs",children:["(",a.mode==="working_tree"?"working tree":"sha pending",")"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:261,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:251,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:244,columnNumber:11},this),e.jsxDEV("div",{className:"flex items-center gap-2 text-sm text-muted-foreground shrink-0",children:[e.jsxDEV("span",{children:[t.length," files"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:268,columnNumber:13},this),e.jsxDEV(ne,{children:e.jsxDEV(pe,{children:[e.jsxDEV(re,{asChild:!0,children:e.jsxDEV(w,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:$,title:"Keyboard shortcuts",children:e.jsxDEV(me,{className:"h-4 w-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:279,columnNumber:21},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:272,columnNumber:19},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:271,columnNumber:17},this),e.jsxDEV(ue,{children:e.jsxDEV("p",{children:"Keyboard shortcuts (?)"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:283,columnNumber:19},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:282,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:270,columnNumber:15},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:269,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:267,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:240,columnNumber:9},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:239,columnNumber:7},this),e.jsxDEV(A,{orientation:"horizontal",className:"flex-1 min-h-0",id:K,defaultLayout:P.defaultLayout,onLayoutChanged:P.onLayoutChanged,children:[e.jsxDEV(g,{id:"file-nav",defaultSize:"256px",minSize:"150px",maxSize:"40%",children:e.jsxDEV("div",{className:"h-full border-r bg-card overflow-hidden flex flex-col",children:[e.jsxDEV("div",{className:"p-3 border-b shrink-0",children:e.jsxDEV("h2",{className:"text-sm font-medium flex items-center gap-2",children:[e.jsxDEV(O,{className:"h-4 w-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:304,columnNumber:17},this),"Files",t.length>0&&e.jsxDEV(k,{variant:"secondary",className:"text-xs",children:t.length},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:307,columnNumber:19},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:303,columnNumber:15},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:302,columnNumber:13},this),e.jsxDEV("div",{className:"flex-1 min-h-0",children:e.jsxDEV(ve,{files:t,selectedFile:l,onSelectFile:M,isLoading:U},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:314,columnNumber:15},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:313,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:301,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:300,columnNumber:9},this),e.jsxDEV(z,{withHandle:!0},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:324,columnNumber:9},this),e.jsxDEV(g,{id:"diff-comments",defaultSize:"80%",children:N==="split"?e.jsxDEV(A,{orientation:"vertical",className:"h-full",id:H,defaultLayout:R.defaultLayout,onLayoutChanged:R.onLayoutChanged,children:[e.jsxDEV(g,{id:"diff-panel",defaultSize:"70%",minSize:"30%",children:e.jsxDEV("div",{className:"h-full min-w-0 bg-background overflow-auto",children:l?e.jsxDEV(_,{diff:V,filePath:l,isLoading:y,error:S?"Failed to load diff":null,viewType:N,onViewTypeChange:D,projectId:a==null?void 0:a.projectId,comments:C,onAddComment:async(s,c,n,f,v,x)=>{await u.mutateAsync({reviewId:i,content:f,commentType:v,filePath:l,lineStart:s,lineEnd:c,side:n,targetAgentIds:x})},onReplyToComment:async(s,c)=>{await h.mutateAsync({reviewId:i,parentId:s,content:c})},isSubmittingComment:u.isPending||h.isPending},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:340,columnNumber:21},this):e.jsxDEV(B,{},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:380,columnNumber:21},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:338,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:337,columnNumber:15},this),e.jsxDEV(z,{withHandle:!0},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:384,columnNumber:15},this),e.jsxDEV(g,{id:"comment-panel",defaultSize:"30%",minSize:"15%",children:e.jsxDEV("div",{className:"h-full bg-card overflow-hidden border-t",children:e.jsxDEV(q,{reviewId:i,projectId:a==null?void 0:a.projectId,selectedFile:l,onCommentSelect:s=>{s.filePath&&m(s.filePath)}},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:387,columnNumber:19},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:386,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:385,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:330,columnNumber:13},this):e.jsxDEV("div",{className:"h-full grid grid-cols-[1fr_320px]",children:[e.jsxDEV("div",{className:"min-w-0 bg-background overflow-auto",children:l?e.jsxDEV(_,{diff:V,filePath:l,isLoading:y,error:S?"Failed to load diff":null,viewType:N,onViewTypeChange:D,projectId:a==null?void 0:a.projectId,comments:C,onAddComment:async(s,c,n,f,v,x)=>{await u.mutateAsync({reviewId:i,content:f,commentType:v,filePath:l,lineStart:s,lineEnd:c,side:n,targetAgentIds:x})},onReplyToComment:async(s,c)=>{await h.mutateAsync({reviewId:i,parentId:s,content:c})},isSubmittingComment:u.isPending||h.isPending},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:405,columnNumber:19},this):e.jsxDEV(B,{},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:443,columnNumber:19},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:403,columnNumber:15},this),e.jsxDEV("div",{className:"bg-card overflow-hidden border-l",children:e.jsxDEV(q,{reviewId:i,projectId:a==null?void 0:a.projectId,selectedFile:l,onCommentSelect:s=>{s.filePath&&m(s.filePath)}},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:447,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:446,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:402,columnNumber:13},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:327,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:292,columnNumber:7},this),e.jsxDEV(xe,{open:Y,onOpenChange:Z},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:464,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewDetailPage.tsx",lineNumber:237,columnNumber:5},this)}export{Ce as ReviewDetailPage};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{c as cs,r as n,j as e,C as rs,a as pe,b as ms,d as ps,e as us,M as hs,B as ue,f as ds,u as Se,g as gs,h as vs,i as Ns,k as fs,l as E,m as bs,n as ke,F as ws,o as X,H as xs,S as Te,p as Ie,q as Fe,s as Ae,t as ce,R as Ps,T as Rs,v as Es,w as js,x as Ds,K as Vs,y as Cs,z as ys,A as j,D as Ss,E as ks}from"./index-CiDJX6Hn.js";import{g as Ts,i as re,C as Is,N as qe,u as Fs,a as As,b as qs,c as Ls,d as Ms,e as zs,f as me,h as Ks,T as Le,j as K,R as Me,k as Z,F as he,l as Hs,m as ze,D as Ke,n as He,K as _s,o as Os,p as Bs,q as Gs,r as Qs,s as Ws,t as $s,v as Us}from"./useReviewSubscription-v3Cto0y4.js";/**
|
|
2
|
+
* @license lucide-react v0.545.0 - ISC
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the ISC license.
|
|
5
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/const Ys=[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]],_e=cs("git-commit-horizontal",Ys);function Oe({comments:m,selectedCommentId:x,isExpanded:v,onToggleExpand:ee,onReply:se,onResolve:a,onDelete:A,onEdit:ie,onApplySuggestion:p,isReplying:H=!1,isResolving:q=!1,isDeleting:ae=!1,isEditing:_=!1,isApplyingSuggestion:O=!1,getSessionForAgent:o,onOpenTerminal:S,className:c}){const w=n.useRef(null),P=n.useMemo(()=>m.filter(r=>r.filePath===null),[m]),D=n.useMemo(()=>Ts(P),[P]),N=n.useMemo(()=>P.filter(r=>r.parentId===null).sort((r,f)=>{const V=D.get(r.id)??[],C=D.get(f.id)??[],L=re({comment:r,replies:V}),s=re({comment:f,replies:C});if(L!==s)return L?-1:1;if(r.status!==f.status){if(r.status==="open")return-1;if(f.status==="open")return 1}return new Date(f.createdAt).getTime()-new Date(r.createdAt).getTime()}),[P,D]);return n.useEffect(()=>{x&&w.current&&v&&w.current.scrollIntoView({behavior:"smooth",block:"nearest"})},[x,v]),N.length===0?null:e.jsxDEV(rs,{open:v,onOpenChange:ee,className:pe("border-b bg-card",c),"data-testid":"review-comments-section",children:[e.jsxDEV(ms,{asChild:!0,children:e.jsxDEV("button",{type:"button",className:"flex items-center gap-2 px-4 py-3 border-b bg-muted/30 w-full text-left hover:bg-muted/50 transition-colors","aria-label":v?"Collapse review comments":"Expand review comments",children:[v?e.jsxDEV(ps,{className:"h-4 w-4 text-muted-foreground","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/ReviewCommentsSection.tsx",lineNumber:140,columnNumber:13},this):e.jsxDEV(us,{className:"h-4 w-4 text-muted-foreground","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/ReviewCommentsSection.tsx",lineNumber:142,columnNumber:13},this),e.jsxDEV("h3",{className:"font-medium text-sm flex items-center gap-2",id:"review-comments-heading",children:[e.jsxDEV(hs,{className:"h-4 w-4","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/ReviewCommentsSection.tsx",lineNumber:146,columnNumber:13},this),"Review Comments",e.jsxDEV(ue,{variant:"secondary",className:"text-xs","aria-label":`${N.length} comments`,children:N.length},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/ReviewCommentsSection.tsx",lineNumber:148,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/ReviewCommentsSection.tsx",lineNumber:145,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/ReviewCommentsSection.tsx",lineNumber:134,columnNumber:9},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/ReviewCommentsSection.tsx",lineNumber:133,columnNumber:7},this),e.jsxDEV(ds,{children:e.jsxDEV("div",{className:"p-4 space-y-4",role:"region","aria-labelledby":"review-comments-heading",children:N.map(r=>{const f=D.get(r.id)??[],V=re({comment:r,replies:f}),C=x===r.id;return e.jsxDEV("div",{ref:C?w:void 0,className:pe("transition-all duration-200",C&&"ring-2 ring-primary ring-offset-2 rounded-lg"),"data-comment-id":r.id,children:e.jsxDEV(Is,{comment:r,replies:f,isPending:V,getSessionForAgent:o,onOpenTerminal:S,onReply:se,onResolve:a,onDelete:A,onEdit:ie,onApplySuggestion:p,isReplying:H,isResolving:q,isDeleting:ae,isEditing:_,isApplyingSuggestion:O},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/ReviewCommentsSection.tsx",lineNumber:178,columnNumber:17},this)},r.id,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/ReviewCommentsSection.tsx",lineNumber:168,columnNumber:15},this)})},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/ReviewCommentsSection.tsx",lineNumber:161,columnNumber:9},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/ReviewCommentsSection.tsx",lineNumber:160,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/ReviewCommentsSection.tsx",lineNumber:126,columnNumber:5},this)}const Be="review-file-nav",Ge="review-comment-split";function Js(){return e.jsxDEV("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground",children:[e.jsxDEV(he,{className:"h-12 w-12 mb-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:88,columnNumber:7},this),e.jsxDEV("p",{className:"text-lg font-medium",children:"No changes to review"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:89,columnNumber:7},this),e.jsxDEV("p",{className:"text-sm",children:"Your working tree is clean"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:90,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:87,columnNumber:5},this)}function Qe(){return e.jsxDEV("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground",children:[e.jsxDEV(he,{className:"h-12 w-12 mb-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:99,columnNumber:7},this),e.jsxDEV("p",{className:"text-lg font-medium",children:"Select a file to view diff"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:100,columnNumber:7},this),e.jsxDEV("p",{className:"text-sm",children:"Choose a file from the left panel"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:101,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:98,columnNumber:5},this)}function Xs(){return e.jsxDEV("div",{className:"flex flex-col h-full",children:[e.jsxDEV("div",{className:"border-b p-4",children:e.jsxDEV("div",{className:"flex items-center gap-4",children:[e.jsxDEV(j,{className:"h-6 w-32"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:112,columnNumber:11},this),e.jsxDEV(j,{className:"h-9 w-40"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:113,columnNumber:11},this),e.jsxDEV(j,{className:"h-9 w-48"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:114,columnNumber:11},this),e.jsxDEV("div",{className:"flex-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:115,columnNumber:11},this),e.jsxDEV(j,{className:"h-9 w-24"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:116,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:111,columnNumber:9},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:110,columnNumber:7},this),e.jsxDEV("div",{className:"flex-1 flex",children:[e.jsxDEV("div",{className:"w-64 border-r p-4 space-y-2",children:Array.from({length:5}).map((m,x)=>e.jsxDEV(j,{className:"h-8 w-full"},x,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:123,columnNumber:13},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:121,columnNumber:9},this),e.jsxDEV("div",{className:"flex-1 p-4",children:e.jsxDEV(j,{className:"h-full w-full"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:127,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:126,columnNumber:9},this),e.jsxDEV("div",{className:"w-80 border-l p-4 space-y-2",children:[e.jsxDEV(j,{className:"h-6 w-24 mb-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:130,columnNumber:11},this),Array.from({length:3}).map((m,x)=>e.jsxDEV(j,{className:"h-16 w-full"},x,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:132,columnNumber:13},this))]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:129,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:120,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:108,columnNumber:5},this)}function si(){var Ce;const m=Se(),x=gs(),v=vs(),{toast:ee}=Ns(),{selectedProject:se,selectedProjectId:a,projectsLoading:A}=fs(),ie=Se(),[p,H]=n.useState("working-tree"),[q,ae]=n.useState("all"),[_,O]=n.useState("HEAD"),[o,S]=n.useState(null),[c,w]=n.useState(null),[P,D]=n.useState("unified"),[N,r]=n.useState(null),[f,V]=n.useState(!0),C=qe({id:Be,storage:localStorage}),L=qe({id:Ge,storage:localStorage}),{data:s,isLoading:We}=E({queryKey:["active-review",a],queryFn:()=>me(m,a),enabled:!!a});Fs((s==null?void 0:s.id)??null,a??null);const{data:b,isLoading:de,isError:$e,refetch:ge}=E({queryKey:["working-tree",a,q],queryFn:()=>Gs(m,a,q),enabled:!!a&&p==="working-tree",refetchInterval:5e3}),{data:k,isLoading:Ue,isError:Ye}=E({queryKey:["commit-diff",a,o==null?void 0:o.sha],queryFn:()=>Qs(m,a,o.sha),enabled:!!a&&p==="commit"&&!!o}),{data:y=[]}=E({queryKey:["commits",a],queryFn:()=>Ws(m,a,{limit:50}),enabled:!!a});n.useEffect(()=>{if(s){const i=s.mode==="working_tree"?"working-tree":"commit";if(H(i),O(s.baseRef),s.mode==="commit"&&y.length>0){const l=y.find(t=>t.sha===s.headRef);l&&S(l)}}},[s,y]);const{data:Je=[]}=E({queryKey:["branches",a],queryFn:()=>$s(m,a),enabled:!!a}),{data:u}=E({queryKey:["review-comments",s==null?void 0:s.id],queryFn:()=>Us(m,s.id),enabled:!!(s!=null&&s.id)}),{data:ve={}}=E({queryKey:["agent-presence",a],queryFn:()=>Ss(a,ie),enabled:!!a,refetchInterval:1e4}),{data:Ne=[]}=E({queryKey:["active-sessions",a],queryFn:()=>ks(a,m),enabled:!!a,refetchInterval:1e4}),B=n.useCallback(i=>{const l=ve[i];return l!=null&&l.sessionId?Ne.find(t=>t.id===l.sessionId)??null:null},[ve,Ne]),G=bs(),Q=ke({mutationFn:()=>Bs(m,s.id,s.version),onSuccess:()=>{v.invalidateQueries({queryKey:["active-review",a]}),v.invalidateQueries({queryKey:["review-comments"]}),ee({title:"Review closed",description:"The review has been closed successfully."})}}),M=ke({mutationFn:async()=>{const i=p==="commit"&&o?`Review: ${o.sha.slice(0,7)}`:"Pre-commit review",l=p==="commit"&&o?`${o.sha}^`:_,t=p==="commit"&&o?o.sha:"HEAD";return Os(m,{projectId:a,title:i,mode:p==="working-tree"?"working_tree":"commit",baseRef:l,headRef:t,status:"draft"})},onSuccess:i=>{v.setQueryData(["active-review",a],i)}}),le=As(),z=qs(),R=Ls(),T=Ms(),I=zs(),fe=n.useCallback(async(i,l,t,g,d,os)=>{let J=s==null?void 0:s.id;if(!J)try{J=(await M.mutateAsync()).id}catch(ye){const oe=await me(m,a);if(!oe)throw ye;v.setQueryData(["active-review",a],oe),J=oe.id}await le.mutateAsync({reviewId:J,content:g,commentType:d,filePath:c,lineStart:i,lineEnd:l,side:t,targetAgentIds:os})},[s==null?void 0:s.id,M,le,v,a,c,m]),W=n.useCallback(async(i,l)=>{let t=s==null?void 0:s.id;if(!t)try{t=(await M.mutateAsync()).id}catch(g){const d=await me(m,a);if(!d)throw g;v.setQueryData(["active-review",a],d),t=d.id}await z.mutateAsync({reviewId:t,parentId:i,content:l})},[s==null?void 0:s.id,M,z,v,a,m]),be=n.useCallback(i=>{if((s==null?void 0:s.mode)==="commit"&&(o==null?void 0:o.sha)!==s.headRef){const l=y.find(t=>t.sha===s.headRef);l&&S(l)}i.filePath?(w(i.filePath),r(i.commentId)):(V(!0),r(i.commentId))},[s==null?void 0:s.mode,s==null?void 0:s.headRef,o==null?void 0:o.sha,y]),we=n.useCallback(()=>{r(null)},[]),xe=n.useCallback(async(i,l,t)=>{s!=null&&s.id&&await R.mutateAsync({reviewId:s.id,commentId:i,status:l,version:t})},[s==null?void 0:s.id,R]),Pe=n.useCallback(async(i,l)=>{if(!(s!=null&&s.id)||!(u!=null&&u.items))return;const t=u.items.find(g=>g.id===i);t&&await R.mutateAsync({reviewId:s.id,commentId:i,status:l,version:t.version})},[s==null?void 0:s.id,u==null?void 0:u.items,R]),$=n.useCallback(async i=>{s!=null&&s.id&&await T.mutateAsync({reviewId:s.id,commentId:i})},[s==null?void 0:s.id,T]),U=n.useCallback(async(i,l,t)=>{s!=null&&s.id&&await I.mutateAsync({reviewId:s.id,commentId:i,content:l,version:t})},[s==null?void 0:s.id,I]),Re=M.isPending||le.isPending||z.isPending,h=n.useMemo(()=>{if(p==="working-tree"&&b){const{staged:i,unstaged:l,untracked:t}=b.changes,g=new Map;return i.forEach(d=>g.set(d.path,d)),l.forEach(d=>{g.has(d.path)||g.set(d.path,d)}),(t||[]).forEach(d=>{g.has(d)||g.set(d,{path:d,status:"added",additions:0,deletions:0})}),Array.from(g.values())}return p==="commit"&&k?k.changedFiles:[]},[p,b,k]),Ee=p==="working-tree"?(b==null?void 0:b.diff)??"":(k==null?void 0:k.diff)??"",je=((Ce=u==null?void 0:u.items)==null?void 0:Ce.filter(i=>i.filePath===c))??[],De=c?h.find(i=>i.path===c):void 0,Xe=i=>{H(i),w(null),i==="commit"&&S(null)},Ze=i=>{const l=y.find(t=>t.sha===i);S(l??null),w(null)},te=i=>{w(i)},es=n.useCallback(()=>{if(h.length===0)return;const l=((c?h.findIndex(t=>t.path===c):-1)+1)%h.length;w(h[l].path)},[h,c]),ss=n.useCallback(()=>{if(h.length===0)return;const i=c?h.findIndex(t=>t.path===c):0,l=i<=0?h.length-1:i-1;w(h[l].path)},[h,c]),Ve=n.useRef(null),is=n.useCallback(()=>{var i;(i=Ve.current)==null||i.focusNextComment()},[]),as=n.useCallback(()=>{var i;(i=Ve.current)==null||i.focusPreviousComment()},[]),{isHelpOpen:ls,closeHelp:ts,openHelp:ns}=Ks({enabled:!A,handlers:{onNextFile:es,onPreviousFile:ss,onNextComment:is,onPreviousComment:as}});if(!A&&!se)return e.jsxDEV("div",{className:"flex flex-col items-center justify-center h-full py-16",children:[e.jsxDEV(ws,{className:"h-12 w-12 text-muted-foreground mb-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:607,columnNumber:9},this),e.jsxDEV("h2",{className:"text-lg font-medium mb-2",children:"No project selected"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:608,columnNumber:9},this),e.jsxDEV("p",{className:"text-muted-foreground mb-4",children:"Select a project to view code reviews."},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:609,columnNumber:9},this),e.jsxDEV(X,{onClick:()=>x("/projects"),children:"Go to Projects"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:610,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:606,columnNumber:7},this);if(A||We)return e.jsxDEV(Xs,{},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:617,columnNumber:12},this);const Y=p==="working-tree"?de:Ue,F=p==="working-tree"?$e:Ye,ne=h.length>0;return e.jsxDEV("div",{className:"flex flex-col h-full",children:[e.jsxDEV("div",{className:"border-b px-4 py-3 bg-card",children:e.jsxDEV("div",{className:"flex items-center gap-4",children:[e.jsxDEV("div",{className:"flex items-center gap-1",children:[e.jsxDEV("h1",{className:"text-lg font-semibold",children:"Code Review"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:631,columnNumber:13},this),e.jsxDEV(xs,{featureId:"reviews"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:632,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:630,columnNumber:11},this),e.jsxDEV(Le,{type:"single",value:p,onValueChange:i=>i&&Xe(i),className:"border rounded-md",children:[e.jsxDEV(K,{value:"working-tree",className:"text-xs px-3",children:"Working Changes"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:642,columnNumber:13},this),e.jsxDEV(K,{value:"commit",className:"text-xs px-3",children:[e.jsxDEV(_e,{className:"h-3.5 w-3.5 mr-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:646,columnNumber:15},this),"Commit"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:645,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:636,columnNumber:11},this),p==="working-tree"?e.jsxDEV(e.Fragment,{children:[e.jsxDEV(Te,{value:_,onValueChange:O,children:[e.jsxDEV(Ie,{className:"w-36","aria-label":"Select base reference",children:e.jsxDEV(Fe,{placeholder:"Base"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:657,columnNumber:19},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:656,columnNumber:17},this),e.jsxDEV(Ae,{children:[e.jsxDEV(ce,{value:"HEAD",children:"HEAD"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:660,columnNumber:19},this),Je.filter(i=>["main","master"].includes(i.name)).map(i=>e.jsxDEV(ce,{value:i.name,children:i.name},i.name,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:664,columnNumber:23},this))]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:659,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:655,columnNumber:15},this),e.jsxDEV(Le,{type:"single",value:q,onValueChange:i=>i&&ae(i),className:"border rounded-md",children:[e.jsxDEV(K,{value:"all",className:"text-xs px-3",children:"All"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:678,columnNumber:17},this),e.jsxDEV(K,{value:"staged",className:"text-xs px-3",children:"Staged"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:681,columnNumber:17},this),e.jsxDEV(K,{value:"unstaged",className:"text-xs px-3",children:"Unstaged"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:684,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:672,columnNumber:15},this),e.jsxDEV(X,{variant:"ghost",size:"icon",onClick:()=>ge(),title:"Refresh",children:e.jsxDEV(Ps,{className:pe("h-4 w-4",de&&"animate-spin")},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:696,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:690,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:653,columnNumber:13},this):e.jsxDEV(Te,{value:(o==null?void 0:o.sha)??"",onValueChange:Ze,children:[e.jsxDEV(Ie,{className:"w-80","aria-label":"Select commit to review",children:e.jsxDEV(Fe,{placeholder:"Select a commit to review"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:703,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:702,columnNumber:15},this),e.jsxDEV(Ae,{children:y.map(i=>e.jsxDEV(ce,{value:i.sha,children:[e.jsxDEV("span",{className:"font-mono text-xs",children:i.sha.slice(0,7)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:708,columnNumber:21},this),e.jsxDEV("span",{className:"ml-2 truncate",children:i.message},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:709,columnNumber:21},this)]},i.sha,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:707,columnNumber:19},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:705,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:701,columnNumber:13},this),e.jsxDEV("div",{className:"flex-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:716,columnNumber:11},this),ne&&e.jsxDEV("span",{className:"text-sm text-muted-foreground",children:[h.length," files",(b==null?void 0:b.untrackedDiffsCapped)&&e.jsxDEV("span",{className:"ml-1 text-status-warn",title:`Showing diffs for ${b.untrackedProcessed} of ${b.untrackedTotal} untracked files`,children:"(diffs capped)"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:723,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:720,columnNumber:13},this),s&&e.jsxDEV(ue,{variant:"outline",className:Rs.info,children:"Active Review"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:735,columnNumber:13},this),e.jsxDEV(Es,{children:e.jsxDEV(js,{children:[e.jsxDEV(Ds,{asChild:!0,children:e.jsxDEV(X,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:ns,title:"Keyboard shortcuts",children:e.jsxDEV(Vs,{className:"h-4 w-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:751,columnNumber:19},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:744,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:743,columnNumber:15},this),e.jsxDEV(Cs,{children:e.jsxDEV("p",{children:"Keyboard shortcuts (?)"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:755,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:754,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:742,columnNumber:13},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:741,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:628,columnNumber:9},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:627,columnNumber:7},this),F&&e.jsxDEV("div",{className:"flex flex-col items-center justify-center h-full",children:[e.jsxDEV(ys,{className:"h-12 w-12 text-destructive mb-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:765,columnNumber:11},this),e.jsxDEV("h2",{className:"text-lg font-medium mb-2",children:"Failed to load changes"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:766,columnNumber:11},this),e.jsxDEV("p",{className:"text-muted-foreground mb-4",children:"There was an error loading the changes. Please try again."},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:767,columnNumber:11},this),e.jsxDEV(X,{onClick:()=>ge(),children:"Retry"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:770,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:764,columnNumber:9},this),!F&&!Y&&!ne&&p==="working-tree"&&e.jsxDEV(Js,{},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:775,columnNumber:76},this),!F&&p==="commit"&&!o&&e.jsxDEV("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground",children:[e.jsxDEV(_e,{className:"h-12 w-12 mb-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:780,columnNumber:11},this),e.jsxDEV("p",{className:"text-lg font-medium",children:"Select a commit to review"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:781,columnNumber:11},this),e.jsxDEV("p",{className:"text-sm",children:"Choose a commit from the dropdown above"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:782,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:779,columnNumber:9},this),!F&&ne&&e.jsxDEV(Me,{orientation:"horizontal",className:"flex-1 min-h-0",id:Be,defaultLayout:C.defaultLayout,onLayoutChanged:C.onLayoutChanged,children:[e.jsxDEV(Z,{id:"file-nav",defaultSize:"256px",minSize:"150px",maxSize:"40%",children:e.jsxDEV("div",{className:"h-full border-r bg-card overflow-hidden flex flex-col",children:[e.jsxDEV("div",{className:"p-3 border-b shrink-0",children:e.jsxDEV("h2",{className:"text-sm font-medium flex items-center gap-2",children:[e.jsxDEV(he,{className:"h-4 w-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:800,columnNumber:19},this),"Files",h.length>0&&e.jsxDEV(ue,{variant:"secondary",className:"text-xs",children:h.length},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:803,columnNumber:21},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:799,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:798,columnNumber:15},this),e.jsxDEV("div",{className:"flex-1 min-h-0",children:e.jsxDEV(Hs,{files:h,selectedFile:c,onSelectFile:te,isLoading:Y},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:810,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:809,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:797,columnNumber:13},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:796,columnNumber:11},this),e.jsxDEV(ze,{withHandle:!0},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:820,columnNumber:11},this),e.jsxDEV(Z,{id:"diff-comments",defaultSize:"80%",children:P==="split"?e.jsxDEV(Me,{orientation:"vertical",className:"h-full",id:Ge,defaultLayout:L.defaultLayout,onLayoutChanged:L.onLayoutChanged,children:[e.jsxDEV(Z,{id:"diff-panel",defaultSize:"70%",minSize:"30%",children:e.jsxDEV("div",{className:"h-full min-w-0 bg-background overflow-auto flex flex-col",children:[s&&(u==null?void 0:u.items)&&e.jsxDEV(Oe,{comments:u.items,selectedCommentId:N,isExpanded:f,onToggleExpand:()=>V(i=>!i),onReply:W,onResolve:Pe,onDelete:$,onEdit:U,isReplying:z.isPending,isResolving:R.isPending,isDeleting:T.isPending,isEditing:I.isPending,getSessionForAgent:B,onOpenTerminal:G},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:837,columnNumber:23},this),e.jsxDEV("div",{className:"flex-1 min-h-0",children:c?e.jsxDEV(Ke,{diff:Ee,filePath:c,isLoading:Y,error:F?"Failed to load diff":null,viewType:P,onViewTypeChange:D,projectId:a,comments:je,onAddComment:fe,onReplyToComment:W,onResolveComment:xe,onDeleteComment:$,onEditComment:U,isSubmittingComment:Re,isResolvingComment:R.isPending,isDeletingComment:T.isPending,isEditingComment:I.isPending,getSessionForAgent:B,onOpenTerminal:G,fileInfo:De,selectedCommentId:N,onClearSelectedComment:we},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:857,columnNumber:25},this):e.jsxDEV(Qe,{},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:882,columnNumber:25},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:855,columnNumber:21},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:834,columnNumber:19},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:833,columnNumber:17},this),e.jsxDEV(ze,{withHandle:!0},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:887,columnNumber:17},this),e.jsxDEV(Z,{id:"comment-panel",defaultSize:"30%",minSize:"15%",children:e.jsxDEV("div",{className:"h-full bg-card overflow-hidden border-t",children:s?e.jsxDEV(He,{reviewId:s.id,review:s,projectId:a,selectedFile:c,onNavigateToComment:be,onSelectFile:te,selectedCommentId:N,onCloseReview:()=>Q.mutate(),isClosingReview:Q.isPending},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:891,columnNumber:23},this):e.jsxDEV("div",{className:"p-4 text-center text-muted-foreground",children:e.jsxDEV("p",{className:"text-sm",children:"Add a comment to start a review"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:904,columnNumber:25},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:903,columnNumber:23},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:889,columnNumber:19},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:888,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:826,columnNumber:15},this):e.jsxDEV("div",{className:"h-full grid grid-cols-[1fr_320px]",children:[e.jsxDEV("div",{className:"min-w-0 bg-background overflow-auto flex flex-col",children:[s&&(u==null?void 0:u.items)&&e.jsxDEV(Oe,{comments:u.items,selectedCommentId:N,isExpanded:f,onToggleExpand:()=>V(i=>!i),onReply:W,onResolve:Pe,onDelete:$,onEdit:U,isReplying:z.isPending,isResolving:R.isPending,isDeleting:T.isPending,isEditing:I.isPending,getSessionForAgent:B,onOpenTerminal:G},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:916,columnNumber:21},this),e.jsxDEV("div",{className:"flex-1 min-h-0",children:c?e.jsxDEV(Ke,{diff:Ee,filePath:c,isLoading:Y,error:F?"Failed to load diff":null,viewType:P,onViewTypeChange:D,projectId:a,comments:je,onAddComment:fe,onReplyToComment:W,onResolveComment:xe,onDeleteComment:$,onEditComment:U,isSubmittingComment:Re,isResolvingComment:R.isPending,isDeletingComment:T.isPending,isEditingComment:I.isPending,getSessionForAgent:B,onOpenTerminal:G,fileInfo:De,selectedCommentId:N,onClearSelectedComment:we},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:936,columnNumber:23},this):e.jsxDEV(Qe,{},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:961,columnNumber:23},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:934,columnNumber:19},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:913,columnNumber:17},this),e.jsxDEV("div",{className:"bg-card overflow-hidden border-l",children:s?e.jsxDEV(He,{reviewId:s.id,review:s,projectId:a,selectedFile:c,onNavigateToComment:be,onSelectFile:te,selectedCommentId:N,onCloseReview:()=>Q.mutate(),isClosingReview:Q.isPending},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:967,columnNumber:21},this):e.jsxDEV("div",{className:"p-4 text-center text-muted-foreground",children:e.jsxDEV("p",{className:"text-sm",children:"Add a comment to start a review"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:980,columnNumber:23},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:979,columnNumber:21},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:965,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:912,columnNumber:15},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:823,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:788,columnNumber:9},this),e.jsxDEV(_s,{open:ls,onOpenChange:ts},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:991,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:625,columnNumber:5},this)}export{si as ReviewsPage};
|