jungwoo choi 7d1c92a406 feat(ds-sdk): B3 추출 — DTO·Zod·bind-env 9종·ApiCode (리프)
yakconsole → @yakcloud/ds-sdk 추출(11 모듈):
- enums.ts: 상태/타입 리터럴 유니온 SSOT(값 배열 + type)
- dto/: cluster·service·deployment·account·domain (비밀필드 제외, publicService 계약 동형)
- bind-env.ts: BIND_ENV_VARS 9종(MONGODB..ORACLE) + SERVICE_DEFAULT_PORT + bindEnvPrefix/bindEnvKeys
- schemas.ts: zod(생성/검증 body + DTO), api-codes.ts: ApiCode 유니온 + CODE_STATUS
- zod ^4.4.3(소스 정합), 리프 규칙 준수(react/prisma/next/서버 import 0)

검증: 적대적 Verify=SHIP, bind-env 9종 Python _bind_env_for parity 완전 일치,
누출 0, tsc --noEmit 통과(strict+noUncheckedIndexedAccess+verbatimModuleSyntax).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-25 11:14:09 +09:00
2026-08-25 11:03:37 +09:00

yakcloud-packages

YakCloud 데이터소스 웹 클라이언트 공용 패키지 모노레포(오픈소스, Apache-2.0). 설계·판정 근거: private-cluster docs/clients/{datasource-web-clients-design,phase-0-plan,scaffold-input,open-items-decisions}.md.

패키지 의존 DAG (단방향 강제)

ds-sdk (리프: zod·DTO·BIND_ENV SSOT·ApiCode)
  ▲ type-only
  ├── api-client   (fetch·usePoll; ⛔ 서버코드 유입 금지)
  └── ui           (react peer; ⛔ api-client 참조 금지)
        ▲
        └── client-shell (신규: 9종 데이터소스 웹 클라 셸)
auth-adapter (next-auth peer)
  ▲
bff-kit (ds-sdk + auth-adapter; respond/session/serialize/ratelimit; ⛔ api-client 참조 금지)
backup-core (zod; 신규 전체)

역의존 금지 3규칙: ①ds-sdk 절대 리프(serialize는 bff-kit) ②respond=bff-kit 전용(공유는 ApiCode 리터럴만 ds-sdk) ③ui→콘솔 금지(help-sheets 분리).

상태

B1 스캐폴드 스켈레톤(빈 골격). 실제 추출(B3~B6)·MinIO(Phase1)·백업(M5)은 후속.

Description
YakCloud 데이터소스 웹 클라이언트 공용 패키지 모노레포 (Apache-2.0)
Readme 131 KiB
Languages
TypeScript 92.7%
CSS 6.5%
JavaScript 0.8%