pzero-operator 0.1.4 → 0.1.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/dist/migrations.js
CHANGED
|
@@ -11,7 +11,7 @@ const EXTENSIONS_DOC_URL = "https://github.com/operator/blob/main/packages/codin
|
|
|
11
11
|
const DEFAULT_MODELS_CONFIG = {
|
|
12
12
|
providers: {
|
|
13
13
|
"alem-ai-plus-gpt-oss": {
|
|
14
|
-
baseUrl: "https://llm.alem.ai
|
|
14
|
+
baseUrl: "https://llm.alem.ai",
|
|
15
15
|
api: "openai-completions",
|
|
16
16
|
authHeader: true,
|
|
17
17
|
compat: {
|
|
@@ -69,9 +69,9 @@ const DEFAULT_MODELS_CONFIG = {
|
|
|
69
69
|
},
|
|
70
70
|
};
|
|
71
71
|
const DEFAULT_SETTINGS_CONFIG = {
|
|
72
|
-
defaultProvider: "alem-ai-plus-
|
|
73
|
-
defaultModel: "
|
|
74
|
-
defaultThinkingLevel: "
|
|
72
|
+
defaultProvider: "alem-ai-plus-gpt-oss",
|
|
73
|
+
defaultModel: "gpt-oss",
|
|
74
|
+
defaultThinkingLevel: "low",
|
|
75
75
|
};
|
|
76
76
|
function ensureDefaultRuntimeConfig() {
|
|
77
77
|
const agentDir = getAgentDir();
|
|
@@ -98,9 +98,17 @@ function migrateAlemBaseUrls() {
|
|
|
98
98
|
if (!parsed || typeof parsed !== "object" || !parsed.providers || typeof parsed.providers !== "object") {
|
|
99
99
|
return false;
|
|
100
100
|
}
|
|
101
|
-
const expectedProviders = ["alem-ai-plus-gpt-oss", "alem-ai-plus-qwen3-6", "alem-ai-plus-gemma4"];
|
|
102
101
|
let changed = false;
|
|
103
|
-
|
|
102
|
+
const gptOssProvider = parsed.providers["alem-ai-plus-gpt-oss"];
|
|
103
|
+
if (gptOssProvider && typeof gptOssProvider === "object") {
|
|
104
|
+
if (gptOssProvider.baseUrl === "https://llm.alem.ai/v1" ||
|
|
105
|
+
gptOssProvider.baseUrl === "https://llm.alem.ai/chat/completions" ||
|
|
106
|
+
gptOssProvider.baseUrl === "https://llm.alem.ai/v1/chat/completions") {
|
|
107
|
+
gptOssProvider.baseUrl = "https://llm.alem.ai";
|
|
108
|
+
changed = true;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
for (const providerName of ["alem-ai-plus-qwen3-6", "alem-ai-plus-gemma4"]) {
|
|
104
112
|
const provider = parsed.providers[providerName];
|
|
105
113
|
if (!provider || typeof provider !== "object") {
|
|
106
114
|
continue;
|
|
@@ -121,6 +129,43 @@ function migrateAlemBaseUrls() {
|
|
|
121
129
|
return false;
|
|
122
130
|
}
|
|
123
131
|
}
|
|
132
|
+
function migrateAlemDefaultSettings() {
|
|
133
|
+
const settingsPath = getSettingsPath();
|
|
134
|
+
if (!existsSync(settingsPath))
|
|
135
|
+
return false;
|
|
136
|
+
try {
|
|
137
|
+
const parsed = JSON.parse(readFileSync(settingsPath, "utf-8"));
|
|
138
|
+
if (!parsed || typeof parsed !== "object") {
|
|
139
|
+
return false;
|
|
140
|
+
}
|
|
141
|
+
let changed = false;
|
|
142
|
+
if (!parsed.defaultProvider) {
|
|
143
|
+
parsed.defaultProvider = DEFAULT_SETTINGS_CONFIG.defaultProvider;
|
|
144
|
+
changed = true;
|
|
145
|
+
}
|
|
146
|
+
if (!parsed.defaultModel) {
|
|
147
|
+
parsed.defaultModel = DEFAULT_SETTINGS_CONFIG.defaultModel;
|
|
148
|
+
changed = true;
|
|
149
|
+
}
|
|
150
|
+
if (!parsed.defaultThinkingLevel) {
|
|
151
|
+
parsed.defaultThinkingLevel = DEFAULT_SETTINGS_CONFIG.defaultThinkingLevel;
|
|
152
|
+
changed = true;
|
|
153
|
+
}
|
|
154
|
+
if (parsed.defaultProvider === "alem-ai-plus-qwen3-6" &&
|
|
155
|
+
parsed.defaultModel === "qwen3-6" &&
|
|
156
|
+
parsed.defaultThinkingLevel === "high") {
|
|
157
|
+
parsed.defaultThinkingLevel = "low";
|
|
158
|
+
changed = true;
|
|
159
|
+
}
|
|
160
|
+
if (changed) {
|
|
161
|
+
writeFileSync(settingsPath, `${JSON.stringify(parsed, null, 2)}\n`, "utf-8");
|
|
162
|
+
}
|
|
163
|
+
return changed;
|
|
164
|
+
}
|
|
165
|
+
catch {
|
|
166
|
+
return false;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
124
169
|
/**
|
|
125
170
|
* Migrate legacy oauth.json and settings.json apiKeys to auth.json.
|
|
126
171
|
*
|
|
@@ -386,6 +431,7 @@ export async function showDeprecationWarnings(warnings) {
|
|
|
386
431
|
export function runMigrations(cwd) {
|
|
387
432
|
ensureDefaultRuntimeConfig();
|
|
388
433
|
migrateAlemBaseUrls();
|
|
434
|
+
migrateAlemDefaultSettings();
|
|
389
435
|
const migratedAuthProviders = migrateAuthToAuthJson();
|
|
390
436
|
migrateSessionsFromAgentRoot();
|
|
391
437
|
migrateToolsToBin();
|
|
@@ -3394,6 +3394,7 @@ export class InteractiveMode {
|
|
|
3394
3394
|
if (!requestedProvider) {
|
|
3395
3395
|
const models = this.session.modelRegistry
|
|
3396
3396
|
.getAll()
|
|
3397
|
+
.filter((model) => isAlemProvider(model.provider))
|
|
3397
3398
|
.slice()
|
|
3398
3399
|
.sort((a, b) => `${a.provider}/${a.id}`.localeCompare(`${b.provider}/${b.id}`));
|
|
3399
3400
|
if (models.length === 0) {
|
|
@@ -3413,7 +3414,14 @@ export class InteractiveMode {
|
|
|
3413
3414
|
this.showStatus("No active provider. Use /model first or pass a provider: /apikey <provider>");
|
|
3414
3415
|
return;
|
|
3415
3416
|
}
|
|
3416
|
-
|
|
3417
|
+
if (!isAlemProvider(provider)) {
|
|
3418
|
+
this.showStatus("API key updates are available only for Alem AI Plus models in this build.");
|
|
3419
|
+
return;
|
|
3420
|
+
}
|
|
3421
|
+
const knownProviders = new Set(this.session.modelRegistry
|
|
3422
|
+
.getAll()
|
|
3423
|
+
.filter((model) => isAlemProvider(model.provider))
|
|
3424
|
+
.map((model) => model.provider));
|
|
3417
3425
|
if (!knownProviders.has(provider)) {
|
|
3418
3426
|
this.showStatus(`Unknown provider: ${provider}`);
|
|
3419
3427
|
return;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pzero-operator",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Operator is a coding-first terminal AI agent from ProjectZero for software development, shell execution, local project workflows, and broader device-level operator control.",
|