mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-02 08:11:34 +00:00
* refactor(config): consolidate media model lists * refactor(config): unify memory configuration * refactor(config): consolidate TTS ownership * refactor(config): move typing policy to agents * refactor(config): retire product-level config surfaces * refactor(config): share scoped tool policy type * chore(config): refresh generated baselines * fix(config): honor agent typing overrides * fix(config): migrate sibling config consumers * refactor(infra): keep base64url decoder private * fix(config): strip invalid legacy TTS values * chore(config): refresh rebased baseline hash * fix(doctor): route legacy messages.tts.realtime voice to talk during tts move * refactor(config): polish final layout names * refactor(config): freeze retired tuning defaults * feat(config): add fast mode default symmetry * refactor(config): key agent entries by id * docs(config): update final layout reference * test(config): cover final layout migrations * chore(config): refresh final layout baselines * fix(config): align final layout runtime readers * fix(config): align remaining readers * fix(config): stabilize final layout migrations * fix(config): finalize config projection proof * fix(config): address final layout review * docs(release): preserve historical config names * fix(config): complete keyed agent migration * fix(config): close final migration gaps * fix(config): finish full-branch review * fix(config): complete runtime secret detection * fix(config): close final review findings * fix(config): finish canonical docs and heartbeat migration * fix(config): integrate latest main after rebase * refactor(env): isolate test-only controls * refactor(env): isolate build and development controls * refactor(env): collapse process identity indirection * refactor(env): remove duplicate config and temp aliases * docs(env): define the operator-facing allowlist * ci(env): ratchet production variable count * fix(env): remove stale provider helper import * fix(env): make ratchet sorting explicit * test(env): keep test seam in dead-code audit * test(env): cover ratchet growth and boundary; document surface budgets * docs(config): document tier-eval consolidations * docs(config): clarify speech preference ownership * test(memory): align retired tuning fixtures * refactor(memory): freeze engine heuristics * refactor(config): apply tier-eval tranche * refactor(tts): move persona shaping to providers * refactor(compaction): move prompt policy to providers * test(config): align hookified prompt fixtures * chore(deadcode): classify test-only exports * chore(github): remove unused spawn helper * chore(deadcode): classify queue diagnostics * chore(deadcode): remove unused lane snapshot export * chore(plugin-sdk): ratchet consolidated surface * fix(config): integrate latest main after rebase
53 lines
1.6 KiB
TypeScript
53 lines
1.6 KiB
TypeScript
/**
|
|
* Memory embedding adapter for Amazon Bedrock. It exposes Bedrock embeddings to
|
|
* the memory-core engine and verifies AWS credentials before auto-selection.
|
|
*/
|
|
import {
|
|
isMissingEmbeddingApiKeyError,
|
|
type MemoryEmbeddingProviderAdapter,
|
|
} from "openclaw/plugin-sdk/memory-core-host-engine-embeddings";
|
|
import {
|
|
createBedrockEmbeddingProvider,
|
|
DEFAULT_BEDROCK_EMBEDDING_MODEL,
|
|
hasAwsCredentials,
|
|
} from "./embedding-provider.js";
|
|
|
|
/** Memory-core adapter descriptor for Bedrock embeddings. */
|
|
export const bedrockMemoryEmbeddingProviderAdapter: MemoryEmbeddingProviderAdapter = {
|
|
id: "bedrock",
|
|
defaultModel: DEFAULT_BEDROCK_EMBEDDING_MODEL,
|
|
transport: "remote",
|
|
authProviderId: "amazon-bedrock",
|
|
autoSelectPriority: 60,
|
|
allowExplicitWhenConfiguredAuto: true,
|
|
shouldContinueAutoSelection: isMissingEmbeddingApiKeyError,
|
|
create: async (options) => {
|
|
if (!(await hasAwsCredentials())) {
|
|
throw new Error(
|
|
'No API key found for provider "bedrock". ' +
|
|
"AWS credentials are not available. " +
|
|
"Set AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY, AWS_PROFILE, or AWS_BEARER_TOKEN_BEDROCK, " +
|
|
"configure an EC2/ECS/EKS role, " +
|
|
"or set memory.search.provider to another provider.",
|
|
);
|
|
}
|
|
const { provider, client } = await createBedrockEmbeddingProvider({
|
|
...options,
|
|
provider: "bedrock",
|
|
fallback: "none",
|
|
});
|
|
return {
|
|
provider,
|
|
runtime: {
|
|
id: "bedrock",
|
|
cacheKeyData: {
|
|
provider: "bedrock",
|
|
region: client.region,
|
|
model: client.model,
|
|
dimensions: client.dimensions,
|
|
},
|
|
},
|
|
};
|
|
},
|
|
};
|