Skip to content

[AgentTools] 서비스 일시 중단 안내를 MCP·CLI 오류와 문서에 반영 [ #604 ] - #605

Merged
Danto7632 merged 6 commits into
developfrom
danto/service-suspension
Oct 30, 2026
Merged

Danto7632 merged 6 commits into
developfrom
danto/service-suspension

Conversation

@Danto7632

Copy link
Copy Markdown
Member

🔥 PR 개요

2026-10-30 AWS 지원 종료로 FE 만 GitHub Pages 로 옮겼고(Dvely_FE #194) 백엔드는 지금 어디에서도 서비스되지 않는다. qeploy.com/api/v1/... 는 Pages 가 답해서 GET 은 HTML 404, 쓰기는 본문 없는 405 가 된다.

그래서 MCP·CLI 가 중단을 중단이라고 말하지 못했다 — qeploy projects 는 대상을 찾을 수 없습니다: /api/v1/projects(프로젝트가 없는 것처럼), qeploy login·쓰기 도구는 Qeploy API 오류 405: HTTP 405. 이 PR 은 client 가 사이트의 status.json 을 읽어 그 안내문을 오류로 내게 하고, 문서를 현재 운영 상태에 맞춘다.

🔍 주요 변경 사항

  • @qeploy/client: API 가 아닌 응답(JSON 이 아닌 본문·빈 본문의 실패)이나 연결 실패를 받으면 <API 주소>/status.json 을 토큰 없이 읽는다(5초 상한). status 가 suspended 면 QeployApiError(503, 'SERVICE_SUSPENDED') 로 바꾸고, toAgentMessage() 는 안내문을 그대로 돌려준다. 파일이 없거나·JSON 이 아니거나·suspended 가 아니면 원래 오류 그대로
    • API 자신이 낸 JSON 오류(봉투 있는 404·401 등)에는 조회하지 않는다. 시간 초과도 조회하지 않는다(같은 호스트라 또 기다리게 된다)
    • 안내문은 문자열 필드만, 각 500자까지 — 사용자가 가리킨 호스트에서 온 값이 터미널과 에이전트 컨텍스트로 간다
    • 출력 형식: {title} ({since}부터)\n{message} (since 없으면 제목만, title 없으면 Qeploy 서비스 일시 중단)
    • CLI 종료 코드는 1(일반 실패). 인증 실패 3 과 섞지 않는다 — 3 에 토큰을 돌리는 CI 가 엉뚱하게 움직이면 안 된다
  • 테스트: client 8개(중단·쓰기 405·토큰 미전송·파일 없음·operational·연결 실패·API 오류는 조회 안 함·문자열 필드만), CLI·MCP 각 1개(안내문을 손대지 않고 전달)
  • 버전: @qeploy/client·@qeploy/mcp 0.1.3, @qeploy/cli 0.1.4(의존 고정·lock·VERSION·MCP 서버 버전 함께)
  • 문서: 저장소 README, agent-tools/README.md, npm 패키지 README 3종 상단에 중단 안내. .notion/ROADMAP.md 1절에 2026-10-31 항목, state.md 기준 절에 운영 상태

📌 관련 이슈

✅ 테스트 결과

  • cd agent-tools && npm test — 109/109
  • 로컬 가짜 Pages(HTML 404·405·status.json)에 실제 CLI 를 붙여 확인: qeploy projects·qeploy login 모두 안내문 출력, 종료 코드 1
  • 실제 qeploy.com(아직 status.json 없음): 원래 오류 대상을 찾을 수 없습니다: /api/v1/projects 그대로 — 파일이 생기기 전에도 깨지지 않는다
  • ./gradlew build — CI (JwtAuthenticationFilterTest 가 client 소스의 쓰기 호출을 정규식으로 읽는다. 새 코드는 this.fetchImpl( 이라 대상이 아니다)

📌 마이그레이션/배포 참고

  • DB 마이그레이션 없음. 서버 코드 변경 없음
  • npm 배포는 이 PR 머지 뒤 Actions Publish agent-tools to npm 을 develop 에서 따로 실행한다(이 PR 은 실행하지 않는다)
  • https://qeploy.com/status.json 자체는 Dvely_FE 가 Pages 에 올린다. 계약: {"status":"suspended","since":"2026-10-30","title":"…","message":"…"}, 재개하면 "operational" 이거나 파일이 없다

📌 참고 사항

  • 로컬 환경 파일 변경은 PR 범위에서 제외
  • 배포 워크플로(deploy-ec2*.yml)는 건드리지 않았다

@Danto7632
Danto7632 merged commit fb3df16 into develop Oct 30, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant