claude-scionos 5.1.0 → 5.2.0

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.fr.md CHANGED
@@ -8,7 +8,7 @@ _[🇬🇧 Read in English](./README.md)_
8
8
 
9
9
  - lancement guidé pour les nouveaux utilisateurs
10
10
  - `--strategy` pour choisir une stratégie sans menu
11
- - `--subagent-model` pour garder le défaut de stratégie ou forcer les sous-agents vers Haiku ou GPT 5.4 mini sur le service RouterLab par défaut
11
+ - `--subagent-model` pour garder le défaut de stratégie ou forcer les sous-agents vers Haiku, GPT 5.4 mini, ou claude-deepseek-v4-flash sur le service RouterLab par défaut
12
12
  - `--service llm` pour l'accès RouterLab LLM sur invitation
13
13
  - `--no-prompt` pour l'automatisation et la CI
14
14
  - `--list-strategies` pour voir les routes disponibles
@@ -66,7 +66,7 @@ npx claude-scionos --strategy aws --no-prompt -p "Résume ce dépôt"
66
66
 
67
67
  ## Services
68
68
 
69
- - le comportement par défaut utilise `https://routerlab.ch`
69
+ - le comportement par défaut utilise `https://api.routerlab.ch`
70
70
  - `--service llm` bascule le lanceur vers `https://llm.routerlab.ch`
71
71
  - `llm` est prévu pour un accès sur invitation
72
72
  - les tokens enregistrés avec `auth login --service llm` sont stockés séparément du token RouterLab par défaut
@@ -95,13 +95,11 @@ Par défaut, chaque stratégie garde son propre modèle de sous-agent. Sur le se
95
95
  - `--subagent-model default` : garde le défaut de la stratégie
96
96
  - `--subagent-model haiku` : force les sous-agents vers `claude-haiku-4-5-20251001`
97
97
  - `--subagent-model gpt-5.4-mini` : force les sous-agents vers `claude-gpt-5.4-mini`
98
+ - `--subagent-model claude-deepseek-v4-flash` : force les sous-agents vers `claude-deepseek-v4-flash`
98
99
 
99
100
  Par exemple, `--strategy deepseek-v4` utilise `claude-deepseek-v4-flash` pour les sous-agents par défaut. Ajouter `--subagent-model haiku` conserve le routage principal DeepSeek mais définit `CLAUDE_CODE_SUBAGENT_MODEL=claude-haiku-4-5-20251001`.
100
101
 
101
- Avec `--service llm --strategy claude`, la question du modèle de sous-agent est ignorée et les sous-agents sont forcés vers `claude-sonnet-4-6`. Les autres stratégies `llm` demandent un de ces modèles de sous-agent :
102
-
103
- - `gpt-5.4-mini`
104
- - `claude-deepseek-v4-flash`
102
+ Toutes les stratégies du `--service llm` supportent les mêmes modèles de sous-agents que le service par défaut.
105
103
 
106
104
  ## Gestion du token
107
105
 
@@ -134,7 +132,7 @@ claude-scionos auth test
134
132
 
135
133
  - `--strategy <value>` évite le menu interactif et choisit directement la route
136
134
  - `--service <value>` change la cible RouterLab. `routerlab` reste le défaut et `llm` est réservé à l'accès sur invitation
137
- - `--subagent-model <default|haiku|gpt-5.4-mini>` choisit seulement le modèle de sous-agent Claude Code sur le service RouterLab par défaut ; avec `--service llm`, les valeurs acceptées sont `gpt-5.4-mini` et `claude-deepseek-v4-flash`
135
+ - `--subagent-model <default|haiku|gpt-5.4-mini|claude-deepseek-v4-flash>` surcharge le modèle de sous-agent Claude Code sur le service RouterLab par défaut ainsi que sur `--service llm`
138
136
  - `--no-prompt` désactive toutes les questions interactives
139
137
 
140
138
  Quand `--no-prompt` est utilisé, le lanceur doit déjà avoir un token via `ANTHROPIC_AUTH_TOKEN` ou via le stockage sécurisé.
package/README.md CHANGED
@@ -8,7 +8,7 @@ _[🇫🇷 Lire en français](./README.fr.md)_
8
8
 
9
9
  - Guided launch for first-time users
10
10
  - `--strategy` to preselect a routing strategy
11
- - `--subagent-model` to keep the strategy default or force subagents to Haiku or GPT 5.4 mini on the default RouterLab service
11
+ - `--subagent-model` to keep the strategy default or force subagents to Haiku, GPT 5.4 mini, or claude-deepseek-v4-flash on the default RouterLab service
12
12
  - `--service llm` for invitation-only RouterLab LLM access
