pi-ai's auth model reaches this adapter through three translations, all of which live here: a CredentialStore over the harness credential records, an AuthContext over the credential plane and the host filesystem, and one authorization flow per installed provider that ships a login. The seams they consume name nothing from pi-ai, so a second adapter family can arrive with a different auth model and share them. Every collection is now built with the store and the context rather than with nothing, which is what makes a signed-in provider stay signed in across the collection rebuild a configuration change causes. With a posture that works, the configurable-provider directory no longer withholds OAuth-only routes and `openai-codex` is offered again; the predicate that withheld it is gone. The credential plane stays optional. Reads answer "nothing stored" without a credentials service because such a composition genuinely holds no credential, while writes refuse by name — a login whose grant evaporated would report success and then fail every request. Flow registration is scoped to the authorization seam, so a headless or ACP composition mounts with no sign-in and everything else unchanged. Two fixes found while wiring this up: pre-release credential fixtures in the llm suites still used the flat document the record work replaced, and a flow that ignores its cancellation signal would have held its key for the life of the process — withdrawal now settles the attempt either way.
45 lines
784 B
JSON
45 lines
784 B
JSON
{
|
|
"extends": "../../../tsconfig.base.json",
|
|
"compilerOptions": {
|
|
"rootDir": "src",
|
|
"outDir": "lib/types"
|
|
},
|
|
"include": [
|
|
"src"
|
|
],
|
|
"references": [
|
|
{
|
|
"path": "../../util/launch-environment"
|
|
},
|
|
{
|
|
"path": "../../../vendor/cosmokit"
|
|
},
|
|
{
|
|
"path": "../../../vendor/cordis"
|
|
},
|
|
{
|
|
"path": "../../../vendor/schemastery"
|
|
},
|
|
{
|
|
"path": "../../llm/llm"
|
|
},
|
|
{
|
|
"path": "../../attachment/attachment"
|
|
},
|
|
{
|
|
"path": "../../credentials/credentials"
|
|
},
|
|
{
|
|
"path": "../../credentials/authorization"
|
|
},
|
|
{
|
|
"path": "../../settings/settings"
|
|
},
|
|
{
|
|
"path": "../../runtime-diagnostics/invariants"
|
|
},
|
|
{
|
|
"path": "../../util/timeout"
|
|
}
|
|
]
|
|
}
|