변수: DetachableRunCapability
const DetachableRunCapability: Capability<true, "detachable-run">;
정의 위치: packages/ai/src/activities/chat/middleware/run-store.ts:290
현재 실행의 클라이언트 연결이 끊겼을 때 삭제되지 않고 분리될 수 있는지를 나타냅니다. 일부 미들웨어에 RunStore와 영속 이벤트 로그(withSandbox의 runs + durability.adapter)가 모두 연결된 경우에만 true입니다.
LockStore와 같은 이유로 core에 존재합니다. 두 소비자 패키지가 합의해야 하는 조정 사실이며 어느 쪽도 다른 쪽에 의존해서는 안 되기 때문입니다. @tanstack/ai-sandbox가 이를 제공하고, @tanstack/ai-persistence가 읽어 중단이 종료 상태('aborted')인지 분리(아무것도 기록하지 않음)인지 결정합니다. persistence → sandbox 가져오기는 계층 구조를 역전시킵니다.
소비자는 { optional: true }로 읽습니다. 없으면 "분리할 수 없음"을 의미하며, 이는 영속성을 연결하지 않은 모든 앱에 해당합니다.
boolean이 아니라 true로 타입이 지정됩니다. 부재가 부정이므로 공개된 false는 의미가 없습니다. 값이 아니라 존재 여부를 검사하는 소비자는 이를 "분리 가능"으로 읽기 때문입니다. 페이로드를 좁히면 이를 문서화하지 않은 채 허용하는 대신 표현할 수 없게 됩니다.