SNA

Core 설정

`@sna-sdk/core`가 노출하는 설정 헬퍼와 환경 변수입니다.

Core 설정

getConfig, setConfig, resetConfig는 애플리케이션이 runtime configuration을 조회하거나 덮어쓸 때 사용합니다. 호스팅된 process에서는 환경 변수가 가장 단순한 설정 방식입니다.

Configuration은 다음 순서로 결정됩니다.

우선순위source설명
1SDK defaultpackages/core/src/config.ts에 정의되어 있습니다.
2SNA_* environment variableStandalone server process와 Electron launcher에 적합합니다.
3setConfig(partial)현재 Node process에 적용됩니다. In-process launcher도 이 경로를 사용합니다.
4per-call parameterRoute handler와 runtime call에서 필요한 field만 다시 override할 수 있습니다.
변수의미
SNA_PORT선호 server port. 기본값은 3099입니다.
SNA_MODEL기본 model name. 기본값은 claude-sonnet-4-6입니다.
SNA_PERMISSION_MODE기본 permission mode. default, acceptEdits, bypassPermissions, plan을 지원합니다.
SNA_MAX_SESSIONS동시에 유지할 수 있는 session 수. 기본값은 5입니다.
SNA_DB_PATH명시적인 SQLite database path. 기본값은 data/sna.db입니다.
SNA_DATA_DIRimage 같은 SNA data를 저장할 directory. 기본값은 <cwd>/data입니다.
SNA_PERMISSION_TIMEOUT_MSPermission prompt timeout(ms). 0이면 host app이 응답을 책임집니다.

기본값

FieldDefault설명
port3099Standalone server와 browser discovery가 사용하는 HTTP server port.
modelclaude-sonnet-4-6call에서 model을 지정하지 않았을 때 runtime adapter에 전달되는 기본 model.
defaultProviderclaude-code별도 override가 없을 때 route와 helper가 사용하는 기본 runtime id.
defaultPermissionModedefaultAgent operation의 기본 permission policy.
maxSessions5동시에 유지할 수 있는 server-side session 수.
maxEventBuffer500Session별 in-memory event buffer 크기.
permissionTimeoutMs0Host가 명시하지 않으면 permission prompt를 자동 deny하지 않습니다.
runOnceTimeoutMs120000기본 one-shot execution timeout.
pollIntervalMs500Agent event용 SSE polling interval.
keepaliveIntervalMs15000SSE keepalive interval.
skillPollMs2000WebSocket skill event polling interval.
dbPathdata/sna.dbenvironment override가 없을 때의 SQLite database path.
dataDir<cwd>/datarow 밖의 asset을 저장할 base directory.

함수 레퍼런스

getConfig()

Defaults, environment variable, runtime override가 적용된 effective SNA configuration을 반환합니다.

Diagnostics, server startup logging, 실제 적용 값을 보여줘야 하는 host settings screen에서 사용합니다.

setConfig(partial)

현재 process에 runtime override를 적용합니다. Application preferences screen, IPC message, test fixture에서 settings를 받는 embedded host에 적합합니다.

setConfig는 전달한 field를 현재 config에 merge합니다. 이전 override를 지우지는 않으므로 깨끗한 기준점이 필요하면 먼저 resetConfig()를 호출하십시오.

resetConfig()

runtime override를 지우고 configuration resolution을 default plus environment variable 상태로 되돌립니다. Test case 사이에 설정이 새지 않도록 테스트에서 사용하십시오.

SnaConfig

SNA configuration의 typed shape입니다. Host-level settings UI를 만들거나 configuration object를 검증할 때 이 타입을 우선 사용하십시오.

langfuseapiProxyPort는 optional입니다. Host가 tracing 또는 debug proxy capture를 명시적으로 설정할 때만 활성화됩니다.

목차