/** * Kiro endpoint and model configuration. * * Values verified against Kiro's desktop auth service and the CodeWhisperer * streaming API. Model availability is decided server-side by the account's * subscription tier, so this list is a catalog: `KIRO_MODELS_OVERRIDE` lets the * user pin a different set without a code change. */ export declare const KIRO_PROVIDER_ID = "kiro"; export declare const KIRO_API = "kiro-codewhisperer"; export declare const KIRO_REGION = "us-east-1"; /** CodeWhisperer streaming inference endpoint. */ export declare const KIRO_UPSTREAM_URL = "https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse"; /** Kiro's desktop auth service: Google / GitHub social login and refresh. */ export declare const KIRO_AUTH_BASE = "https://prod.us-east-1.auth.desktop.kiro.dev"; export declare const KIRO_SOCIAL: { readonly portalUrl: "https://app.kiro.dev/signin"; readonly portalRedirectUri: "http://localhost:3128"; readonly callbackPath: "/oauth/callback"; readonly authorizeUrl: "https://prod.us-east-1.auth.desktop.kiro.dev/login"; readonly tokenUrl: "https://prod.us-east-1.auth.desktop.kiro.dev/oauth/token"; readonly refreshUrl: "https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken"; /** Used only when no local callback server can be bound. */ readonly redirectUri: "kiro://kiro.kiroAgent/authenticate-success"; }; /** * AWS Builder ID / Identity Center. Kiro's auth service does not serve Builder * ID, so it must go through the SSO OIDC device-code flow instead. */ export declare const KIRO_IDC: { readonly startUrl: "https://view.awsapps.com/start"; readonly clientName: "kiro-oauth-client"; readonly clientType: "public"; readonly issuerUrl: "https://identitycenter.amazonaws.com/ssoins-722374e8c3c8e6c6"; readonly scopes: readonly ["codewhisperer:completions", "codewhisperer:analysis", "codewhisperer:conversations"]; readonly grantTypes: readonly ["urn:ietf:params:oauth:grant-type:device_code", "refresh_token"]; }; export type KiroAuthMethod = "google" | "github" | "builder-id"; export declare const KIRO_AUTH_METHOD_LABELS: Record; export declare const KIRO_MAX_OUTPUT_TOKENS = 32000; export declare const KIRO_REQUEST_TIMEOUT_MS = 600000; export interface KiroModel { id: string; name: string; reasoning: boolean; input: ("text" | "image")[]; contextWindow: number; maxTokens: number; cost: { input: number; output: number; cacheRead: number; cacheWrite: number; }; } /** * Catalog of models Kiro may serve. Entries the account is not entitled to * simply fail upstream, so listing a model here is not a promise it is usable. * * Synchronized with `kiro-cli 2.15.2 chat --list-models`. Listing models is * read-only; completion probing is deliberately not automatic because it * consumes credits and eligibility can differ between pooled accounts. */ export declare const KIRO_MODELS: KiroModel[]; /** * Resolve the model list, allowing `KIRO_MODELS_OVERRIDE` to replace it with a * comma-separated list of ids. Unknown ids are carried through so a newly * released model can be used before this catalog knows about it. */ export declare function resolveModels(env?: NodeJS.ProcessEnv): KiroModel[];