@remnic/plugin-openclaw 9.54.5 → 9.54.6
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.
- package/README.md +5 -1
- package/dist/chunk-HDTN2ZKK.js +40 -0
- package/dist/index.js +385 -32
- package/dist/support-passport-model-route.d.ts +7 -0
- package/dist/support-passport-model-route.js +7 -0
- package/openclaw.plugin.json +1 -1
- package/package.json +9 -3
package/README.md
CHANGED
|
@@ -44,7 +44,7 @@ launchctl kickstart -k gui/501/ai.openclaw.gateway
|
|
|
44
44
|
## Compatibility Policy
|
|
45
45
|
|
|
46
46
|
Remnic supports OpenClaw releases from at least the previous 60 days. As of
|
|
47
|
-
|
|
47
|
+
August 14, 2026, that means releases back to June 15, 2026.
|
|
48
48
|
The package metadata keeps the installer compatibility floor at the single
|
|
49
49
|
`>=2026.4.1` shape OpenClaw setup expects because that older floor is still
|
|
50
50
|
more permissive than the active 60-day requirement.
|
|
@@ -75,6 +75,10 @@ When adding newer OpenClaw manifest surfaces, keep older-compatible metadata in
|
|
|
75
75
|
place for hosts inside that 60-day window unless an upstream breaking change is
|
|
76
76
|
documented and unavoidable.
|
|
77
77
|
|
|
78
|
+
The August 14 sweep covered the Support Passport manifest and gateway route.
|
|
79
|
+
The existing `>=2026.4.1` installer floor remains more permissive than the
|
|
80
|
+
active window, so this change does not raise it.
|
|
81
|
+
|
|
78
82
|
## Benchmarking The OpenClaw Chain
|
|
79
83
|
|
|
80
84
|
The benchmark CLI can now exercise the real OpenClaw-backed answer path instead
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// src/support-passport-model-route.ts
|
|
2
|
+
import { gatewayTaskChainOptions } from "@remnic/core/fallback-llm";
|
|
3
|
+
function hasConfiguredExplicitRoute(config) {
|
|
4
|
+
if (config.modelSource !== "gateway") return true;
|
|
5
|
+
if (config.taskModelChain !== void 0) {
|
|
6
|
+
return typeof config.taskModelChain.primary === "string" && config.taskModelChain.primary.trim().length > 0;
|
|
7
|
+
}
|
|
8
|
+
const agentId = config.gatewayAgentId.trim();
|
|
9
|
+
if (agentId.length === 0) return true;
|
|
10
|
+
const persona = config.gatewayConfig?.agents?.list?.find((agent) => agent.id === agentId);
|
|
11
|
+
return typeof persona?.model?.primary === "string" && persona.model.primary.trim().length > 0;
|
|
12
|
+
}
|
|
13
|
+
function createOpenClawSupportPassportModelRoute(config, client) {
|
|
14
|
+
const routeConfig = { ...config, gatewayAgentId: config.gatewayAgentId.trim() };
|
|
15
|
+
const explicitRouteAvailable = hasConfiguredExplicitRoute(routeConfig);
|
|
16
|
+
const routeSelection = gatewayTaskChainOptions(routeConfig);
|
|
17
|
+
return {
|
|
18
|
+
kind: "gateway",
|
|
19
|
+
invoke: async (messages, options) => {
|
|
20
|
+
if (!explicitRouteAvailable) return null;
|
|
21
|
+
const routeOptions = {
|
|
22
|
+
temperature: options.temperature,
|
|
23
|
+
maxTokens: options.maxTokens,
|
|
24
|
+
timeoutMs: options.timeoutMs,
|
|
25
|
+
signal: options.signal,
|
|
26
|
+
store: false,
|
|
27
|
+
responsesJsonSchema: options.jsonSchema,
|
|
28
|
+
redactProviderErrors: true,
|
|
29
|
+
includeDefaultModelFallback: false,
|
|
30
|
+
acceptResponse: options.acceptResponse,
|
|
31
|
+
...routeSelection
|
|
32
|
+
};
|
|
33
|
+
return await client.chatCompletion(messages, routeOptions);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export {
|
|
39
|
+
createOpenClawSupportPassportModelRoute
|
|
40
|
+
};
|