mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-26 12:26:38 -06:00
860dad268d
* test: add pi codex runtime contract coverage * test: expand pi codex tool runtime contracts * test: tighten tool runtime contracts * test: reset tool contract param cache * test: document codex tool middleware fixture * test: type pi tool contract events * test: satisfy pi tool contract test types * test: cover tool media telemetry contracts * test: reset plugin runtime after tool contracts * test: add auth profile runtime contracts * test: strengthen auth profile runtime contracts * test: clarify auth profile contract fixtures * test: expand auth profile contract matrix * test: assert unrelated cli auth isolation * test: expand auth profile contract matrix * test: tighten auth profile contract expectations * test: add outcome fallback runtime contracts * test: strengthen outcome fallback contracts * test: isolate outcome fallback contracts * test: cover codex terminal outcome signals * test: expand terminal fallback contracts * test: add delivery no reply runtime contracts * test: document json no-reply delivery gap * test: align delivery contract fixtures * test: add transcript repair runtime contracts * test: tighten transcript repair contracts * test: add prompt overlay runtime contracts * test: tighten prompt overlay contract scope * test: type prompt overlay contracts * test: add schema normalization runtime contracts * test: clarify schema normalization contract gaps * test: simplify schema normalization contracts * test: tighten schema normalization contract gaps * test: cover compaction schema contract * test: satisfy schema contract lint * test: add transport params runtime contracts * test: tighten transport params contract scope * test: isolate transport params contracts * test: lock exact transport defaults * feat: add agent runtime plan foundation * fix: preserve codex harness auth profiles * fix: route followup delivery through runtime plan * fix: normalize parameter-free openai tool schemas * fix: satisfy runtime plan type checks * fix: narrow followup delivery runtime planning * fix: apply codex app-server auth profiles * fix: classify codex terminal outcomes * fix: prevent harness auth leakage into unrelated cli providers * feat: expand agent runtime plan policy contract * fix: route pi runtime policy through runtime plan * fix: route codex runtime policy through runtime plan * fix: route fallback outcome classification through runtime plan * refactor: make runtime plan contracts topology-safe * fix: restore runtime plan test type coverage * fix: align runtime plan schema contract assertions * fix: stabilize incomplete turn runtime tests * fix: stabilize codex native web search test * fix: preserve codex auth profile secret refs * fix: keep runtime resolved refs canonical * fix: preserve permissive nested openai schemas * fix: accept Codex auth provider aliases * test: update media-only groups mock * fix: resolve runtime plan rebase checks * fix: resolve runtime plan rebase checks --------- Co-authored-by: Eva <eva@100yen.org> Co-authored-by: Peter Steinberger <steipete@gmail.com>
61 lines
1.9 KiB
TypeScript
61 lines
1.9 KiB
TypeScript
import {
|
|
resolveProviderIdForAuth,
|
|
type ProviderAuthAliasLookupParams,
|
|
} from "../../../src/agents/provider-auth-aliases.js";
|
|
import type { PluginManifestRegistry } from "../../../src/plugins/manifest-registry.js";
|
|
|
|
export const AUTH_PROFILE_RUNTIME_CONTRACT = {
|
|
sessionId: "session-auth-contract",
|
|
sessionKey: "agent:main:auth-contract",
|
|
runId: "run-auth-contract",
|
|
workspacePrompt: "continue with the bound Codex profile",
|
|
openAiProvider: "openai",
|
|
openAiCodexProvider: "openai-codex",
|
|
codexCliProvider: "codex-cli",
|
|
codexHarnessProvider: "codex",
|
|
claudeCliProvider: "claude-cli",
|
|
openAiProfileId: "openai:work",
|
|
openAiCodexProfileId: "openai-codex:work",
|
|
anthropicProfileId: "anthropic:work",
|
|
} as const;
|
|
|
|
export function createAuthAliasManifestRegistry(): PluginManifestRegistry {
|
|
return {
|
|
plugins: [
|
|
{
|
|
id: "openai",
|
|
origin: "bundled",
|
|
channels: [],
|
|
providers: [],
|
|
cliBackends: [],
|
|
skills: [],
|
|
hooks: [],
|
|
rootDir: "/tmp/openclaw-auth-contract-plugin",
|
|
source: "test",
|
|
manifestPath: "/tmp/openclaw-auth-contract-plugin/plugin.json",
|
|
providerAuthChoices: [
|
|
{
|
|
provider: AUTH_PROFILE_RUNTIME_CONTRACT.openAiCodexProvider,
|
|
method: "oauth",
|
|
choiceId: AUTH_PROFILE_RUNTIME_CONTRACT.openAiCodexProvider,
|
|
deprecatedChoiceIds: [AUTH_PROFILE_RUNTIME_CONTRACT.codexCliProvider],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
diagnostics: [],
|
|
};
|
|
}
|
|
|
|
export function expectedForwardedAuthProfile(params: {
|
|
provider: string;
|
|
authProfileProvider: string;
|
|
aliasLookupParams: ProviderAuthAliasLookupParams;
|
|
sessionAuthProfileId: string | undefined;
|
|
}): string | undefined {
|
|
return resolveProviderIdForAuth(params.provider, params.aliasLookupParams) ===
|
|
resolveProviderIdForAuth(params.authProfileProvider, params.aliasLookupParams)
|
|
? params.sessionAuthProfileId
|
|
: undefined;
|
|
}
|