diff options
| author | t <t@tjp.lol> | 2026-06-13 11:50:00 -0600 |
|---|---|---|
| committer | t <t@tjp.lol> | 2026-06-15 15:08:32 -0600 |
| commit | deb4ce4a1a76869771bfcdd758455c49815f0d13 (patch) | |
| tree | 8ab99d3f6af2a159f9aaf67e94aa093eb11985e0 /libpanto/src/public.zig | |
| parent | c3f01bf5e6abfad51d316941a93d9cf328ac6c13 (diff) | |
auth: clean-break named [auth.<name>] sessions + extra_headers
Replace provider-level api_key/api_key_env_var with named auth sessions:
providers now reference `auth = "<name>"` and credentials live under
`[auth.<name>]`. Adds the libpanto auth type surface (AuthConfig, TokenSet,
ResolvedCredential), a Header type and provider `extra_headers`, and rewires
the CLI config loader (parse [auth.<name>], require auth=, providers always
survive, eager api_key resolution). Updates the shipped default config.
Diffstat (limited to 'libpanto/src/public.zig')
| -rw-r--r-- | libpanto/src/public.zig | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libpanto/src/public.zig b/libpanto/src/public.zig index 277b4ea..2ee44dd 100644 --- a/libpanto/src/public.zig +++ b/libpanto/src/public.zig @@ -29,6 +29,7 @@ const std = @import("std"); const config_mod = @import("config.zig"); +const auth_mod = @import("auth.zig"); const conversation_mod = @import("conversation.zig"); const agent_mod = @import("agent.zig"); const stream_mod = @import("stream.zig"); @@ -69,6 +70,21 @@ pub const Effort = config_mod.Effort; pub const CompactionConfig = config_mod.CompactionConfig; pub const RetryConfig = config_mod.RetryConfig; pub const WireIdentity = config_mod.WireIdentity; +pub const Header = config_mod.Header; + +// =========================================================================== +// Auth (data + flows, aliased) +// =========================================================================== + +pub const AuthConfig = auth_mod.AuthConfig; +pub const AuthType = auth_mod.AuthType; +pub const ApiKeyAuth = auth_mod.ApiKeyAuth; +pub const OAuthDeviceAuth = auth_mod.OAuthDeviceAuth; +pub const ExchangeConfig = auth_mod.ExchangeConfig; +pub const DeviceDialect = auth_mod.DeviceDialect; +pub const TokenRequestFormat = auth_mod.TokenRequestFormat; +pub const TokenSet = auth_mod.TokenSet; +pub const ResolvedCredential = auth_mod.ResolvedCredential; // =========================================================================== // Conversation construction (data, aliased) @@ -205,6 +221,7 @@ test { // Internal modules' tests (not part of the public surface, but their // tests must still run). std.testing.refAllDecls(config_mod); + std.testing.refAllDecls(auth_mod); std.testing.refAllDecls(conversation_mod); std.testing.refAllDecls(agent_mod); std.testing.refAllDecls(stream_mod); |
