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.
@@ -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
- return `✅ Successfully completed: ${client.name} is configured and locally verified.${activation}`;
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;
@@ -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
  }
@@ -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
  }
@@ -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
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "scalemax",
3
- "version": "0.1.45",
3
+ "version": "0.1.47",
4
4
  "description": "Universal ScaleMax installer for AI coding clients",
5
5
  "type": "module",
6
6
  "bin": {