claude-scionos 4.3.1 → 4.3.3

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
@@ -54,6 +54,7 @@ npx claude-scionos auth login
54
54
  npx claude-scionos auth login --service llm
55
55
  npx claude-scionos auth test
56
56
  npx claude-scionos --strategy aws
57
+ npx claude-scionos --service llm --strategy claude
57
58
  npx claude-scionos --service llm --strategy claude-gpt
58
59
  npx claude-scionos --strategy aws --no-prompt -p "Résume ce dépôt"
59
60
  ```
@@ -64,13 +65,14 @@ npx claude-scionos --strategy aws --no-prompt -p "Résume ce dépôt"
64
65
  - `--service llm` bascule le lanceur vers `https://llm.routerlab.ch`
65
66
  - `llm` est prévu pour un accès sur invitation
66
67
  - les tokens enregistrés avec `auth login --service llm` sont stockés séparément du token RouterLab par défaut
67
- - `llm` expose pour l'instant `claude-gpt`, `claude-qwen3.6-plus`, `claude-minimax-m2.7` et `claude-glm-5.1`
68
+ - `llm` expose pour l'instant `claude`, `claude-gpt`, `claude-qwen3.6-plus`, `claude-minimax-m2.7` et `claude-glm-5.1`
68
69
  - `routerlab` expose aussi `claude-gpt`, `claude-minimax-m2.7` et `claude-glm-5.1`
69
70
 
70
71
  ## Stratégies
71
72
 
72
73
  - `default` : utilise Claude Code normalement sans proxy local
73
74
  - `aws` : remappe les familles de modèles Claude vers les variantes Claude AWS de RouterLab
75
+ - `claude` : remappe les familles de modèles Claude sur `--service llm` vers les variantes Claude standard `claude-haiku-4-5-20251001`, `claude-sonnet-4-6` et `claude-opus-4-6`
74
76
  - `claude-gpt` : mappe les requêtes Claude vers la famille `claude-gpt`
75
77
  `claude-gpt-5.5 ==> claude-opus-4.7`, `claude-gpt-5.4 ==> claude-sonnet-4.6`, `claude-gpt-5.4-mini ==> claude-gpt-5.4-mini`
76
78
  - `claude-qwen3.6-plus` : force toutes les requêtes vers `claude-qwen3.6-plus`
package/README.md CHANGED
@@ -54,6 +54,7 @@ npx claude-scionos auth login
54
54
  npx claude-scionos auth login --service llm
55
55
  npx claude-scionos auth test
56
56
  npx claude-scionos --strategy aws
57
+ npx claude-scionos --service llm --strategy claude
57
58
  npx claude-scionos --service llm --strategy claude-gpt
58
59
  npx claude-scionos --strategy aws --no-prompt -p "Summarize this repo"
59
60
  ```
@@ -64,13 +65,14 @@ npx claude-scionos --strategy aws --no-prompt -p "Summarize this repo"
64
65
  - `--service llm` switches the launcher to `https://llm.routerlab.ch`
65
66
  - `llm` is intended for invitation-only access
66
67
  - Tokens stored with `auth login --service llm` are kept separate from the default RouterLab token
67
- - `llm` currently exposes `claude-gpt`, `claude-qwen3.6-plus`, `claude-minimax-m2.7`, and `claude-glm-5.1`
68
+ - `llm` currently exposes `claude`, `claude-gpt`, `claude-qwen3.6-plus`, `claude-minimax-m2.7`, and `claude-glm-5.1`
68
69
  - `routerlab` also exposes `claude-gpt`, `claude-minimax-m2.7`, and `claude-glm-5.1`
69
70
 
70
71
  ## Strategies
71
72
 
72
73
  - `default`: use Claude Code normally without the local proxy
73
74
  - `aws`: remap Claude model families to RouterLab AWS-backed Claude variants
75
+ - `claude`: remap Claude model families on `--service llm` to the standard Claude variants `claude-haiku-4-5-20251001`, `claude-sonnet-4-6`, and `claude-opus-4-6`
74
76
  - `claude-gpt`: map Claude requests to the `claude-gpt` family
75
77
  `claude-gpt-5.5 ==> claude-opus-4.7`, `claude-gpt-5.4 ==> claude-sonnet-4.6`, `claude-gpt-5.4-mini ==> claude-gpt-5.4-mini`
