Hi, I'm Lubai, maintainer of approval-history-kit, an early MIT-licensed TypeScript library and CLI for checking persisted AI SDK approval histories.
The save/reload demo drops the optional reason field from a synthetic denial fixture. The restored history still passes its lifecycle checkpoint, but the lossless comparison catches the metadata change. The unchanged round-trip control passes both checks.
The adapter targets JSON ModelMessage snapshots from AI SDK version 7.0.127. It runs offline after installation, executes no tools, and makes no provider calls. Unsupported shapes are inconclusive. It doesn't validate authorization, guarantee provider acceptance or prove that an SDK continuation will run correctly.
The project is v0.1.0 and isn't published to npm. The runnable guide uses the GitHub release archive and needs Node.js 22 or 24 plus a POSIX shell.
Project: https://github.com/sunxiuguo/approval-history-kit
Runnable guide: https://github.com/sunxiuguo/approval-history-kit/blob/a0e7ce5f599f65a71e8cf470852f52e5dba06882/examples/save-reload-regression.md
Feedback from people testing persisted approval histories is welcome.
Disclosure: This tool and post were developed using OpenAI's AI assistant.