pleumrouter 0.5.33 → 0.5.34

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/bin/pleum.mjs CHANGED
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pleumrouter",
3
- "version": "0.5.33",
3
+ "version": "0.5.34",
4
4
  "description": "Official PleumRouter terminal CLI — launch any coding agent against PleumRouter.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -311,6 +311,10 @@ export const ES = {
311
311
  "Sonnet model": "Modelo Sonnet",
312
312
  "Opus model": "Modelo Opus",
313
313
  "Haiku model": "Modelo Haiku",
314
+ "Use existing model configuration?": "¿Continuar con la configuración de modelos existente?",
315
+ "Keep existing configuration": "Continuar con la configuración existente",
316
+ "Reconfigure tiers": "Reconfigurar modelos",
317
+ "Choose Sonnet, Opus, and Haiku models again": "Volver a elegir los modelos Sonnet, Opus y Haiku",
314
318
 
315
319
  // Codex & agy Effort
316
320
  "Select reasoning effort": "Seleccionar esfuerzo de razonamiento",
@@ -311,6 +311,10 @@ export const JA = {
311
311
  "Sonnet model": "Sonnet モデル",
312
312
  "Opus model": "Opus モデル",
313
313
  "Haiku model": "Haiku モデル",
314
+ "Use existing model configuration?": "既存のモデル設定で続行しますか?",
315
+ "Keep existing configuration": "既存の設定のまま続行",
316
+ "Reconfigure tiers": "モデルを再設定",
317
+ "Choose Sonnet, Opus, and Haiku models again": "Sonnet、Opus、Haiku モデルを再選択",
314
318
 
315
319
  // Codex & agy Effort
316
320
  "Select reasoning effort": "推論強度 (effort) の選択",
@@ -374,6 +374,10 @@ export const KO = {
374
374
  "Sonnet model": "Sonnet 모델",
375
375
  "Opus model": "Opus 모델",
376
376
  "Haiku model": "Haiku 모델",
377
+ "Use existing model configuration?": "기존 모델 설정대로 진행하시겠습니까?",
378
+ "Keep existing configuration": "기존 설정대로 진행",
379
+ "Reconfigure tiers": "모델 다시 설정",
380
+ "Choose Sonnet, Opus, and Haiku models again": "Sonnet, Opus, Haiku 모델 새로 지정",
377
381
 
378
382
  // Codex & agy Effort
379
383
  "Select reasoning effort": "추론 강도(effort) 선택",
@@ -311,6 +311,10 @@ export const ZH = {
311
311
  "Sonnet model": "Sonnet 模型",
312
312
  "Opus model": "Opus 模型",
313
313
  "Haiku model": "Haiku 模型",
314
+ "Use existing model configuration?": "使用现有的模型配置继续吗?",
315
+ "Keep existing configuration": "保持现有配置继续",
316
+ "Reconfigure tiers": "重新配置模型",
317
+ "Choose Sonnet, Opus, and Haiku models again": "重新选择 Sonnet、Opus 和 Haiku 模型",
314
318
 
315
319
  // Codex & agy Effort
316
320
  "Select reasoning effort": "选择推理强度 (effort)",
package/src/menu.mjs CHANGED
@@ -201,20 +201,49 @@ export async function pickModelFor(item, defaultModel) {
201
201
  }
202
202
  }
203
203
 
204
- export async function pickClaudeCodeTiers(agentItem) {
204
+ export async function pickClaudeCodeTiers(agentItem, { input = process.stdin, output = process.stdout } = {}) {
205
205
  const cfg = readConfig() ?? {};
206
- const savedTiers = cfg.claude_tiers || {};
206
+ const savedTiers = cfg.claude_tiers;
207
207
  const defaultTiers = {
208
208
  sonnet: "claude-sonnet-5",
209
209
  opus: "claude-opus-5-5",
210
210
  haiku: DEFAULT_MODEL,
211
211
  };
212
212
  const baseTiers = {
213
- sonnet: savedTiers.sonnet || defaultTiers.sonnet,
214
- opus: savedTiers.opus || defaultTiers.opus,
215
- haiku: savedTiers.haiku || defaultTiers.haiku,
213
+ sonnet: savedTiers?.sonnet || defaultTiers.sonnet,
214
+ opus: savedTiers?.opus || defaultTiers.opus,
215
+ haiku: savedTiers?.haiku || defaultTiers.haiku,
216
216
  };
217
217
 
218
+ // 기존 설정이 존재하면 1-클릭 확인 메뉴: Enter 1회로 기존 설정대로 즉시 실행
219
+ if (savedTiers && savedTiers.sonnet && savedTiers.opus && savedTiers.haiku) {
220
+ const keepChoice = await select(
221
+ [
222
+ {
223
+ id: "keep",
224
+ title: t("Keep existing configuration"),
225
+ desc: `Sonnet: ${savedTiers.sonnet} · Opus: ${savedTiers.opus} · Haiku: ${savedTiers.haiku}`,
226
+ },
227
+ {
228
+ id: "change",
229
+ title: t("Reconfigure tiers"),
230
+ desc: t("Choose Sonnet, Opus, and Haiku models again"),
231
+ },
232
+ ],
233
+ {
234
+ message: `${agentItem.title} — ${t("Use existing model configuration?")}`,
235
+ formatItem: (x) => `${x.title} ${style.dim(x.desc)}`,
236
+ limit: 5,
237
+ input,
238
+ output,
239
+ },
240
+ );
241
+ if (!keepChoice) return null;
242
+ if (keepChoice.id === "keep") {
243
+ return savedTiers;
244
+ }
245
+ }
246
+
218
247
  // 1/3단계: Sonnet 모델 지정 (10개 핵심 추천 + 200+ 전체 검색 + 프로바이더 라우팅)
219
248
  const sonnet = await pickModelFor(
220
249
  { title: `${agentItem.title} (1/3) — ${t("Sonnet model")}` },
package/src/recipes.mjs CHANGED
@@ -52,19 +52,24 @@ export const RECIPES = {
52
52
  ANTHROPIC_BASE_URL: ROOT,
53
53
  ANTHROPIC_API_KEY: key,
54
54
  ANTHROPIC_AUTH_TOKEN: key,
55
- // /model 이 GET {ANTHROPIC_BASE_URL}/v1/models 를 치게 한다. 기본값은 꺼져 있다.
56
- CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY: "1",
55
+ // CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY는 의도적으로 설정하지 않는다:
56
+ // 활성화 시 Claude Code가 GET /v1/models를 호출해 카탈로그 200+개 모델을
57
+ // /model 메뉴에 쏟아부어 화면이 난잡해지는 원인이 된다.
57
58
  ANTHROPIC_DEFAULT_SONNET_MODEL: toAnthropic(sonnet),
59
+ ANTHROPIC_DEFAULT_SONNET_MODEL_NAME: "Sonnet",
60
+ ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION: "Sonnet 5 · Efficient for routine tasks",
58
61
  ANTHROPIC_DEFAULT_OPUS_MODEL: toAnthropic(opus),
62
+ ANTHROPIC_DEFAULT_OPUS_MODEL_NAME: "Opus",
63
+ ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION: "Opus 5.5 · Best for everyday, complex tasks",
59
64
  ANTHROPIC_DEFAULT_HAIKU_MODEL: toAnthropic(haiku),
65
+ ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME: "Haiku",
66
+ ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION: "Haiku 4.5 · Fastest for quick answers",
60
67
  ANTHROPIC_SMALL_MODEL: toAnthropic(haiku),
61
68
  };
62
69
  },
63
- args: (m) => {
64
- const isObj = m && typeof m === "object";
65
- const main = (isObj ? m.sonnet : m) || DEFAULT_MODEL;
66
- return ["--model", main.startsWith("anthropic/") ? main : `anthropic/${main}`];
67
- },
70
+ // CLI 인자에 임의의 --model을 넘기지 않고 Claude Code의 내장 티어(Default/Opus)로 기동하게 하여
71
+ // /model 화면에 깨끗한 5개 표준 항목(Default, Opus, Fable, Sonnet, Haiku)만 표시되도록 한다.
72
+ args: () => [],
68
73
  },
69
74
  codex: {
70
75
  label: "Codex CLI",
package/src/wire.mjs CHANGED
@@ -88,7 +88,6 @@ export function wireClaudeSettings(existingJson, { root, key }) {
88
88
  ANTHROPIC_BASE_URL: root,
89
89
  ANTHROPIC_AUTH_TOKEN: key,
90
90
  ANTHROPIC_API_KEY: key,
91
- CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY: "1",
92
91
  API_TIMEOUT_MS: "3000000",
93
92
  CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC: "1",
94
93
  };