13
13
  - `--no-prompt` for automation and CI
14
14
  - `--list-strategies` to inspect available routes
@@ -66,7 +66,7 @@ npx claude-scionos --strategy aws --no-prompt -p "Summarize this repo"
66
66
 
67
67
  ## Services
68
68
 
69
- - Default behavior uses `https://routerlab.ch`
69
+ - Default behavior uses `https://api.routerlab.ch`
70
70
  - `--service llm` switches the launcher to `https://llm.routerlab.ch`
71
71
  - `llm` is intended for invitation-only access
72
72
  - Tokens stored with `auth login --service llm` are kept separate from the default RouterLab token
@@ -95,13 +95,11 @@ By default, each strategy keeps its own subagent model. On the default RouterLab
95
95
  - `--subagent-model default`: keep the strategy default
96
96
  - `--subagent-model haiku`: force subagents to `claude-haiku-4-5-20251001`
97
97
  - `--subagent-model gpt-5.4-mini`: force subagents to `claude-gpt-5.4-mini`
98
+ - `--subagent-model claude-deepseek-v4-flash`: force subagents to `claude-deepseek-v4-flash`
98
99
 
99
100
  For example, `--strategy deepseek-v4` uses `claude-deepseek-v4-flash` for subagents by default. Adding `--subagent-model haiku` keeps the DeepSeek main model routing but sets `CLAUDE_CODE_SUBAGENT_MODEL=claude-haiku-4-5-20251001`.
100
101
 
101
- With `--service llm --strategy claude`, the Subagent Model question is skipped and subagents are forced to `claude-sonnet-4-6`. Other `llm` strategies ask for one of these subagent models:
102
-
103
- - `gpt-5.4-mini`
104
- - `claude-deepseek-v4-flash`
102
+ All `--service llm` strategies support the same subagent models as the default service.
105
103
 
106
104
  ## Token Handling
107
105
 
@@ -134,7 +132,7 @@ claude-scionos auth test
134
132
 
135
133
  - `--strategy <value>` skips the interactive strategy menu and selects the route directly
136
134
  - `--service <value>` switches between RouterLab targets. `routerlab` is the default and `llm` is invitation-only
137
- - `--subagent-model <default|haiku|gpt-5.4-mini>` selects only the Claude Code subagent model on the default RouterLab service; with `--service llm`, supported values are `gpt-5.4-mini` and `claude-deepseek-v4-flash`
135
+ - `--subagent-model <default|haiku|gpt-5.4-mini|claude-deepseek-v4-flash>` overrides the Claude Code subagent model on both the default RouterLab service and `--service llm`
138
136
  - `--no-prompt` disables every interactive question
139
137
 
140
138
  When `--no-prompt` is used, the launcher must already have a token from `ANTHROPIC_AUTH_TOKEN` or secure storage.
