scalemax 0.1.45 → 0.1.47
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/commands/configure.js +3 -0
- package/dist/commands/helper-bot.js +2 -1
- package/dist/configure/cline.d.ts +6 -0
- package/dist/configure/cline.js +8 -0
- package/dist/configure/models.js +3 -0
- package/dist/configure/openclaw.js +1 -1
- package/dist/configure/opencode.js +1 -1
- package/dist/configure/roo-code.d.ts +7 -0
- package/dist/configure/roo-code.js +9 -1
- package/dist/types/client.d.ts +2 -0
- package/package.json +1 -1
|
@@ -221,6 +221,9 @@ export async function configureCommand(opts = {}) {
|
|
|
221
221
|
}
|
|
222
222
|
}
|
|
223
223
|
successful.add(client.id);
|
|
224
|
+
// Only after verification: a rolled-back client gets no usage advice.
|
|
225
|
+
if (res.tip)
|
|
226
|
+
console.log(chalk.cyan(` Tip: ${res.tip}`));
|
|
224
227
|
}
|
|
225
228
|
catch (err) {
|
|
226
229
|
const message = err instanceof Error ? err.message : String(err);
|
|
@@ -1049,7 +1049,8 @@ async function runOneHelperClientAction(kind, client, connection, home, requeste
|
|
|
1049
1049
|
: client.id === 'cline'
|
|
1050
1050
|
? ' Restart Cline; reload VS Code too when using the extension.'
|
|
1051
1051
|
: client.id === 'continue' ? ' Reload VS Code once so Continue loads the verified ScaleMax profile.' : '';
|
|
1052
|
-
|
|
1052
|
+
const tip = configured.tip ? ` Tip: ${configured.tip}` : '';
|
|
1053
|
+
return `✅ Successfully completed: ${client.name} is configured and locally verified.${activation}${tip}`;
|
|
1053
1054
|
}
|
|
1054
1055
|
/** Execute only narrowly allowlisted ScaleMax client actions; never model-generated shell commands. */
|
|
1055
1056
|
export async function executeHelperAction(question, connection, home, clientCatalog = clients, write = message => console.log(message)) {
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import { ConfigureContext, ConfigureResult, DetectContext, InstallContext, RemoveContext } from '../types/client.js';
|
|
2
|
+
/**
|
|
3
|
+
* Printed after every successful configure. Cline only edits files and carries
|
|
4
|
+
* out a task in Act mode; Plan mode explores and plans, which customers read as
|
|
5
|
+
* a broken key. Same advice as the docs' Cline guide and troubleshooting page.
|
|
6
|
+
*/
|
|
7
|
+
export declare const CLINE_MODE_TIP = "Switch Cline to Act mode to let it edit files and run the task. Plan mode only reads and plans; nothing is wrong with your key.";
|
|
2
8
|
export interface ClineExtensionSurface {
|
|
3
9
|
path: string;
|
|
4
10
|
version?: string;
|
package/dist/configure/cline.js
CHANGED
|
@@ -16,6 +16,12 @@ const extensionId = 'saoudrizwan.claude-dev';
|
|
|
16
16
|
const cliProviderId = 'openai-native';
|
|
17
17
|
const legacyProviderId = 'scalemax';
|
|
18
18
|
const extensionCredentialHashKey = 'scalemaxManagedOpenAiApiKeySha256';
|
|
19
|
+
/**
|
|
20
|
+
* Printed after every successful configure. Cline only edits files and carries
|
|
21
|
+
* out a task in Act mode; Plan mode explores and plans, which customers read as
|
|
22
|
+
* a broken key. Same advice as the docs' Cline guide and troubleshooting page.
|
|
23
|
+
*/
|
|
24
|
+
export const CLINE_MODE_TIP = 'Switch Cline to Act mode to let it edit files and run the task. Plan mode only reads and plans; nothing is wrong with your key.';
|
|
19
25
|
function credentialSha256(value) {
|
|
20
26
|
return crypto.createHash('sha256').update(value, 'utf8').digest('hex');
|
|
21
27
|
}
|
|
@@ -518,6 +524,7 @@ export async function configure(ctx) {
|
|
|
518
524
|
changed: false,
|
|
519
525
|
path: configuredPaths[0],
|
|
520
526
|
message: 'verified Cline configuration is already current',
|
|
527
|
+
tip: CLINE_MODE_TIP,
|
|
521
528
|
};
|
|
522
529
|
}
|
|
523
530
|
let snapshots;
|
|
@@ -541,6 +548,7 @@ export async function configure(ctx) {
|
|
|
541
548
|
changed: true,
|
|
542
549
|
path: configuredPaths[0],
|
|
543
550
|
message: `configured ${surfaces.cliSupported ? `CLI ${cliVersion}` : ''}${surfaces.cliSupported && surfaces.extensionSupported ? ' and ' : ''}${surfaces.extensionSupported ? `VS Code extension ${extensionVersion}` : ''} with one raw ScaleMax credential; restart Cline to activate`,
|
|
551
|
+
tip: CLINE_MODE_TIP,
|
|
544
552
|
rollback,
|
|
545
553
|
};
|
|
546
554
|
}
|
package/dist/configure/models.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { isAnthropicModel, isModelRouteAvailable, isRetiredModelId } from '../utils/api.js';
|
|
2
2
|
const preferredAnthropic = [
|
|
3
3
|
'claude-opus-5',
|
|
4
|
+
// Opus 5.5 ranks right after Opus 5, so claude-opus-5 stays the default
|
|
5
|
+
// for new installs; promoting 5.5 to the default is a separate decision.
|
|
6
|
+
'claude-opus-5-5',
|
|
4
7
|
'claude-opus-4-8',
|
|
5
8
|
'claude-sonnet-5',
|
|
6
9
|
'claude-opus-4-7',
|
|
@@ -42,7 +42,7 @@ function entries(ctx, ids, family) {
|
|
|
42
42
|
id: modelId,
|
|
43
43
|
name: modelName(ctx, modelId),
|
|
44
44
|
input: family === 'anthropic' ? ['text', 'image'] : ['text'],
|
|
45
|
-
maxTokens: modelId === 'claude-opus-5'
|
|
45
|
+
maxTokens: (modelId === 'claude-opus-5' || modelId === 'claude-opus-5-5')
|
|
46
46
|
? Math.min(metadata?.max_output_tokens || 128000, 128000)
|
|
47
47
|
: Math.min(metadata?.max_output_tokens || 4096, 4096)
|
|
48
48
|
};
|
|
@@ -24,7 +24,7 @@ function providerConfig(ctx) {
|
|
|
24
24
|
tool_call: modelSupportsTools(ctx, modelId),
|
|
25
25
|
limit: {
|
|
26
26
|
context: metadata?.context_window || (modelId.startsWith('claude-') ? 200000 : 128000),
|
|
27
|
-
output: modelId === 'claude-opus-5'
|
|
27
|
+
output: (modelId === 'claude-opus-5' || modelId === 'claude-opus-5-5')
|
|
28
28
|
? Math.min(metadata?.max_output_tokens || 128000, 128000)
|
|
29
29
|
: Math.min(metadata?.max_output_tokens || 4096, 4096)
|
|
30
30
|
}
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import { ConfigureContext, ConfigureResult, RemoveContext } from '../types/client.js';
|
|
2
|
+
/**
|
|
3
|
+
* Printed after every successful configure. Roo's built-in Ask and Architect
|
|
4
|
+
* modes carry no `command` tool group, so the model truthfully answers that
|
|
5
|
+
* terminal tools are not available and nothing runs -- customers read that as
|
|
6
|
+
* a broken key. Same advice as the docs' Roo Code guide and troubleshooting page.
|
|
7
|
+
*/
|
|
8
|
+
export declare const ROO_CODE_MODE_TIP = "Run tasks in Code or Debug mode. Ask and Architect modes cannot run terminal commands, so Roo says \"terminal tools are not available\" there. Switch modes; nothing is wrong with your key.";
|
|
2
9
|
export declare function configure(ctx: ConfigureContext): Promise<ConfigureResult>;
|
|
3
10
|
export declare function verify(ctx: ConfigureContext): Promise<ConfigureResult>;
|
|
4
11
|
export declare function remove(ctx: RemoveContext): Promise<ConfigureResult>;
|
|
@@ -18,6 +18,13 @@ const claudeProfileId = 'scalemax-claude';
|
|
|
18
18
|
const deepSeekProfileId = 'scalemax-deepseek';
|
|
19
19
|
const glmProfileId = 'scalemax-glm-5-2';
|
|
20
20
|
const rooMaximumOutputTokens = 384_000;
|
|
21
|
+
/**
|
|
22
|
+
* Printed after every successful configure. Roo's built-in Ask and Architect
|
|
23
|
+
* modes carry no `command` tool group, so the model truthfully answers that
|
|
24
|
+
* terminal tools are not available and nothing runs -- customers read that as
|
|
25
|
+
* a broken key. Same advice as the docs' Roo Code guide and troubleshooting page.
|
|
26
|
+
*/
|
|
27
|
+
export const ROO_CODE_MODE_TIP = 'Run tasks in Code or Debug mode. Ask and Architect modes cannot run terminal commands, so Roo says "terminal tools are not available" there. Switch modes; nothing is wrong with your key.';
|
|
21
28
|
function exactChatProfile(ctx, model) {
|
|
22
29
|
if (model.trim().toLowerCase() === 'glm-5.2')
|
|
23
30
|
return { name: glmProfileName, id: glmProfileId, model };
|
|
@@ -152,7 +159,7 @@ export async function configure(ctx) {
|
|
|
152
159
|
const nextProfile = handoff(ctx);
|
|
153
160
|
if (originalSettings === nextSettings && originalProfile === nextProfile) {
|
|
154
161
|
await fs.chmod(profileFile, 0o600).catch(() => undefined);
|
|
155
|
-
return { id, name, changed: false, path: profileFile, message: 'supported Roo Code auto-import handoff is already current; reload VS Code to consume it' };
|
|
162
|
+
return { id, name, changed: false, path: profileFile, message: 'supported Roo Code auto-import handoff is already current; reload VS Code to consume it', tip: ROO_CODE_MODE_TIP };
|
|
156
163
|
}
|
|
157
164
|
await backupFile(settingsFile, ctx.home);
|
|
158
165
|
await backupFile(profileFile, ctx.home);
|
|
@@ -175,6 +182,7 @@ export async function configure(ctx) {
|
|
|
175
182
|
changed: true,
|
|
176
183
|
path: profileFile,
|
|
177
184
|
message: 'created a private, supported auto-import handoff; reload VS Code so Roo Code imports the profile into SecretStorage',
|
|
185
|
+
tip: ROO_CODE_MODE_TIP,
|
|
178
186
|
rollback: snapshotRollback(snapshots, ctx.platform),
|
|
179
187
|
};
|
|
180
188
|
}
|
package/dist/types/client.d.ts
CHANGED
|
@@ -73,6 +73,8 @@ export interface ConfigureResult {
|
|
|
73
73
|
changed: boolean;
|
|
74
74
|
path?: string;
|
|
75
75
|
message: string;
|
|
76
|
+
/** One-line usage advice printed after a successful configure (e.g. which agent mode can run tools). */
|
|
77
|
+
tip?: string;
|
|
76
78
|
/** Restore the exact state captured immediately before this configure call. */
|
|
77
79
|
rollback?: () => Promise<void>;
|
|
78
80
|
}
|