Files
dev/packages/coding-agent/examples/sdk/09-api-keys-and-oauth.ts
alexion 67b361f0e9 Squashed 'third_party/pi/' content from commit d981de122
git-subtree-dir: third_party/pi
git-subtree-split: d981de1229ef899957bbe968bc8dcda02a21f477
2026-09-14 10:40:08 -04:00

35 lines
1.1 KiB
TypeScript

/**
* API Keys and OAuth
*
* Configure provider auth through ModelRuntime.
*/
import { createAgentSession, ModelRuntime, SessionManager } from "@earendil-works/pi-coding-agent";
const modelRuntime = await ModelRuntime.create();
const { session: defaultAuthSession } = await createAgentSession({
sessionManager: SessionManager.inMemory(),
modelRuntime,
});
console.log("Session with default model runtime");
defaultAuthSession.dispose();
const customRuntime = await ModelRuntime.create({
authPath: "/tmp/my-app/auth.json",
modelsPath: "/tmp/my-app/models.json",
});
const { session: customAuthSession } = await createAgentSession({
sessionManager: SessionManager.inMemory(),
modelRuntime: customRuntime,
});
console.log("Session with custom auth and models locations");
customAuthSession.dispose();
await modelRuntime.setRuntimeApiKey("anthropic", "sk-my-temp-key");
const { session: runtimeKeySession } = await createAgentSession({
sessionManager: SessionManager.inMemory(),
modelRuntime,
});
console.log("Session with runtime API key override");
runtimeKeySession.dispose();