콘텐츠로 이동

🔑 계정 · 워크스페이스

Synapse 의 모든 기능은 이 페이지의 게이트를 통과한 뒤에만 쓸 수 있습니다 — 로그인 → 워크스페이스 선택. 모든 리소스(컬렉션·프로젝트·정답셋 등)는 워크스페이스 소유이므로, "어느 워크스페이스에서 일할지"를 먼저 정해야 다른 카테고리의 도구가 동작합니다. 계정 확인(내가 누구인지), 워크스페이스 구성원·역할 확인, 멤버 역할 관리도 여기서 합니다.

flowchart LR
    A["`login`"] --> B["`list_workspaces`"] --> C["`select_workspace`"] --> D[기능 사용 🏭 / 🧠]

불변식 — 미리 알아야 할 것

  • 기능 사용 전 워크스페이스 선택은 필수 게이트입니다. 선택 없이 기능 도구를 부르면 진행되지 않습니다.
  • 모든 리소스는 워크스페이스(Workspace) 소유입니다 — 워크스페이스를 바꾸면 보이는 리소스도 바뀝니다.
  • 워크스페이스가 비활성이면 오너 포함 전원 403 — 어떤 작업도 할 수 없습니다.
  • 권한은 속성이 아니라 관계의 역할입니다: 워크스페이스(Owner/Admin/Member) · 모듈(Leader/Manager) · 워크샵(Labeler/Reviewer).

도구 한눈에

도구 무엇을 할 때 쓰기 여부
ping 서버가 살아 있는지 확인 읽기
login 이메일/비밀번호로 로그인 세션 설정(즉시)
whoami 내가 누구로 로그인돼 있는지 확인 읽기
current_environment 지금 붙어 있는 환경 확인 읽기
list_workspaces 내가 속한 워크스페이스 목록 조회 읽기
select_workspace 활성 워크스페이스 선택(필수 게이트) 세션 설정(즉시)
current_workspace 지금 선택된 워크스페이스 확인 읽기
list_members 워크스페이스 구성원·역할 목록 읽기
get_member 멤버 1건 상세 읽기
manage_members 멤버 역할 변경/제거 ✏️ 쓰기(confirm)

도구 상세

ping

서버 헬스 체크 도구입니다. 연결이 잘 되는지 궁금할 때 부르면 pong 을 반환합니다.

  • 주요 인자: 없음.

login

이메일/비밀번호로 현재 환경에 로그인합니다. 기능 사용 전 로그인이 필요하므로, 세션을 시작할 때 가장 먼저 부릅니다. 성공 시 토큰이 활성 환경 세션에 저장되며, 다음 단계는 워크스페이스 선택입니다.

whoami

인증된 사용자 본인의 식별 정보를 반환합니다. "지금 어떤 계정으로 로그인돼 있지?" 를 확인할 때 부릅니다.

  • 주요 인자: 없음.
  • 함께 보기: 로그인 자체는 login.

current_environment

현재 활성 환경의 이름과 base_url 을 반환합니다. 이 서버가 어느 Synapse 환경(test/production)에 붙어 있는지 확인할 때 부릅니다.

  • 주요 인자: 없음.

list_workspaces

사용자가 속한 워크스페이스 목록을 조회합니다. 기능 사용 전 이 중 하나를 선택해야 하므로, 로그인 직후 또는 워크스페이스를 바꾸고 싶을 때 부릅니다. 결과는 활성 환경별로 캐시되어 재조회를 줄입니다.

  • 주요 인자: refresh (기본 falsetrue 면 캐시를 무시하고 다시 조회한 뒤 캐시를 갱신하는 명시 새로고침).
  • 함께 보기: 목록에서 고른 code 로 select_workspace 를 부릅니다.

select_workspace

활성 워크스페이스를 선택합니다 — 기능 사용 전 필수 게이트입니다. 로그인 후, 그리고 다른 워크스페이스로 옮겨 일하고 싶을 때 부릅니다.

current_workspace

현재 활성 워크스페이스 code 를 반환합니다(선택된 것이 없으면 -). "지금 어느 워크스페이스에서 일하고 있지?" 를 확인할 때 부릅니다.

list_members

워크스페이스 멤버 목록 — 누가 있고 역할(role)이 무엇인지 확인합니다. 워크스페이스 선택 직후 구성원·권한을 볼 때 부릅니다. user_id 는 사용자 ID이며 이름이 아닙니다.

  • 주요 인자: role (owner·admin·member·guest 로 필터), 페이지네이션(cursor/per_page).
  • 함께 보기: 1건 상세는 get_member, 역할 변경/제거는 manage_members.

get_member

멤버 1건 상세 — list_members 목록의 id 로 조회합니다.

  • 주요 인자: id (멤버 ID).

manage_members

🔗 공용. 워크스페이스 멤버의 역할을 변경하거나(action=update_role) 제거합니다(action=remove). 권한 서열·Owner-only 제약은 서버가 판단하며, 거부되면 그 사유를 그대로 보여줍니다. 조회 용도로는 부르지 않습니다(조회는 목록/상세 도구).

  • 주요 인자: member_id, action (update_role | remove), role (owner | admin | member | guest — 역할 변경 시).
  • 안전장치: 기본은 dry-run 미리보기 → confirm=true 로 재호출해야 실제 적용됩니다.
  • 함께 보기: 조회는 list_members / get_member.