76
78
  - `claude-qwen3.6-plus`: force all requests to `claude-qwen3.6-plus`
package/index.js CHANGED
@@ -163,10 +163,6 @@ function getStrategyMenuLabel(strategyValue) {
163
163
  .concat(getServiceStrategies('llm'))
164
164
  .find((entry) => entry.value === strategyValue || entry.aliases?.includes(strategyValue));
165
165
 
166
- if (strategy?.value === 'aws') {
167
- return '💰 aws 50%';
168
- }
169
-
170
166
  return strategy?.selectionName || strategy?.name || strategyValue;
171
167
  }
172
168
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-scionos",
3
- "version": "4.3.1",
3
+ "version": "4.3.3",
4
4
  "description": "RouterLab launcher, strategy proxy and secure token wrapper for Claude Code CLI",
5
5
  "type": "module",
6
6
  "main": "index.js",
package/src/proxy.js CHANGED
@@ -64,7 +64,40 @@ function getPreferredClaudeGptModel(requestedModel = '') {
64
64
  return 'claude-gpt-5.4';
65
65
  }
66
66
 
67
+ function getPreferredClaudeModel(requestedModel = '') {
68
+ if (requestedModel.includes('haiku') || requestedModel.includes('mini')) {
69
+ return 'claude-haiku-4-5-20251001';
70
+ }
71
+
72
+ if (requestedModel.includes('opus')) {
73
+ return 'claude-opus-4-6';
74
+ }
75
+
76
+ return 'claude-sonnet-4-6';
77
+ }
78
+
67
79
  function resolveMappedModel(targetModel, requestedModel = '', availableModels = []) {
80
+ if (targetModel === 'claude') {
81
+ const preferredModel = getPreferredClaudeModel(requestedModel);
82
+ const availableClaudeModels = Array.isArray(availableModels)
83
+ ? availableModels.filter((model) => model.startsWith('claude-') && !model.startsWith('claude-gpt-'))
84
+ : [];
85
+
86
+ if (availableClaudeModels.length === 0) {
87
+ return preferredModel;
88
+ }
89
+
90
+ if (availableClaudeModels.includes(preferredModel)) {
91
+ return preferredModel;
92
+ }
93
+
94
+ return (
95
+ availableClaudeModels.find((model) => model === 'claude-sonnet-4-6')
96
+ ?? availableClaudeModels[0]
97
+ ?? preferredModel
98
+ );
99
+ }
100
+
68
101
  if (targetModel !== 'aws') {
69
102
  if (targetModel !== 'claude-gpt') {
70
103
  return targetModel;
package/src/routerlab.js CHANGED
@@ -28,7 +28,7 @@ const SERVICES = {
28
28
  secureStorageAccount: 'routerlab-llm-token',
29
29
  secureStorageLabel: 'RouterLab LLM Token',
30
30
  secureStorageFileName: 'routerlab-llm-token.secure.txt',
31
- strategyValues: ['claude-gpt', 'claude-qwen3.6-plus', 'claude-minimax-m2.7', 'claude-glm-5.1'],
31
+ strategyValues: ['claude', 'claude-gpt', 'claude-qwen3.6-plus', 'claude-minimax-m2.7', 'claude-glm-5.1'],
32
32
  },
33
33
  };
34
34
  const DEFAULT_SERVICE = 'routerlab';
@@ -84,6 +84,15 @@ const STRATEGIES = [
84
84
  selectionDescription: 'Forces all requests to claude-minimax-m2.5.',
85
85
  mappedModels: ['claude-minimax-m2.5'],
86
86
  },
87
+ {
88
+ value: 'claude',
89
+ name: 'Claude',
90
+ description: 'Maps Claude requests to standard Claude variants via a local proxy.',
91
+ selectionName: 'Claude (Opus 4.6)',
92
+ selectionDescription: 'Map models to claude-haiku, claude-sonnet, claude-opus.',
93
+ requiredModels: DEFAULT_CLAUDE_MODELS,
94
+ mappedModels: DEFAULT_CLAUDE_MODELS,
95
+ },
87
96
  {
88
97
  value: 'claude-gpt',
89
98
  name: 'OpenAI GPT',