syncbase-was

module
v0.1.0-round1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 25, 2026 License: Apache-2.0

README

SyncBase WAS

Go modular monolith의 도메인, PDF 파싱, 문서 처리, PostgreSQL 저장 및 React Web용 JSON API를 소유한다.

  • 실행 파일: cmd/web(API), cmd/worker, cmd/migrate
  • 내부 모듈: internal/modules
  • 변동성 adapter: internal/adapters
  • MCP에 공개하는 유일한 Go seam: searchruntime
  • 프론트 및 임베딩 구현은 sibling submodule을 통해 주입된다.

superproject checkout에서 검증한다.

go test ./...
go vet ./...

React Web API

cmd/web은 MCP 토큰과 데이터베이스를 브라우저에 노출하지 않는 same-origin /api/v1 계약을 제공한다. 로그인 성공 후 HttpOnly 세션 쿠키가 설정되며, 응답의 csrfToken은 이후 변경 요청의 X-CSRF-Token 헤더로만 사용한다.

Method Path Purpose
POST /api/v1/session 관리자 로그인
GET, DELETE /api/v1/session 세션 조회·로그아웃
GET, POST /api/v1/documents 문서 목록·PDF 등록
GET /api/v1/documents/name-matches?name={name} 새 Document 등록 전 정규화된 동일 이름 안내
GET /api/v1/documents/{id} 문서 및 버전 처리 상태
POST /api/v1/documents/{id}/versions 새 PDF 버전 등록
POST /api/v1/uploads/preflight 서버 PDF 검사·SHA-256·페이지 수
GET /api/v1/uploads/recovery/{requestKey} request key 기반 응답 유실 복구
POST /api/v1/processing-runs/{id}/retry 소진된 일시 오류의 재시도
GET /api/v1/search WAS가 MCP search_documents를 호출하는 근거 검색
GET /api/v1/documents/{id}/versions/{n}/source 정확한 문서·버전·페이지 근거 메타데이터
GET /api/v1/documents/{id}/versions/{n}/raw.pdf 인증된 원본 PDF

모든 검색 결과는 document_id, version_id, document_version, page_number, snippet, source_url을 포함한다. PostgreSQL/OpenSQL 저장소는 활성 버전만 검색하며, 낮은 버전의 늦은 완료는 SUPERSEDED로 끝나므로 이전 검색 결과를 되살릴 수 없다.

License

SyncBase WAS의 자체 소스는 Apache License 2.0 (Apache-2.0)으로 배포합니다. PDFium WebAssembly, Go PDFium binding, pgvector client를 포함한 외부 구성요소의 라이선스와 출처는 THIRD_PARTY_NOTICES.md에 기록합니다.

Directories

Path Synopsis
cmd
migrate command
web command
worker command
internal
adapters/embedding
Package embedding adapts the standalone vector engine to WAS domain contracts.
Package embedding adapts the standalone vector engine to WAS domain contracts.
adapters/objectstore
Package objectstore provides the local content-addressed artifact store.
Package objectstore provides the local content-addressed artifact store.
adapters/pdf
Package pdf adapts the qualified PDFium WebAssembly engine to SyncBase's page-text contract.
Package pdf adapts the qualified PDFium WebAssembly engine to SyncBase's page-text contract.
adapters/postgres
Package postgres implements SyncBase persistence against PostgreSQL/OpenSQL-compatible SQL.
Package postgres implements SyncBase persistence against PostgreSQL/OpenSQL-compatible SQL.
modules/documents
Package documents implements document registration, recovery, and source access.
Package documents implements document registration, recovery, and source access.
modules/knowledge
Package knowledge defines SyncBase's document, version, processing, and search contracts.
Package knowledge defines SyncBase's document, version, processing, and search contracts.
modules/processing
Package processing implements SyncBase's document-processing module.
Package processing implements SyncBase's document-processing module.
modules/search
Package search implements grounded semantic search over active document versions.
Package search implements grounded semantic search over active document versions.
modules/sessions
Package sessions defines persistence for authenticated browser sessions.
Package sessions defines persistence for authenticated browser sessions.
platform/config
Package config centralizes strict runtime configuration for SyncBase binaries.
Package config centralizes strict runtime configuration for SyncBase binaries.
transport/webapp
Package webapp serves SyncBase's authenticated browser API.
Package webapp serves SyncBase's authenticated browser API.
Package searchruntime exposes the deep WAS search module used by MCP.
Package searchruntime exposes the deep WAS search module used by MCP.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL