@openclaw/amazon-bedrock-provider 2026.5.12-beta.8 → 2026.5.14-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -164,23 +164,41 @@ function buildCohereBody(family, texts, inputType, dims) {
164
164
  }
165
165
  return JSON.stringify(body);
166
166
  }
167
+ function parseBedrockEmbeddingResponseJson(raw) {
168
+ try {
169
+ const parsed = JSON.parse(raw);
170
+ return parsed && typeof parsed === "object" && !Array.isArray(parsed) ? parsed : {};
171
+ } catch {
172
+ throw new Error("Amazon Bedrock embedding response returned malformed JSON");
173
+ }
174
+ }
175
+ function asNumberArray(value) {
176
+ return Array.isArray(value) ? value : [];
177
+ }
178
+ function asNumberArrayBatch(value) {
179
+ return Array.isArray(value) ? value.filter(Array.isArray) : [];
180
+ }
167
181
  function parseSingle(family, raw) {
168
- const data = JSON.parse(raw);
182
+ const data = parseBedrockEmbeddingResponseJson(raw);
169
183
  switch (family) {
170
- case "nova": return data.embeddings?.[0]?.embedding ?? [];
184
+ case "nova": return asNumberArray(Array.isArray(data.embeddings) ? data.embeddings[0]?.embedding : null);
171
185
  case "twelvelabs":
172
- if (Array.isArray(data.data)) return data.data[0]?.embedding ?? [];
173
- if (Array.isArray(data.data?.embedding)) return data.data.embedding;
174
- return data.embedding ?? [];
175
- default: return data.embedding ?? [];
186
+ if (Array.isArray(data.data)) return asNumberArray(data.data[0]?.embedding);
187
+ if (data.data && typeof data.data === "object") return asNumberArray(data.data.embedding);
188
+ return asNumberArray(data.embedding);
189
+ default: return asNumberArray(data.embedding);
176
190
  }
177
191
  }
178
192
  function parseCohereBatch(family, raw) {
179
- const embeddings = JSON.parse(raw).embeddings;
193
+ const embeddings = parseBedrockEmbeddingResponseJson(raw).embeddings;
180
194
  if (!embeddings) return [];
181
- if (family === "cohere-v4" && !Array.isArray(embeddings)) return embeddings.float ?? [];
182
- return embeddings;
195
+ if (family === "cohere-v4" && !Array.isArray(embeddings)) return embeddings && typeof embeddings === "object" ? asNumberArrayBatch(embeddings.float) : [];
196
+ return asNumberArrayBatch(embeddings);
183
197
  }
198
+ const __testing = {
199
+ parseCohereBatch,
200
+ parseSingle
201
+ };
184
202
  async function createBedrockEmbeddingProvider(options) {
185
203
  const client = resolveBedrockEmbeddingClient(options);
186
204
  const { BedrockRuntimeClient, InvokeModelCommand } = await loadSdk();
@@ -267,4 +285,4 @@ async function hasAwsCredentials(env = process.env, loadCredentialProvider = loa
267
285
  }
268
286
  }
269
287
  //#endregion
270
- export { DEFAULT_BEDROCK_EMBEDDING_MODEL, createBedrockEmbeddingProvider, hasAwsCredentials };
288
+ export { DEFAULT_BEDROCK_EMBEDDING_MODEL, __testing, createBedrockEmbeddingProvider, hasAwsCredentials };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/amazon-bedrock-provider",
3
- "version": "2026.5.12-beta.8",
3
+ "version": "2026.5.14-beta.1",
4
4
  "description": "OpenClaw Amazon Bedrock provider plugin",
5
5
  "repository": {
6
6
  "type": "git",
@@ -24,16 +24,17 @@
24
24
  "install": {
25
25
  "npmSpec": "@openclaw/amazon-bedrock-provider",
26
26
  "defaultChoice": "npm",
27
- "minHostVersion": ">=2026.5.12-beta.6"
27
+ "minHostVersion": ">=2026.5.12-beta.1"
28
28
  },
29
29
  "compat": {
30
- "pluginApi": ">=2026.5.12-beta.8"
30
+ "pluginApi": ">=2026.5.14-beta.1"
31
31
  },
32
32
  "build": {
33
- "openclawVersion": "2026.5.12-beta.8",
33
+ "openclawVersion": "2026.5.14-beta.1",
34
34
  "bundledDist": false
35
35
  },
36
36
  "release": {
37
+ "publishToClawHub": true,
37
38
  "publishToNpm": true
38
39
  },
39
40
  "runtimeExtensions": [
@@ -45,7 +46,7 @@
45
46
  "openclaw.plugin.json"
46
47
  ],
47
48
  "peerDependencies": {
48
- "openclaw": ">=2026.5.12-beta.8"
49
+ "openclaw": ">=2026.5.14-beta.1"
49
50
  },
50
51
  "peerDependenciesMeta": {
51
52
  "openclaw": {