Skip to main content
연결 프로그램이 시작될 때 GET /openapi/v1/runtime-config를 호출하고, 설정한 주기마다 갱신합니다. 이 엔드포인트에는 config:readpolicies:read 권한이 모두 필요합니다.

응답

contentHash는 프롬프트 본문의 소문자 SHA-256 16진수 값입니다. 기존 프롬프트를 교체하기 전에 반드시 검증합니다.

변경된 경우에만 받기

응답에는 revision을 기준으로 만든 ETag가 포함됩니다. 다음 요청에서 이 값을 전달합니다.
304 Not Modified 응답에는 본문이 없습니다. 현재 설정을 계속 사용하며 캐시 파일을 다시 저장하지 않습니다.

로컬 캐시 동작

다른 언어 SDK도 다음 순서로 구현하는 것이 좋습니다.
  1. 이전에 검증한 설정을 로컬 저장소에서 읽습니다.
  2. 캐시가 정상이면 서버 응답을 기다리지 않고 먼저 사용합니다.
  3. 서버 확인은 백그라운드에서 진행합니다.
  4. 전체 응답 검증이 끝나고 revision이 바뀐 경우에만 교체합니다.
  5. 설정한 주기와 무작위 지연을 적용해 갱신합니다.
  6. API에 접근할 수 없으면 마지막으로 정상 확인한 설정을 유지합니다.
관련 실행 이벤트와 이슈 기록에는 versionIdpromptVersionId로 연결합니다. 이를 통해 실행 결과를 실제 사용한 프롬프트 버전과 연결할 수 있습니다. 정책은 도구 호출 직전에 로컬에서 판단합니다. 도구가 동작할 때마다 API를 호출하지 않습니다.

TypeScript SDK .lynxconf

TypeScript SDK는 마지막으로 검증한 설정을 압축된 .lynxconf 파일로 저장할 수 있습니다.
파일 저장은 기본적으로 꺼져 있습니다. path를 생략하면 운영체제의 사용자 캐시 디렉터리를 사용합니다. 파일을 쓸 수 없는 환경에서는 cache.storage에 별도 저장 구현을 전달할 수 있습니다. .lynxconf는 버전이 있는 짧은 JSON 구조를 gzip으로 압축한 바이너리 파일입니다. LXCF 식별자와 SHA-256 체크섬을 포함합니다. 새 설정 전체가 검증되고 revision이 달라졌을 때만 임시 파일을 쓴 뒤 원자적으로 교체합니다. shutdown()은 진행 중인 저장이 끝날 때까지 기다립니다. 손상됐거나 현재 API·워크스페이스·클라이언트와 맞지 않는 캐시는 삭제하고 서버에서 다시 받습니다. API 키는 .lynxconf에 저장하지 않습니다.
프롬프트에는 외부에 공개하면 안 되는 지침이 포함될 수 있습니다. 로컬 캐시를 애플리케이션 설정과 같은 수준으로 보호하고, 프롬프트 본문이나 API 키를 진단 로그에 남기지 마세요.