Skip to content

feat: 다이소 진열 위치 조회 도구 추가#12

Merged
hmmhmmhm merged 1 commit intohmmhmmhm:mainfrom
thecats1105:feat/daiso-display-location
Mar 8, 2026
Merged

feat: 다이소 진열 위치 조회 도구 추가#12
hmmhmmhm merged 1 commit intohmmhmmhm:mainfrom
thecats1105:feat/daiso-display-location

Conversation

@thecats1105
Copy link
Copy Markdown
Contributor

@thecats1105 thecats1105 commented Mar 8, 2026

변경 요약

  • daiso_get_display_location MCP 도구를 추가하여 다이소 매장 내 상품 진열 위치(구역/층)를 조회할 수 있게 했습니다.
  • 기존 플러그인 아키텍처(ServiceProvider / ServiceRegistry)에 맞춰 도구를 등록하고, REST 엔드포인트(GET /api/daiso/display-location)도 함께 추가했습니다.
  • 단위/통합 테스트 및 README 문서를 포함하며, 커버리지 100%를 유지합니다.

관련 이슈

  • Closes #

체크리스트

  • npm run format:check 통과
  • npm run lint 통과
  • npm run typecheck 통과
  • npm test 통과
  • 필요 시 문서(README/CONTRIBUTING) 업데이트
  • 민감 정보(API 키/토큰/개인정보) 미포함 확인

테스트 방법

npm run check

다이소 MCP 클라이언트에서 직접 호출하는 경우:

{
  "name": "daiso_get_display_location",
  "arguments": {
    "productId": "12345",
    "storeCode": "04515"
  }
}

참고 사항

  • 도구 입력값: productIddaiso_search_products, storeCodedaiso_check_inventory 도구 결과에서 얻을 수 있습니다. 두 도구를 먼저 호출하는 순서를 권장합니다.
  • API 응답 구조: data 배열이 비어 있거나 success: false이면 hasLocation: false로 반환하며, 에러를 throw하지 않습니다. 호출자가 hasLocation 필드로 존재 여부를 판단할 수 있습니다.
  • 테스트 전략: 실제 API 호출 없이 vi.stubGlobal('fetch', ...) 기반 mock을 사용합니다. tests/api/handlers-get-display-location.test.ts에서 핸들러 catch 경로를 별도로 커버합니다.
  • AI 보조 작성: 이 PR의 코드 및 테스트는 AI의 도움을 받아 작성되었습니다.

@thecats1105 thecats1105 requested a review from hmmhmmhm as a code owner March 8, 2026 08:07
@hmmhmmhm
Copy link
Copy Markdown
Owner

hmmhmmhm commented Mar 8, 2026

와, 다이소 진열 위치 조회까지 되는 건 저도 이번에 처음 알았습니다. 기능 제안부터 구현, 테스트까지 깔끔하게 올려주셔서 감사합니다. 덕분에 프로젝트가 확실히 더 좋아졌어요!

@hmmhmmhm hmmhmmhm merged commit 52295f0 into hmmhmmhm:main Mar 8, 2026
2 checks passed
@thecats1105 thecats1105 deleted the feat/daiso-display-location branch March 8, 2026 11:34
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.

2 participants