package/index.js CHANGED
@@ -150,7 +150,7 @@ function showHelp() {
150
150
  console.log(chalk.gray("Flags"));
151
151
  console.log(` ${chalk.cyan("--strategy <value>")} Preselect a strategy without opening the menu`);
152
152
  console.log(` ${chalk.cyan(`--service <${supportedServices}>`)} Select the RouterLab access target (${chalk.white("llm")} is invitation-only)`);
153
- console.log(` ${chalk.cyan("--subagent-model <default|haiku|gpt-5.4-mini>")} Override the Claude Code subagent model`);
153
+ console.log(` ${chalk.cyan("--subagent-model <default|haiku|gpt-5.4-mini|claude-deepseek-v4-flash>")} Override the Claude Code subagent model`);
154
154
  console.log(` ${chalk.cyan("--no-prompt")} Do not ask any interactive question`);
155
155
  console.log(` ${chalk.cyan("--list-strategies")} List strategies and availability`);
156
156
  console.log(` ${chalk.cyan("--scionos-debug")} Show launch diagnostics`);
@@ -565,9 +565,6 @@ async function resolveStrategyChoice(parsed, modelIds, serviceConfig) {
565
565
  }
566
566
 
567
567
  async function resolveSubagentModelChoice(parsed, serviceConfig, strategyValue) {
568
- if (serviceConfig?.value === 'llm' && strategyValue === 'claude') {
569
- return 'claude-sonnet-4-6';
570
- }
571
568
 
572
569
  if (parsed.subagentModel !== 'default') {
573
570
  getSubagentModelOverride(parsed.subagentModel, serviceConfig?.value);
@@ -578,36 +575,28 @@ async function resolveSubagentModelChoice(parsed, serviceConfig, strategyValue)
578
575
  return 'default';
579
576
  }
580
577
 
581
- const choices = serviceConfig?.value === 'llm'
582
- ? [
583
- {
584
- name: 'GPT 5.4 mini',
585
- value: 'gpt-5.4-mini',
586
- description: 'Force Claude Code subagents to gpt-5.4-mini.',
587
- },
588
- {
589
- name: 'Claude DeepSeek V4 flash',
590
- value: 'claude-deepseek-v4-flash',
591
- description: 'Force Claude Code subagents to claude-deepseek-v4-flash.',
592
- },
593
- ]
594
- : [
595
- {
596
- name: 'Strategy default',
597
- value: 'default',
598
- description: 'Use the subagent model defined by the selected strategy.',
599
- },
600
- {
601
- name: 'Claude Haiku',
602
- value: 'haiku',
603
- description: 'Force Claude Code subagents to claude-haiku-4-5-20251001.',
604
- },
605
- {
606
- name: 'GPT 5.4 mini',
607
- value: 'gpt-5.4-mini',
608
- description: 'Force Claude Code subagents to gpt-5.4-mini.',
609
- },
610
- ];
578
+ const choices = [
579
+ {
580
+ name: 'Strategy default',
581
+ value: 'default',
582
+ description: 'Use the subagent model defined by the selected strategy.',
583
+ },
584
+ {
585
+ name: 'Claude Haiku',
586
+ value: 'haiku',
587
+ description: 'Force Claude Code subagents to claude-haiku-4-5-20251001.',
588
+ },
589
+ {
590
+ name: 'GPT 5.4 mini',
591
+ value: 'gpt-5.4-mini',
592
+ description: 'Force Claude Code subagents to gpt-5.4-mini.',
593
+ },
594
+ {
595
+ name: 'DeepSeek V4 flash',
596
+ value: 'claude-deepseek-v4-flash',
597
+ description: 'Force Claude Code subagents to claude-deepseek-v4-flash.',
598
+ },
599
+ ];
611
600
 
612
601
  return select({
613
602
  message: 'Select Subagent Model:',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-scionos",
3
- "version": "5.1.0",
3
+ "version": "5.2.0",
4
4
  "description": "RouterLab launcher, model strategy configurator and secure token wrapper for Claude Code CLI",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -43,7 +43,7 @@
43
43
  },
44
44
  "private": false,
45
45
  "dependencies": {
46
- "@inquirer/prompts": "^8.4.3"
46
+ "@inquirer/prompts": "^8.5.0"
47
47
  },
48
48
  "devDependencies": {
49
49
  "@eslint/js": "^10.0.1",
package/src/routerlab.js CHANGED
@@ -9,7 +9,7 @@ const SERVICES = {
9
9
  label: 'RouterLab',
10
10
  availabilityLabel: 'RouterLab',
11
11
  tokenPromptLabel: 'RouterLab',
12
- baseUrl: 'https://routerlab.ch',
12
+ baseUrl: 'https://api.routerlab.ch',
13
13
  secureStorageAccount: 'routerlab-token',
14
14
  secureStorageLabel: 'RouterLab Token',
15
15
  secureStorageFileName: 'routerlab-token.secure.txt',
@@ -65,9 +65,11 @@ const SUBAGENT_MODEL_CHOICES = {
65
65
  default: null,
66
66
  haiku: 'claude-haiku-4-5-20251001',
67
67
  'gpt-5.4-mini': 'claude-gpt-5.4-mini',
68
+ 'claude-deepseek-v4-flash': 'claude-deepseek-v4-flash',
68
69
  };
69
70
  const LLM_SUBAGENT_MODEL_CHOICES = {
70
71
  default: null,
72
+ haiku: 'claude-haiku-4-5-20251001',
71
73
  'gpt-5.4-mini': 'claude-gpt-5.4-mini',
72
74
  'claude-deepseek-v4-flash': 'claude-deepseek-v4-flash',
73
75
  };
@@ -624,9 +626,7 @@ function getStrategyEnvironment(strategyValue, serviceValue = DEFAULT_SERVICE, o
624
626
  const environment = {...(strategy.environment ?? {})};
625
627
  const normalizedServiceValue = normalizeServiceValue(serviceValue);
626
628
  const normalizedStrategyValue = normalizeStrategyValue(strategyValue);
627
- const subagentModelOverride = normalizedServiceValue === 'llm' && normalizedStrategyValue === 'claude'
628
- ? LLM_SUBAGENT_MODEL
629
- : getSubagentModelOverride(options.subagentModel, normalizedServiceValue);
629
+ const subagentModelOverride = getSubagentModelOverride(options.subagentModel, normalizedServiceValue);
630
630
 
631
631
  if (subagentModelOverride) {
632
632
  environment.CLAUDE_CODE_SUBAGENT_MODEL = subagentModelOverride;