@openclaw/cloudflare-ai-gateway-provider 2026.11.3 → 2026.11.5-beta.2
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.
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"entries":[{"output":"api.js","source":"extensions/cloudflare-ai-gateway/api.ts"},{"output":"catalog-provider.js","source":"extensions/cloudflare-ai-gateway/catalog-provider.ts"},{"output":"index.js","source":"extensions/cloudflare-ai-gateway/index.ts"},{"output":"models.js","source":"extensions/cloudflare-ai-gateway/models.ts"},{"output":"onboard.js","source":"extensions/cloudflare-ai-gateway/onboard.ts"}],"chunks":[{"output":"api.js","sha256":"94d7aad25ae0b6246ee57dd0d17818b7a01473898590b739a28b7f1b153df6e8","facadeSource":"extensions/cloudflare-ai-gateway/api.ts","sources":[]},{"output":"catalog-provider.js","sha256":"5b13ea2f02e8bfc069639e1f8cc2453485e1ec5d51517f162829ba4200a25a8c","facadeSource":"extensions/cloudflare-ai-gateway/catalog-provider.ts","sources":["extensions/cloudflare-ai-gateway/catalog-provider.ts"]},{"output":"index.js","sha256":"efb0e929b22a8933827730fe021eba3d8ba76cbaa12568f1ac7c7a98e2625c80","facadeSource":"extensions/cloudflare-ai-gateway/index.ts","sources":["extensions/cloudflare-ai-gateway/index.ts"]},{"output":"models.js","sha256":"d7cdf734cdf2f930d20f73e1b2c81c4bdf7c5af8464e1c47a2def5bc6919882f","facadeSource":"extensions/cloudflare-ai-gateway/models.ts","sources":["extensions/cloudflare-ai-gateway/models.ts"]},{"output":"onboard.js","sha256":"076bd43d4afd72c8b9771dd744cb07ccce8b65a952835f0b9e73e7e5ab4573f0","facadeSource":"extensions/cloudflare-ai-gateway/onboard.ts","sources":["extensions/cloudflare-ai-gateway/onboard.ts"]}],"unrenderedSources":["extensions/cloudflare-ai-gateway/api.ts"]}
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { CLOUDFLARE_AI_GATEWAY_DEFAULT_MODEL_REF } from "./models.js";
|
|
2
2
|
import { buildCloudflareAiGatewayCatalogProvider } from "./catalog-provider.js";
|
|
3
3
|
import { applyCloudflareAiGatewayConnectionConfig, applyCloudflareAiGatewayProviderConnectionConfig } from "./onboard.js";
|
|
4
|
-
import { wrapCloudflareAiGatewayProviderStream } from "./stream-wrappers.js";
|
|
5
4
|
import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
|
|
6
5
|
import { applyAuthProfileConfig, buildApiKeyCredential, ensureAuthProfileStoreAsync, listProfilesForProvider, normalizeOptionalSecretInput } from "openclaw/plugin-sdk/provider-auth";
|
|
7
6
|
import { captureProviderApiKey, persistProviderApiKey } from "openclaw/plugin-sdk/provider-auth-api-key";
|
|
7
|
+
import { createAnthropicThinkingPrefillPayloadWrapper } from "openclaw/plugin-sdk/provider-stream-shared";
|
|
8
|
+
import { createSubsystemLogger } from "openclaw/plugin-sdk/runtime-env";
|
|
8
9
|
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
9
10
|
//#region extensions/cloudflare-ai-gateway/index.ts
|
|
11
|
+
const log = createSubsystemLogger("cloudflare-ai-gateway-stream");
|
|
10
12
|
const PROVIDER_ID = "cloudflare-ai-gateway";
|
|
11
13
|
const PROVIDER_ENV_VAR = "CLOUDFLARE_AI_GATEWAY_API_KEY";
|
|
12
14
|
const PROFILE_ID = "cloudflare-ai-gateway:default";
|
|
@@ -131,7 +133,12 @@ var cloudflare_ai_gateway_default = definePluginEntry({
|
|
|
131
133
|
}
|
|
132
134
|
},
|
|
133
135
|
classifyFailoverReason: ({ errorMessage }) => /\bworkers?_ai\b.*\b(?:rate|limit|quota)\b/i.test(errorMessage) ? "rate_limit" : void 0,
|
|
134
|
-
wrapStreamFn:
|
|
136
|
+
wrapStreamFn: (ctx) => {
|
|
137
|
+
if (ctx.model?.api !== void 0 && ctx.model.api !== "anthropic-messages") return ctx.streamFn;
|
|
138
|
+
return createAnthropicThinkingPrefillPayloadWrapper(ctx.streamFn, (stripped) => {
|
|
139
|
+
log.warn(`removed ${stripped} trailing assistant prefill message${stripped === 1 ? "" : "s"} because Anthropic extended thinking requires conversations to end with a user turn`);
|
|
140
|
+
});
|
|
141
|
+
}
|
|
135
142
|
});
|
|
136
143
|
}
|
|
137
144
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/cloudflare-ai-gateway-provider",
|
|
3
|
-
"version": "2026.11.
|
|
3
|
+
"version": "2026.11.5-beta.2",
|
|
4
4
|
"description": "OpenClaw Cloudflare AI Gateway provider plugin.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
"minHostVersion": ">=2026.6.8"
|
|
19
19
|
},
|
|
20
20
|
"compat": {
|
|
21
|
-
"pluginApi": ">=2026.11.
|
|
21
|
+
"pluginApi": ">=2026.11.5-beta.2"
|
|
22
22
|
},
|
|
23
23
|
"build": {
|
|
24
|
-
"openclawVersion": "2026.11.
|
|
24
|
+
"openclawVersion": "2026.11.5-beta.2",
|
|
25
25
|
"bundledDist": false
|
|
26
26
|
},
|
|
27
27
|
"release": {
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"assets/activity.svg"
|
|
41
41
|
],
|
|
42
42
|
"peerDependencies": {
|
|
43
|
-
"openclaw": ">=2026.11.
|
|
43
|
+
"openclaw": ">=2026.11.5-beta.2"
|
|
44
44
|
},
|
|
45
45
|
"peerDependenciesMeta": {
|
|
46
46
|
"openclaw": {
|
package/dist/stream-wrappers.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { createAnthropicThinkingPrefillPayloadWrapper } from "openclaw/plugin-sdk/provider-stream-shared";
|
|
2
|
-
import { createSubsystemLogger } from "openclaw/plugin-sdk/runtime-env";
|
|
3
|
-
//#region extensions/cloudflare-ai-gateway/stream-wrappers.ts
|
|
4
|
-
const log = createSubsystemLogger("cloudflare-ai-gateway-stream");
|
|
5
|
-
function wrapCloudflareAiGatewayProviderStream(ctx) {
|
|
6
|
-
if (ctx.model?.api !== void 0 && ctx.model.api !== "anthropic-messages") return ctx.streamFn;
|
|
7
|
-
return createAnthropicThinkingPrefillPayloadWrapper(ctx.streamFn, (stripped) => {
|
|
8
|
-
log.warn(`removed ${stripped} trailing assistant prefill message${stripped === 1 ? "" : "s"} because Anthropic extended thinking requires conversations to end with a user turn`);
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
//#endregion
|
|
12
|
-
export { wrapCloudflareAiGatewayProviderStream };
|