Skip to content

feat: use pi's standard model caching and add tests - #7

Open
unverbraucht wants to merge 2 commits into
requestyai:mainfrom
KIntegrated:main
Open

unverbraucht wants to merge 2 commits into
requestyai:mainfrom
KIntegrated:main

Conversation

@unverbraucht

Copy link
Copy Markdown

Replace the custom models.json read/write logic with pi's standard refreshModels hook backed by the provider model store (context.store). Models are discovered from the Requesty /models endpoint using the account's resolved API key (so only enabled models are returned) and cached for offline/startup restore. Remove the /requesty-models-sync command; pi refreshes automatically on startup and model picker open.

Manual providers.requesty config in models.json is no longer used; authenticate via /login requesty or REQUESTY_API_KEY. Bump to 0.3.0 (breaking) and add zero-dependency unit tests for model mapping, discovery, and the refresh caching/auth-gating behavior.

unverbraucht and others added 2 commits August 1, 2026 20:19
Replace the custom models.json read/write logic with pi's standard
refreshModels hook backed by the provider model store (context.store).
Models are discovered from the Requesty /models endpoint using the
account's resolved API key (so only enabled models are returned) and
cached for offline/startup restore. Remove the /requesty-models-sync
command; pi refreshes automatically on startup and model picker open.

Manual providers.requesty config in models.json is no longer used;
authenticate via /login requesty or REQUESTY_API_KEY. Bump to 0.3.0
(breaking) and add zero-dependency unit tests for model mapping,
discovery, and the refresh caching/auth-gating behavior.
refreshModels previously called a non-existent context.store.read()/write()
API. pi passes a RefreshModelsContext with `stored` (read-only cached
snapshot) and `publish({ persist })` instead, so the handler threw
`TypeError: Cannot read properties of undefined (reading 'read')` on every
refresh — surfaced to the user as "Could not refresh requesty; showing
cached models." Nothing was ever persisted, so the cache could never update.

Switch to context.stored for the cache and context.publish({ persist }) to
write it, matching pi's built-in llama and remote-catalog providers. Also
rewrite the test harness to build a true RefreshModelsContext (no fake
`store` object) so this regression can't pass tests silently again.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant