Sign in
Join now
scn-chat
sharedcomputer.network
/
Star
Starred
Star
Something went wrong. Try again.
Fork
0
Eye filled
Watch
Watching
Watch
ATProto-based AI Assistant Chat interface.
Star
Starred
Star
Something went wrong. Try again.
Fork
Eye filled
Watch
Watching
Watch
Overview
Overview
Issues
Issues
1
1
Pulls
Pulls
Pipelines
Pipelines
scn-chat
/
apps
/
server
/
src
/
providers
8 files
at
rate-limits
hadsie.com
·
Retry busy providers. Don't retry spent keys. Add messaging for users.
·
2w ago
dead7601
admin-models.ts
Add the admin area for settings to replace config.yml.
4w ago
catalog.ts
Retry busy providers. Don't retry spent keys. Add messaging for users.
2w ago
effort.ts
Implement initial buildout of core features.
1mo ago
generate-text.ts
Retry busy providers. Don't retry spent keys. Add messaging for users.
2w ago
guarded-fetch.ts
Judge a NAT64 address by the IPv4 address inside it, rather than refusing the whole 64:ff9b::/96 range as private. On an IPv6-only network, DNS64 gives every IPv4-only host a NAT64 address next to its IPv4 one, and the guard refuses a host when any of its addresses is private. So sign-in failed at the callback, with "Refusing to connect to private network address 64:ff9b::d8c6:4f01", since resolving the identity reached the PDS, the handle, and plc.directory through the guard. Every other guarded fetch failed the same way. A NAT64 address hiding a private IPv4 address, like 64:ff9b::7f00:1 for 127.0.0.1, is still refused.
3w ago
retries.ts
Retry busy providers. Don't retry spent keys. Add messaging for users.
2w ago
routes.ts
A key's page lists its models in one Models card, a row each with its name, its ID when that differs, Vision, Thinking, and Tools as chips that stay pressed while on, and a button that removes it. Under it, Add models has a field to type a model ID, where Enter adds rather than saves, and, for providers that list their models, Load models, which lists them with the saved key through the new POST /api/credentials/:id/list-models, to tick the ones to use. The changes are one draft under one Save, disabled while the key has no models. The route refuses a key that can't be decrypted with a 400 asking for it again. The store refuses an empty model list or a model listed twice for every save, adding a key included, and the app's error handler turns its credential errors into a 400. The ticked list of models is a shared Checklist, used by the admin's provider page too, ToggleChip is a shared component, and noCapabilities, a key's description line, and useKeysChanged, now in settings/hooks/changes.ts, each live in one place.
2w ago
user-credentials.ts
The OpenAI-compatible plugin's model list sends sessionHeader too, with a fresh session ID shaped like a conversation's, since a list belongs to no conversation, and userAgent's hint and the spec say it leads the user agent, with the AI SDK's name after it on chat calls. Unticking a loaded model on a key's page takes it out of the draft, which the spec now says, along with the page's notes for a key that can't be read or isn't saved, any route answering 400 for an undecryptable key, and the Select scrolling to its active option only when it changes, each with a test and an acceptance criterion. ModelName shows a model's ID only when it differs from its name, in both the admin's and a key's list of models to tick, the admin's model rows name capabilities by their labels from the shared list, noCapabilities is typed by it, and decryptKey refuses an unreadable key in one place.
2w ago