@okclaw-build/cli 1.0.0-beta.56 → 1.0.0-beta.57
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.
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import type { Installer } from './base.js';
|
|
2
2
|
export { backupOpenclawUserData } from '../openclaw-user-data.js';
|
|
3
|
+
type OpenclawProviderConfig = {
|
|
4
|
+
providers: Record<string, unknown>;
|
|
5
|
+
defaultModel: string;
|
|
6
|
+
};
|
|
7
|
+
export declare function resolveOpenclawProviderConfig(config: Record<string, unknown>): OpenclawProviderConfig;
|
|
3
8
|
export declare class OpenclawInstaller implements Installer {
|
|
4
9
|
checkDeps(): Promise<void>;
|
|
5
10
|
install(version: string): Promise<void>;
|
|
@@ -19,7 +24,10 @@ export declare class OpenclawInstaller implements Installer {
|
|
|
19
24
|
* requires the --replace flag, otherwise `openclaw config set` refuses
|
|
20
25
|
* to drop existing keys.
|
|
21
26
|
*
|
|
22
|
-
*
|
|
27
|
+
* New config files may wrap providers as `{ providers, defaultModel }` so
|
|
28
|
+
* deployment can set the user's selected primary model explicitly. Legacy
|
|
29
|
+
* provider-map-only config still falls back to the first provider's first
|
|
30
|
+
* model for compatibility.
|
|
23
31
|
*/
|
|
24
32
|
configure(config: Record<string, unknown>): Promise<void>;
|
|
25
33
|
uninstall(): Promise<void>;
|
|
@@ -9,6 +9,25 @@ import { backupOpenclawUserData } from '../openclaw-user-data.js';
|
|
|
9
9
|
import { uninstallBridgeService } from '../bridge/service.js';
|
|
10
10
|
export { backupOpenclawUserData } from '../openclaw-user-data.js';
|
|
11
11
|
const OPENCLAW_CONFIG = `${OPENCLAW_HOME}/openclaw.json`;
|
|
12
|
+
function isObjectRecord(value) {
|
|
13
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
14
|
+
}
|
|
15
|
+
export function resolveOpenclawProviderConfig(config) {
|
|
16
|
+
const wrapperProviders = config.providers;
|
|
17
|
+
const providers = isObjectRecord(wrapperProviders) ? wrapperProviders : config;
|
|
18
|
+
const explicitDefaultModel = typeof config.defaultModel === 'string' ? config.defaultModel.trim() : '';
|
|
19
|
+
if (explicitDefaultModel) {
|
|
20
|
+
return { providers, defaultModel: explicitDefaultModel };
|
|
21
|
+
}
|
|
22
|
+
for (const [providerName, providerConfig] of Object.entries(providers)) {
|
|
23
|
+
const pc = providerConfig;
|
|
24
|
+
const modelList = pc.models;
|
|
25
|
+
if (modelList?.[0]?.id) {
|
|
26
|
+
return { providers, defaultModel: `${providerName}/${modelList[0].id}` };
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return { providers, defaultModel: '' };
|
|
30
|
+
}
|
|
12
31
|
export class OpenclawInstaller {
|
|
13
32
|
async checkDeps() {
|
|
14
33
|
await checkDiskSpace(500);
|
|
@@ -98,11 +117,17 @@ export class OpenclawInstaller {
|
|
|
98
117
|
* requires the --replace flag, otherwise `openclaw config set` refuses
|
|
99
118
|
* to drop existing keys.
|
|
100
119
|
*
|
|
101
|
-
*
|
|
120
|
+
* New config files may wrap providers as `{ providers, defaultModel }` so
|
|
121
|
+
* deployment can set the user's selected primary model explicitly. Legacy
|
|
122
|
+
* provider-map-only config still falls back to the first provider's first
|
|
123
|
+
* model for compatibility.
|
|
102
124
|
*/
|
|
103
125
|
async configure(config) {
|
|
104
126
|
if (Object.keys(config).length === 0)
|
|
105
127
|
return;
|
|
128
|
+
const resolved = resolveOpenclawProviderConfig(config);
|
|
129
|
+
if (Object.keys(resolved.providers).length === 0)
|
|
130
|
+
return;
|
|
106
131
|
// `openclaw config set` does a hash-checked atomic replace on
|
|
107
132
|
// openclaw.json; if the daemon's file-watcher writes its own snapshot
|
|
108
133
|
// back mid-flight the cli set either fails with
|
|
@@ -112,30 +137,20 @@ export class OpenclawInstaller {
|
|
|
112
137
|
// configure() window.
|
|
113
138
|
await stopDaemonForExclusiveAccess('openclaw provider config');
|
|
114
139
|
info('Configuring openclaw models & providers...');
|
|
115
|
-
// Default model = first provider's first model id
|
|
116
|
-
let defaultModel = '';
|
|
117
|
-
for (const [providerName, providerConfig] of Object.entries(config)) {
|
|
118
|
-
const pc = providerConfig;
|
|
119
|
-
const modelList = pc.models;
|
|
120
|
-
if (modelList?.[0]?.id) {
|
|
121
|
-
defaultModel = `${providerName}/${modelList[0].id}`;
|
|
122
|
-
break;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
140
|
// Full replace via `openclaw config set ... --replace`. --strict-json
|
|
126
141
|
// forces JSON parsing (no raw-string fallback).
|
|
127
142
|
await runCommand('openclaw', [
|
|
128
143
|
'config',
|
|
129
144
|
'set',
|
|
130
145
|
'models.providers',
|
|
131
|
-
JSON.stringify(
|
|
146
|
+
JSON.stringify(resolved.providers),
|
|
132
147
|
'--strict-json',
|
|
133
148
|
'--replace',
|
|
134
149
|
]);
|
|
135
|
-
info(`Replaced models.providers with: ${Object.keys(
|
|
136
|
-
if (defaultModel) {
|
|
137
|
-
await runCommand('openclaw', ['config', 'set', 'agents.defaults.model.primary', '--', defaultModel]);
|
|
138
|
-
info(`Default model: ${defaultModel}`);
|
|
150
|
+
info(`Replaced models.providers with: ${Object.keys(resolved.providers).join(', ')}`);
|
|
151
|
+
if (resolved.defaultModel) {
|
|
152
|
+
await runCommand('openclaw', ['config', 'set', 'agents.defaults.model.primary', '--', resolved.defaultModel]);
|
|
153
|
+
info(`Default model: ${resolved.defaultModel}`);
|
|
139
154
|
}
|
|
140
155
|
info('openclaw configured.');
|
|
141
156
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openclaw.js","sourceRoot":"","sources":["../../src/installers/openclaw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EACL,4BAA4B,EAC5B,WAAW,EACX,0BAA0B,GAC3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,MAAM,eAAe,GAAG,GAAG,aAAa,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"openclaw.js","sourceRoot":"","sources":["../../src/installers/openclaw.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED