tokenmix 0.3.0 → 0.4.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.md CHANGED
@@ -52,11 +52,12 @@ tokenmix kilo Print Kilo Code configuration
52
52
 
53
53
  ## Language
54
54
 
55
- The CLI speaks **English and 中文**, auto-detected from your system locale. Force it explicitly with `TOKENMIX_LANG`:
55
+ The CLI speaks **English, 中文, 日本語, 한국어, Español, and Français** — the same six languages as tokenmix.ai — auto-detected from your system locale (`LANG` / `LC_ALL`). Force it explicitly with `TOKENMIX_LANG`:
56
56
 
57
57
  ```bash
58
58
  TOKENMIX_LANG=zh npx tokenmix doctor # 中文
59
- TOKENMIX_LANG=en npx tokenmix doctor # English
59
+ TOKENMIX_LANG=ja npx tokenmix doctor # 日本語
60
+ TOKENMIX_LANG=fr npx tokenmix doctor # Français
60
61
  ```
61
62
 
62
63
  ## Configuration Location
@@ -1,4 +1,5 @@
1
1
  import { commandExists, run, captureRun } from '../utils/exec.js';
2
+ import { t } from '../i18n/index.js';
2
3
  const AIDER_BIN = 'aider';
3
4
  async function installCheck() {
4
5
  const bin = await commandExists(AIDER_BIN);
@@ -8,13 +9,13 @@ async function installCheck() {
8
9
  if (!py) {
9
10
  return {
10
11
  installed: false,
11
- hint: 'Aider requires Python 3. Install Python 3 from https://python.org/downloads, then come back and run `tokenmix aider` again.',
12
+ hint: t('aider.hintNeedPython'),
12
13
  };
13
14
  }
14
15
  const installCmd = pipx ? 'pipx install aider-chat' : 'pip install aider-chat';
15
16
  return {
16
17
  installed: false,
17
- hint: `Aider is not installed. Run this in another terminal:\n ${installCmd}\nThen come back and run \`tokenmix aider\` again — your TokenMix login is already saved, so it will pick up automatically.`,
18
+ hint: t('aider.hintNotInstalled', { cmd: installCmd }),
18
19
  };
19
20
  }
20
21
  try {
@@ -35,8 +36,8 @@ async function configure(apiKey, baseUrl, defaultModel) {
35
36
  TOKENMIX_DEFAULT_MODEL: defaultModel,
36
37
  },
37
38
  notes: [
38
- `Aider will use TokenMix via OpenAI-compatible endpoint.`,
39
- `Default model: openai/${defaultModel} — override with --model.`,
39
+ t('aider.noteUsing'),
40
+ t('aider.noteModel', { model: defaultModel }),
40
41
  ],
41
42
  };
42
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"aider.js","sourceRoot":"","sources":["../../src/agents/aider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aider.js","sourceRoot":"","sources":["../../src/agents/aider.ts"],"names":[],"mappings":"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"}
@@ -2,14 +2,17 @@ import os from 'os';
2
2
  import path from 'path';
3
3
  import fs from 'fs-extra';
4
4
  import { commandExists, run, captureRun } from '../utils/exec.js';
5
+ import { t } from '../i18n/index.js';
5
6
  const CLAUDE_BIN = 'claude';
6
7
  const CLAUDE_NPM_PACKAGE = '@anthropic-ai/claude-code';
7
8
  async function installCheck() {
8
9
  const bin = await commandExists(CLAUDE_BIN);
9
10
  if (!bin) {
11
+ const cmd = `npm install -g ${CLAUDE_NPM_PACKAGE}`;
10
12
  return {
11
13
  installed: false,
12
- hint: `Will install via: npm install -g ${CLAUDE_NPM_PACKAGE}`,
14
+ hint: t('install.willInstallVia', { cmd }),
15
+ installCmd: cmd,
13
16
  };
14
17
  }
15
18
  try {
@@ -62,12 +65,9 @@ async function configure(apiKey, baseUrl, _defaultModel) {
62
65
  catch {
63
66
  // ignore
64
67
  }
65
- const notes = [
66
- 'Available Claude models via tokenmix: claude-opus-4.7, claude-sonnet-4.6, claude-haiku-4.5',
67
- 'Run `tokenmix models --type chat` for the full list.',
68
- ];
68
+ const notes = [t('claude.noteModels'), t('claude.noteFullList')];
69
69
  if (replacingForeign) {
70
- notes.unshift('⚠ Replaced your existing Anthropic settings in ~/.claude/settings.json.', ' `tokenmix logout` removes TokenMix\'s entries (your old key cannot be auto-restored).', '');
70
+ notes.unshift(t('claude.noteReplaced1'), t('claude.noteReplaced2'), '');
71
71
  }
72
72
  return {
73
73
  configPath: settingsPath,
@@ -120,7 +120,7 @@ async function cleanup() {
120
120
  return {
121
121
  reverted: true,
122
122
  configPath: settingsPath,
123
- note: 'If you had your own ANTHROPIC_API_KEY here before, re-add it.',
123
+ note: t('claude.cleanupNote'),
124
124
  };
125
125
  }
126
126
  export const ClaudeCodeAgent = {
@@ -1 +1 @@
1
- {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/agents/claude.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/agents/claude.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { commandExists } from '../utils/exec.js';
2
+ import { t } from '../i18n/index.js';
2
3
  async function installCheck() {
3
4
  // Kilo Code is a config-only agent (VSCode extension). The CLI cannot install
4
5
  // the extension on the user's behalf, so we always proceed to `configure()` and
@@ -7,9 +8,7 @@ async function installCheck() {
7
8
  const code = await commandExists('code');
8
9
  return {
9
10
  installed: true,
10
- hint: code
11
- ? 'Install "Kilo Code" from the VSCode marketplace, then paste the snippet below into its settings.'
12
- : 'VSCode not detected on PATH. Install VSCode, then add the Kilo Code extension, then use the snippet below.',
11
+ hint: code ? t('kilo.hintMarketplace') : t('kilo.hintNoVscode'),
13
12
  };
14
13
  }
15
14
  async function configure(apiKey, baseUrl, defaultModel) {
@@ -17,15 +16,15 @@ async function configure(apiKey, baseUrl, defaultModel) {
17
16
  // We print the configuration values for the user to paste into Kilo settings.
18
17
  return {
19
18
  notes: [
20
- 'Kilo Code is a VSCode extension and does not have a CLI launcher.',
21
- 'Configure Kilo Code with the following:',
19
+ t('kilo.noteNoLauncher'),
20
+ t('kilo.noteConfigWith'),
22
21
  '',
23
22
  ` Provider: OpenAI Compatible`,
24
23
  ` Base URL: ${baseUrl}/v1`,
25
24
  ` API Key: ${apiKey}`,
26
25
  ` Default Model: ${defaultModel}`,
27
26
  '',
28
- 'Or paste this JSON snippet into Kilo Code settings (Settings → Providers → JSON):',
27
+ t('kilo.notePasteJson'),
29
28
  '',
30
29
  JSON.stringify({
31
30
  provider: 'openai-compatible',
@@ -34,7 +33,7 @@ async function configure(apiKey, baseUrl, defaultModel) {
34
33
  defaultModelId: defaultModel,
35
34
  }, null, 2),
36
35
  '',
37
- 'Keep this API key private — anyone with it can spend your TokenMix balance.',
36
+ t('kilo.noteKeepPrivate'),
38
37
  ],
39
38
  };
40
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"kilo.js","sourceRoot":"","sources":["../../src/agents/kilo.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,KAAK,UAAU,YAAY;IACzB,8EAA8E;IAC9E,gFAAgF;IAChF,2EAA2E;IAC3E,iDAAiD;IACjD,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAA;IACxC,OAAO;QACL,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,IAAI;YACR,CAAC,CAAC,kGAAkG;YACpG,CAAC,CAAC,4GAA4G;KACjH,CAAA;AACH,CAAC;AAED,KAAK,UAAU,SAAS,CACtB,MAAc,EACd,OAAe,EACf,YAAoB;IAEpB,6DAA6D;IAC7D,8EAA8E;IAC9E,OAAO;QACL,KAAK,EAAE;YACL,mEAAmE;YACnE,yCAAyC;YACzC,EAAE;YACF,oCAAoC;YACpC,oBAAoB,OAAO,KAAK;YAChC,oBAAoB,MAAM,EAAE;YAC5B,oBAAoB,YAAY,EAAE;YAClC,EAAE;YACF,mFAAmF;YACnF,EAAE;YACF,IAAI,CAAC,SAAS,CACZ;gBACE,QAAQ,EAAE,mBAAmB;gBAC7B,aAAa,EAAE,GAAG,OAAO,KAAK;gBAC9B,YAAY,EAAE,MAAM;gBACpB,cAAc,EAAE,YAAY;aAC7B,EACD,IAAI,EACJ,CAAC,CACF;YACD,EAAE;YACF,6EAA6E;SAC9E;KACF,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAoB;IACxC,EAAE,EAAE,MAAM;IACV,WAAW,EAAE,WAAW;IACxB,WAAW,EAAE,oDAAoD;IACjE,WAAW,EAAE,eAAe;IAC5B,YAAY;IACZ,SAAS;CACV,CAAA"}
1
+ {"version":3,"file":"kilo.js","sourceRoot":"","sources":["../../src/agents/kilo.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,kBAAkB,CAAA;AAEpC,KAAK,UAAU,YAAY;IACzB,8EAA8E;IAC9E,gFAAgF;IAChF,2EAA2E;IAC3E,iDAAiD;IACjD,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAA;IACxC,OAAO;QACL,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC;KAChE,CAAA;AACH,CAAC;AAED,KAAK,UAAU,SAAS,CACtB,MAAc,EACd,OAAe,EACf,YAAoB;IAEpB,6DAA6D;IAC7D,8EAA8E;IAC9E,OAAO;QACL,KAAK,EAAE;YACL,CAAC,CAAC,qBAAqB,CAAC;YACxB,CAAC,CAAC,qBAAqB,CAAC;YACxB,EAAE;YACF,oCAAoC;YACpC,oBAAoB,OAAO,KAAK;YAChC,oBAAoB,MAAM,EAAE;YAC5B,oBAAoB,YAAY,EAAE;YAClC,EAAE;YACF,CAAC,CAAC,oBAAoB,CAAC;YACvB,EAAE;YACF,IAAI,CAAC,SAAS,CACZ;gBACE,QAAQ,EAAE,mBAAmB;gBAC7B,aAAa,EAAE,GAAG,OAAO,KAAK;gBAC9B,YAAY,EAAE,MAAM;gBACpB,cAAc,EAAE,YAAY;aAC7B,EACD,IAAI,EACJ,CAAC,CACF;YACD,EAAE;YACF,CAAC,CAAC,sBAAsB,CAAC;SAC1B;KACF,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAoB;IACxC,EAAE,EAAE,MAAM;IACV,WAAW,EAAE,WAAW;IACxB,WAAW,EAAE,oDAAoD;IACjE,WAAW,EAAE,eAAe;IAC5B,YAAY;IACZ,SAAS;CACV,CAAA"}
@@ -2,6 +2,7 @@ import os from 'os';
2
2
  import path from 'path';
3
3
  import fs from 'fs-extra';
4
4
  import { commandExists, run, captureRun } from '../utils/exec.js';
5
+ import { t } from '../i18n/index.js';
5
6
  const OPENCODE_BIN = 'opencode';
6
7
  const OPENCODE_NPM_PACKAGE = 'opencode-ai';
7
8
  // OpenCode config search order (lowest to highest priority):
@@ -16,9 +17,11 @@ function configPath() {
16
17
  async function installCheck() {
17
18
  const bin = await commandExists(OPENCODE_BIN);
18
19
  if (!bin) {
20
+ const cmd = `npm install -g ${OPENCODE_NPM_PACKAGE}`;
19
21
  return {
20
22
  installed: false,
21
- hint: `Will install via: npm install -g ${OPENCODE_NPM_PACKAGE}`,
23
+ hint: t('install.willInstallVia', { cmd }),
24
+ installCmd: cmd,
22
25
  };
23
26
  }
24
27
  try {
@@ -70,8 +73,8 @@ async function configure(apiKey, baseUrl, defaultModel) {
70
73
  return {
71
74
  configPath: filePath,
72
75
  notes: [
73
- `Default model set to tokenmix/${defaultModel}`,
74
- `To switch models, run \`tokenmix models\` or use \`/connect\` inside OpenCode.`,
76
+ t('opencode.noteModel', { model: defaultModel }),
77
+ t('opencode.noteSwitch'),
75
78
  ],
76
79
  };
77
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/agents/opencode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/agents/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,MAAM,UAAU,CAAA;AAOzB,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACjE,OAAO,EAAE,CAAC,EAAE,MAAM,kBAAkB,CAAA;AAEpC,MAAM,YAAY,GAAG,UAAU,CAAA;AAC/B,MAAM,oBAAoB,GAAG,aAAa,CAAA;AAE1C,6DAA6D;AAC7D,sDAAsD;AACtD,qBAAqB;AACrB,8BAA8B;AAC9B,sCAAsC;AACtC,SAAS,UAAU;IACjB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAA;IACjF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,eAAe,CAAC,CAAA;AACxD,CAAC;AAED,KAAK,UAAU,YAAY;IACzB,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,CAAA;IAC7C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,GAAG,GAAG,kBAAkB,oBAAoB,EAAE,CAAA;QACpD,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,CAAC,CAAC,wBAAwB,EAAE,EAAE,GAAG,EAAE,CAAC;YAC1C,UAAU,EAAE,GAAG;SAChB,CAAA;IACH,CAAC;IACD,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;QACvD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAA;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;IAC5B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,OAAO;IACpB,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAA;AAC3D,CAAC;AAED,KAAK,UAAU,SAAS,CACtB,MAAc,EACd,OAAe,EACf,YAAoB;IAEpB,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAA;IAC7B,IAAI,QAAQ,GAA4B,EAAE,CAAA;IAC1C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAChD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,kBAAkB;IACpB,CAAC;IAED,sDAAsD;IACtD,+EAA+E;IAC/E,MAAM,gBAAgB,GAAG;QACvB,GAAG,EAAE,2BAA2B;QAChC,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE;YACP,OAAO,EAAE,GAAG,OAAO,KAAK;YACxB,MAAM;SACP;QACD,sFAAsF;QACtF,MAAM,EAAE;YACN,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;SACvC;KACF,CAAA;IAED,MAAM,gBAAgB,GAAI,QAAQ,CAAC,QAAoC,IAAI,EAAE,CAAA;IAE7E,MAAM,IAAI,GAAG;QACX,GAAG,QAAQ;QACX,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,YAAY,YAAY,EAAE;QACnD,QAAQ,EAAE;YACR,GAAG,gBAAgB;YACnB,QAAQ,EAAE,gBAAgB;SAC3B;KACF,CAAA;IAED,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC1C,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAE3D,OAAO;QACL,UAAU,EAAE,QAAQ;QACpB,KAAK,EAAE;YACL,CAAC,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;YAChD,CAAC,CAAC,qBAAqB,CAAC;SACzB;KACF,CAAA;AACH,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,IAAc;IAClC,MAAM,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;AAC/B,CAAC;AAED,+EAA+E;AAC/E,yDAAyD;AACzD,KAAK,UAAU,OAAO;IACpB,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAA;IAC7B,IAAI,QAAiC,CAAA;IACrC,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;IAC5B,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAA+C,CAAA;IACzE,IAAI,QAAQ,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;QACvC,OAAO,QAAQ,CAAC,QAAQ,CAAA;QACxB,OAAO,GAAG,IAAI,CAAA;QACd,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAC,QAAQ,CAAA;IAClE,CAAC;IACD,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACjF,OAAO,QAAQ,CAAC,KAAK,CAAA;QACrB,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC;IAED,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAA;IAE9D,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAC/D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAA;AACjD,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAoB;IAC5C,EAAE,EAAE,UAAU;IACd,WAAW,EAAE,UAAU;IACvB,WAAW,EAAE,kEAAkE;IAC/E,WAAW,EAAE,UAAU;IACvB,YAAY;IACZ,OAAO;IACP,SAAS;IACT,MAAM;IACN,OAAO;CACR,CAAA"}
@@ -31,7 +31,7 @@ export function registerAgentCommands(program, runner = runAgent) {
31
31
  }
32
32
  program
33
33
  .command(`${agent.id} [args...]`)
34
- .description(`Configure and launch ${agent.displayName} via TokenMix`)
34
+ .description(t('cmd.agent', { name: agent.displayName }))
35
35
  .allowUnknownOption(true)
36
36
  .passThroughOptions(true) // forward --version / --help / --any to the underlying agent
37
37
  .action(async (args = []) => {
@@ -79,8 +79,8 @@ export async function runAgent(agent, args) {
79
79
  logger.error(t('agent.installFailed', { name: agent.displayName }));
80
80
  logger.info(t('agent.installFailHint1'));
81
81
  logger.info(t('agent.installFailHint2'));
82
- if (status.hint) {
83
- logger.info(t('agent.installFailHint3', { cmd: status.hint.replace(/^Will install via:\s*/, '') }));
82
+ if (status.installCmd) {
83
+ logger.info(t('agent.installFailHint3', { cmd: status.installCmd }));
84
84
  }
85
85
  logger.info(t('agent.installFailHint4'));
86
86
  process.exit(1);
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runner.js","sourceRoot":"","sources":["../../src/commands/agent-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-runner.js","sourceRoot":"","sources":["../../src/commands/agent-runner.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,21 @@ function modeLabel(mode) {
16
16
  return mode;
17
17
  }
18
18
  }
19
+ // Localized agent tagline; falls back to the descriptor's English description.
20
+ function agentDesc(id, fallback) {
21
+ switch (id) {
22
+ case 'opencode':
23
+ return t('desc.opencode');
24
+ case 'claude':
25
+ return t('desc.claude');
26
+ case 'aider':
27
+ return t('desc.aider');
28
+ case 'kilo':
29
+ return t('desc.kilo');
30
+ default:
31
+ return fallback;
32
+ }
33
+ }
19
34
  export async function listCommand() {
20
35
  console.log();
21
36
  console.log(chalk.bold(t('list.title')));
@@ -24,7 +39,7 @@ export async function listCommand() {
24
39
  const id = chalk.cyan(a.id.padEnd(10));
25
40
  const mode = chalk.dim(`[${modeLabel(a.installMode)}]`);
26
41
  console.log(` ${id} ${a.displayName.padEnd(14)} ${mode}`);
27
- console.log(` ${chalk.dim(a.description)}`);
42
+ console.log(` ${chalk.dim(agentDesc(a.id, a.description))}`);
28
43
  }
29
44
  console.log();
30
45
  console.log(chalk.dim(t('list.usage')));
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,kBAAkB,CAAA;AAEpC,yDAAyD;AACzD,SAAS,SAAS,CAAC,IAAY;IAC7B,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,UAAU;YACb,OAAO,CAAC,CAAC,kBAAkB,CAAC,CAAA;QAC9B,KAAK,UAAU;YACb,OAAO,CAAC,CAAC,kBAAkB,CAAC,CAAA;QAC9B,KAAK,eAAe;YAClB,OAAO,CAAC,CAAC,uBAAuB,CAAC,CAAA;QACnC,KAAK,QAAQ;YACX,OAAO,CAAC,CAAC,iBAAiB,CAAC,CAAA;QAC7B;YACE,OAAO,IAAI,CAAA;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACxC,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QACvD,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;QAC1D,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IAChD,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACvC,OAAO,CAAC,GAAG,EAAE,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,kBAAkB,CAAA;AAEpC,yDAAyD;AACzD,SAAS,SAAS,CAAC,IAAY;IAC7B,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,UAAU;YACb,OAAO,CAAC,CAAC,kBAAkB,CAAC,CAAA;QAC9B,KAAK,UAAU;YACb,OAAO,CAAC,CAAC,kBAAkB,CAAC,CAAA;QAC9B,KAAK,eAAe;YAClB,OAAO,CAAC,CAAC,uBAAuB,CAAC,CAAA;QACnC,KAAK,QAAQ;YACX,OAAO,CAAC,CAAC,iBAAiB,CAAC,CAAA;QAC7B;YACE,OAAO,IAAI,CAAA;IACf,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,SAAS,SAAS,CAAC,EAAU,EAAE,QAAgB;IAC7C,QAAQ,EAAE,EAAE,CAAC;QACX,KAAK,UAAU;YACb,OAAO,CAAC,CAAC,eAAe,CAAC,CAAA;QAC3B,KAAK,QAAQ;YACX,OAAO,CAAC,CAAC,aAAa,CAAC,CAAA;QACzB,KAAK,OAAO;YACV,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;QACxB,KAAK,MAAM;YACT,OAAO,CAAC,CAAC,WAAW,CAAC,CAAA;QACvB;YACE,OAAO,QAAQ,CAAA;IACnB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACxC,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QACvD,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;QAC1D,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAA;IACjE,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACvC,OAAO,CAAC,GAAG,EAAE,CAAA;AACf,CAAC"}
@@ -9,9 +9,10 @@ export function detectLocale(env = process.env) {
9
9
  const raw = (env.TOKENMIX_LANG || env.LC_ALL || env.LC_MESSAGES || env.LANG || '')
10
10
  .toLowerCase()
11
11
  .trim();
12
- if (raw.startsWith('zh') || raw.includes('zh_') || raw.includes('zh-'))
13
- return 'zh';
14
- return 'en';
12
+ // Primary language subtag: zh_CN.UTF-8 → zh, pt-BR → pt, fr.UTF-8 fr.
13
+ // Any subtag with a catalog is supported; everything else falls back to en.
14
+ const lang = raw.split(/[-_.@]/)[0];
15
+ return Object.prototype.hasOwnProperty.call(catalogs, lang) ? lang : 'en';
15
16
  }
16
17
  export function setLocale(loc) {
17
18
  current = loc;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAc,MAAM,eAAe,CAAA;AAIxD,IAAI,OAAO,GAAW,IAAI,CAAA;AAE1B,4DAA4D;AAC5D,gEAAgE;AAChE,8EAA8E;AAC9E,gBAAgB;AAChB,wDAAwD;AACxD,MAAM,UAAU,YAAY,CAAC,MAAyB,OAAO,CAAC,GAAG;IAC/D,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;SAC/E,WAAW,EAAE;SACb,IAAI,EAAE,CAAA;IACT,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACnF,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,OAAO,GAAG,GAAG,CAAA;AACf,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,6EAA6E;AAC7E,iFAAiF;AACjF,MAAM,UAAU,CAAC,CAAC,GAAe,EAAE,MAAwC;IACzE,IAAI,CAAC,GAAW,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,CAAA;IAC1D,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QACvC,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAc,MAAM,eAAe,CAAA;AAIxD,IAAI,OAAO,GAAW,IAAI,CAAA;AAE1B,4DAA4D;AAC5D,gEAAgE;AAChE,8EAA8E;AAC9E,gBAAgB;AAChB,wDAAwD;AACxD,MAAM,UAAU,YAAY,CAAC,MAAyB,OAAO,CAAC,GAAG;IAC/D,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;SAC/E,WAAW,EAAE;SACb,IAAI,EAAE,CAAA;IACT,wEAAwE;IACxE,4EAA4E;IAC5E,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IACnC,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAE,IAAe,CAAC,CAAC,CAAC,IAAI,CAAA;AACvF,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,OAAO,GAAG,GAAG,CAAA;AACf,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,6EAA6E;AAC7E,iFAAiF;AACjF,MAAM,UAAU,CAAC,CAAC,GAAe,EAAE,MAAwC;IACzE,IAAI,CAAC,GAAW,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,CAAA;IAC1D,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QACvC,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC"}
@@ -77,6 +77,48 @@ export const en = {
77
77
  'balance.opening': 'Opening dashboard to view balance: {url}',
78
78
  'topup.opening': 'Opening top-up page: {url}',
79
79
  'browser.manual': 'Could not open a browser automatically. Open this URL manually:\n {url}',
80
+ // agent taglines (shown in `list`)
81
+ 'desc.opencode': 'sst/opencode — open source AI coding agent (TUI / Desktop / IDE)',
82
+ 'desc.claude': 'anthropics/claude-code — official Anthropic CLI coding agent',
83
+ 'desc.aider': 'Aider-AI/aider — paired-programming CLI (requires Python)',
84
+ 'desc.kilo': 'Kilo-Org/kilocode — VSCode extension (config-only)',
85
+ // install hints
86
+ 'install.willInstallVia': 'Will install via: {cmd}',
87
+ 'aider.hintNeedPython': 'Aider requires Python 3. Install Python 3 from https://python.org/downloads, then come back and run `tokenmix aider` again.',
88
+ 'aider.hintNotInstalled': 'Aider is not installed. Run this in another terminal:\n {cmd}\nThen come back and run `tokenmix aider` again — your TokenMix login is already saved, so it will pick up automatically.',
89
+ // opencode configure notes
90
+ 'opencode.noteModel': 'Default model set to tokenmix/{model}',
91
+ 'opencode.noteSwitch': 'To switch models, run `tokenmix models` or use `/connect` inside OpenCode.',
92
+ // claude configure notes
93
+ 'claude.noteModels': 'Available Claude models via tokenmix: claude-opus-4.7, claude-sonnet-4.6, claude-haiku-4.5',
94
+ 'claude.noteFullList': 'Run `tokenmix models --type chat` for the full list.',
95
+ 'claude.noteReplaced1': '⚠ Replaced your existing Anthropic settings in ~/.claude/settings.json.',
96
+ 'claude.noteReplaced2': " `tokenmix logout` removes TokenMix's entries (your old key cannot be auto-restored).",
97
+ 'claude.cleanupNote': 'If you had your own ANTHROPIC_API_KEY here before, re-add it.',
98
+ // aider configure notes
99
+ 'aider.noteUsing': 'Aider will use TokenMix via OpenAI-compatible endpoint.',
100
+ 'aider.noteModel': 'Default model: openai/{model} — override with --model.',
101
+ // kilo configure notes (prose only; technical lines stay verbatim)
102
+ 'kilo.noteNoLauncher': 'Kilo Code is a VSCode extension and does not have a CLI launcher.',
103
+ 'kilo.noteConfigWith': 'Configure Kilo Code with the following:',
104
+ 'kilo.notePasteJson': 'Or paste this JSON snippet into Kilo Code settings (Settings → Providers → JSON):',
105
+ 'kilo.noteKeepPrivate': 'Keep this API key private — anyone with it can spend your TokenMix balance.',
106
+ 'kilo.hintMarketplace': 'Install "Kilo Code" from the VSCode marketplace, then paste the snippet below into its settings.',
107
+ 'kilo.hintNoVscode': 'VSCode not detected on PATH. Install VSCode, then add the Kilo Code extension, then use the snippet below.',
108
+ // command / option descriptions (--help)
109
+ 'cmd.program': 'Zero-config CLI to use any open-source coding agent with TokenMix as the unified LLM backend.',
110
+ 'cmd.login': 'Log in to TokenMix (default: browser device authorization)',
111
+ 'cmd.loginKey': 'Paste an API key directly (skip browser flow, useful in CI)',
112
+ 'cmd.loginPaste': 'Force interactive paste prompt instead of browser flow',
113
+ 'cmd.loginUrl': 'Override API base URL (default: https://api.tokenmix.ai)',
114
+ 'cmd.logout': 'Remove stored credentials from this machine',
115
+ 'cmd.balance': 'Open the dashboard to view your balance',
116
+ 'cmd.topup': 'Open the browser to top up your account',
117
+ 'cmd.models': 'List available models with prices',
118
+ 'cmd.modelsType': 'Filter by type: chat | embedding | image | audio | video',
119
+ 'cmd.list': 'List supported coding agents',
120
+ 'cmd.doctor': 'Diagnose CLI configuration and agent installation',
121
+ 'cmd.agent': 'Configure and launch {name} via TokenMix',
80
122
  };
81
123
  export const zh = {
82
124
  'common.notLoggedIn': '未登录,请先运行 `tokenmix login`。',
@@ -151,6 +193,452 @@ export const zh = {
151
193
  'balance.opening': '正在打开仪表盘查看余额:{url}',
152
194
  'topup.opening': '正在打开充值页面:{url}',
153
195
  'browser.manual': '无法自动打开浏览器。请手动打开此链接:\n {url}',
196
+ // agent taglines (shown in `list`)
197
+ 'desc.opencode': 'sst/opencode — 开源 AI 编程 agent(TUI / 桌面 / IDE)',
198
+ 'desc.claude': 'anthropics/claude-code — Anthropic 官方 CLI 编程 agent',
199
+ 'desc.aider': 'Aider-AI/aider — 结对编程 CLI(需要 Python)',
200
+ 'desc.kilo': 'Kilo-Org/kilocode — VSCode 扩展(仅配置)',
201
+ // install hints
202
+ 'install.willInstallVia': '将自动安装:{cmd}',
203
+ 'aider.hintNeedPython': 'Aider 需要 Python 3。请从 https://python.org/downloads 安装 Python 3,然后重新运行 `tokenmix aider`。',
204
+ 'aider.hintNotInstalled': 'Aider 尚未安装。请在另一个终端运行:\n {cmd}\n然后重新运行 `tokenmix aider` —— 你的 TokenMix 登录已保存,会自动生效。',
205
+ // opencode configure notes
206
+ 'opencode.noteModel': '默认模型已设为 tokenmix/{model}',
207
+ 'opencode.noteSwitch': '切换模型:运行 `tokenmix models`,或在 OpenCode 内使用 `/connect`。',
208
+ // claude configure notes
209
+ 'claude.noteModels': '可用的 Claude 模型(经 tokenmix):claude-opus-4.7、claude-sonnet-4.6、claude-haiku-4.5',
210
+ 'claude.noteFullList': '完整列表请运行 `tokenmix models --type chat`。',
211
+ 'claude.noteReplaced1': '⚠ 已替换你在 ~/.claude/settings.json 中原有的 Anthropic 配置。',
212
+ 'claude.noteReplaced2': ' `tokenmix logout` 可移除 TokenMix 写入的项(你的旧密钥无法自动恢复)。',
213
+ 'claude.cleanupNote': '如果你之前在此设置过自己的 ANTHROPIC_API_KEY,请重新添加。',
214
+ // aider configure notes
215
+ 'aider.noteUsing': 'Aider 将通过 OpenAI 兼容端点使用 TokenMix。',
216
+ 'aider.noteModel': '默认模型:openai/{model} —— 可用 --model 覆盖。',
217
+ // kilo configure notes (prose only; technical lines stay verbatim)
218
+ 'kilo.noteNoLauncher': 'Kilo Code 是 VSCode 扩展,没有 CLI 启动器。',
219
+ 'kilo.noteConfigWith': '请按以下信息配置 Kilo Code:',
220
+ 'kilo.notePasteJson': '或将以下 JSON 粘贴到 Kilo Code 设置(Settings → Providers → JSON):',
221
+ 'kilo.noteKeepPrivate': '请妥善保管此 API 密钥 —— 任何人拿到它都能消耗你的 TokenMix 余额。',
222
+ 'kilo.hintMarketplace': '从 VSCode 应用市场安装 "Kilo Code",然后将下面的片段粘贴到它的设置中。',
223
+ 'kilo.hintNoVscode': '未在 PATH 中检测到 VSCode。请先安装 VSCode,再添加 Kilo Code 扩展,然后使用下面的片段。',
224
+ // command / option descriptions (--help)
225
+ 'cmd.program': '零配置 CLI:以 TokenMix 作为统一 LLM 后端,驱动任意开源编程 agent。',
226
+ 'cmd.login': '登录 TokenMix(默认:浏览器设备授权)',
227
+ 'cmd.loginKey': '直接粘贴 API 密钥(跳过浏览器流程,适合 CI)',
228
+ 'cmd.loginPaste': '强制使用交互式粘贴,而非浏览器流程',
229
+ 'cmd.loginUrl': '覆盖 API 基础地址(默认:https://api.tokenmix.ai)',
230
+ 'cmd.logout': '从本机移除已保存的凭据',
231
+ 'cmd.balance': '打开仪表盘查看余额',
232
+ 'cmd.topup': '打开浏览器为账户充值',
233
+ 'cmd.models': '列出可用模型及价格',
234
+ 'cmd.modelsType': '按类型筛选:chat | embedding | image | audio | video',
235
+ 'cmd.list': '列出支持的编程 agent',
236
+ 'cmd.doctor': '诊断 CLI 配置与 agent 安装情况',
237
+ 'cmd.agent': '通过 TokenMix 配置并启动 {name}',
154
238
  };
155
- export const catalogs = { en, zh };
239
+ export const ja = {
240
+ 'common.notLoggedIn': 'ログインしていません。まず `tokenmix login` を実行してください。',
241
+ 'login.keyMustStart': 'API キーは sk-tm- で始まる必要があります',
242
+ 'login.verifying': '{baseUrl} で API キーを検証しています ...',
243
+ 'login.verifyFailed': 'API キーの検証に失敗しました。https://tokenmix.ai/dashboard/keys で確認してください',
244
+ 'login.loggedInHint': 'ログインしました。`tokenmix opencode` で最初の agent を起動してみましょう。',
245
+ 'login.noKey': 'API キーが入力されていません。',
246
+ 'login.requesting': 'デバイス認証をリクエストしています ...',
247
+ 'login.couldNotStart': 'デバイス認証を開始できませんでした:{msg}',
248
+ 'login.fallbackPaste': '手動貼り付けに切り替えます。API キーは https://tokenmix.ai/dashboard/keys で取得できます',
249
+ 'login.openLinkConfirm': '下のリンクを開き、このコードを確認してください:',
250
+ 'login.link': 'リンク:',
251
+ 'login.browserOpened': '(ブラウザを開きました。反応がない場合は上のリンクをコピーしてください)',
252
+ 'login.browserFailed': '(ブラウザを開けませんでした。上のリンクをコピーして開いてください)',
253
+ 'login.waiting': '認証を待っています({expires}秒で期限切れ、{interval}秒ごとに確認)...',
254
+ 'login.stillWaiting': '... 待機中(残り {seconds}秒)',
255
+ 'login.loggedInAs': '{email} としてログインしました(API キー #{id})',
256
+ 'login.loggedInId': 'ログインしました(API キー #{id})',
257
+ 'login.tryFirstAgent': '`tokenmix opencode` で最初の agent を起動してみましょう。',
258
+ 'login.tryAgain': '再試行しますか?',
259
+ 'agent.notInstalled': '{name} はインストールされていません。',
260
+ 'agent.notInstallable': '{name} は CLI からインストールできません。',
261
+ 'agent.installPrompt': '{name} はインストールされていません。今すぐインストールしますか?',
262
+ 'agent.installing': '{name} をインストールしています ...',
263
+ 'agent.installed': '{name} をインストールしました。',
264
+ 'agent.installFailed': '{name} を自動インストールできませんでした。',
265
+ 'agent.installFailHint1': 'これは通常、npm がグローバルフォルダに書き込めないことが原因です。対処方法:',
266
+ 'agent.installFailHint2': ' • Node バージョンマネージャー(nvm / fnm / volta)を使う — グローバルインストールに sudo が不要になります。または',
267
+ 'agent.installFailHint3': ' • 手動でインストール:{cmd}',
268
+ 'agent.installFailHint4': 'その後このコマンドを再実行してください — TokenMix のログインは保存済みです。',
269
+ 'agent.configuring': '{name} を設定しています ...',
270
+ 'agent.wrote': '{path} を書き込みました',
271
+ 'agent.configReady': '{name} の設定が完了しました。',
272
+ 'agent.launching': '{name} を起動しています ...',
273
+ 'logout.done': 'ログアウトしました。認証情報をこのマシンから削除しました。',
274
+ 'logout.reverted': '{name} の設定を元に戻しました',
275
+ 'doctor.title': 'TokenMix CLI 診断',
276
+ 'doctor.credentials': '認証情報:',
277
+ 'doctor.apiKeyLabel': 'API キー:',
278
+ 'doctor.apiBaseLabel': 'API ベース:',
279
+ 'doctor.keyValid': 'API キーは有効です。',
280
+ 'doctor.keyInvalid': 'API キーを検証できませんでした。`tokenmix login` を再実行してください。',
281
+ 'doctor.notLoggedIn': 'ログインしていません。`tokenmix login` を実行してください。',
282
+ 'doctor.agentStatus': 'agent のインストール状況:',
283
+ 'doctor.installed': 'インストール済み',
284
+ 'doctor.notInstalled': '未インストール',
285
+ 'list.title': '対応している agent:',
286
+ 'list.usage': '使い方:tokenmix <agent> [引数...]',
287
+ 'list.modeAutoNpm': '自動 (npm)',
288
+ 'list.modeAutoPip': '半自動 (pip)',
289
+ 'list.modeManualVscode': '設定のみ (VSCode)',
290
+ 'list.modeManual': '手動',
291
+ 'models.none': 'フィルタに一致するモデルがありません。',
292
+ 'models.typeChat': 'チャット',
293
+ 'models.typeEmbedding': '埋め込み',
294
+ 'models.typeImage': '画像',
295
+ 'models.typeAudio': '音声',
296
+ 'models.typeVideo': '動画',
297
+ 'models.typeCompletion': '補完',
298
+ 'models.in': '入力',
299
+ 'models.out': '出力',
300
+ 'prompt.pasteKey': 'TokenMix API キーを貼り付けてください(sk-tm-...)',
301
+ 'balance.opening': '残高を表示するダッシュボードを開いています:{url}',
302
+ 'topup.opening': 'チャージページを開いています:{url}',
303
+ 'browser.manual': 'ブラウザを自動で開けませんでした。この URL を手動で開いてください:\n {url}',
304
+ 'desc.opencode': 'sst/opencode — オープンソースの AI コーディング agent(TUI / デスクトップ / IDE)',
305
+ 'desc.claude': 'anthropics/claude-code — Anthropic 公式の CLI コーディング agent',
306
+ 'desc.aider': 'Aider-AI/aider — ペアプログラミング CLI(Python が必要)',
307
+ 'desc.kilo': 'Kilo-Org/kilocode — VSCode 拡張機能(設定のみ)',
308
+ 'install.willInstallVia': '次の方法でインストールします:{cmd}',
309
+ 'aider.hintNeedPython': 'Aider には Python 3 が必要です。https://python.org/downloads から Python 3 をインストールし、再度 `tokenmix aider` を実行してください。',
310
+ 'aider.hintNotInstalled': 'Aider はインストールされていません。別のターミナルで次を実行してください:\n {cmd}\nその後 `tokenmix aider` を再実行してください — TokenMix のログインは保存済みなので自動的に反映されます。',
311
+ 'opencode.noteModel': 'デフォルトモデルを tokenmix/{model} に設定しました',
312
+ 'opencode.noteSwitch': 'モデルを切り替えるには `tokenmix models` を実行するか、OpenCode 内で `/connect` を使用してください。',
313
+ 'claude.noteModels': 'tokenmix 経由で利用できる Claude モデル:claude-opus-4.7、claude-sonnet-4.6、claude-haiku-4.5',
314
+ 'claude.noteFullList': '完全な一覧は `tokenmix models --type chat` を実行してください。',
315
+ 'claude.noteReplaced1': '⚠ ~/.claude/settings.json の既存の Anthropic 設定を置き換えました。',
316
+ 'claude.noteReplaced2': ' `tokenmix logout` で TokenMix の項目を削除できます(以前のキーは自動復元されません)。',
317
+ 'claude.cleanupNote': '以前ご自身の ANTHROPIC_API_KEY を設定していた場合は、再度追加してください。',
318
+ 'aider.noteUsing': 'Aider は OpenAI 互換エンドポイント経由で TokenMix を使用します。',
319
+ 'aider.noteModel': 'デフォルトモデル:openai/{model} — --model で上書きできます。',
320
+ 'kilo.noteNoLauncher': 'Kilo Code は VSCode 拡張機能で、CLI ランチャーはありません。',
321
+ 'kilo.noteConfigWith': '次の内容で Kilo Code を設定してください:',
322
+ 'kilo.notePasteJson': 'または次の JSON を Kilo Code の設定(Settings → Providers → JSON)に貼り付けてください:',
323
+ 'kilo.noteKeepPrivate': 'この API キーは公開しないでください — 入手した人は誰でもあなたの TokenMix 残高を使えます。',
324
+ 'kilo.hintMarketplace': 'VSCode マーケットプレイスから "Kilo Code" をインストールし、下のスニペットを設定に貼り付けてください。',
325
+ 'kilo.hintNoVscode': 'PATH に VSCode が見つかりません。VSCode をインストールし、Kilo Code 拡張機能を追加してから、下のスニペットを使用してください。',
326
+ 'cmd.program': 'TokenMix を統一 LLM バックエンドとして、あらゆるオープンソースのコーディング agent を使うためのゼロ設定 CLI。',
327
+ 'cmd.login': 'TokenMix にログイン(デフォルト:ブラウザでのデバイス認証)',
328
+ 'cmd.loginKey': 'API キーを直接貼り付け(ブラウザ認証をスキップ、CI に便利)',
329
+ 'cmd.loginPaste': 'ブラウザ認証の代わりに対話的な貼り付けを強制',
330
+ 'cmd.loginUrl': 'API ベース URL を上書き(デフォルト:https://api.tokenmix.ai)',
331
+ 'cmd.logout': 'このマシンから保存された認証情報を削除',
332
+ 'cmd.balance': 'ダッシュボードを開いて残高を表示',
333
+ 'cmd.topup': 'ブラウザを開いてアカウントにチャージ',
334
+ 'cmd.models': '利用可能なモデルと価格を一覧表示',
335
+ 'cmd.modelsType': 'タイプで絞り込み:chat | embedding | image | audio | video',
336
+ 'cmd.list': '対応しているコーディング agent を一覧表示',
337
+ 'cmd.doctor': 'CLI 設定と agent のインストール状況を診断',
338
+ 'cmd.agent': 'TokenMix 経由で {name} を設定して起動',
339
+ };
340
+ export const ko = {
341
+ 'common.notLoggedIn': '로그인되어 있지 않습니다. 먼저 `tokenmix login`을 실행하세요.',
342
+ 'login.keyMustStart': 'API 키는 sk-tm- 로 시작해야 합니다',
343
+ 'login.verifying': '{baseUrl} 에서 API 키를 확인하는 중 ...',
344
+ 'login.verifyFailed': 'API 키 확인에 실패했습니다. https://tokenmix.ai/dashboard/keys 에서 확인하세요',
345
+ 'login.loggedInHint': '로그인되었습니다. `tokenmix opencode` 로 첫 agent를 실행해 보세요.',
346
+ 'login.noKey': 'API 키가 입력되지 않았습니다.',
347
+ 'login.requesting': '기기 인증을 요청하는 중 ...',
348
+ 'login.couldNotStart': '기기 인증을 시작할 수 없습니다: {msg}',
349
+ 'login.fallbackPaste': '수동 붙여넣기로 전환합니다. API 키는 https://tokenmix.ai/dashboard/keys 에서 발급받으세요',
350
+ 'login.openLinkConfirm': '아래 링크를 열고 이 코드를 확인하세요:',
351
+ 'login.link': '링크:',
352
+ 'login.browserOpened': '(브라우저를 열었습니다. 반응이 없으면 위 링크를 복사하세요)',
353
+ 'login.browserFailed': '(브라우저를 열 수 없습니다. 위 링크를 복사해 여세요)',
354
+ 'login.waiting': '인증을 기다리는 중 ({expires}초 후 만료, {interval}초마다 확인) ...',
355
+ 'login.stillWaiting': '... 대기 중 (남은 시간 {seconds}초)',
356
+ 'login.loggedInAs': '{email}(으)로 로그인되었습니다 (API 키 #{id})',
357
+ 'login.loggedInId': '로그인되었습니다 (API 키 #{id})',
358
+ 'login.tryFirstAgent': '`tokenmix opencode` 로 첫 agent를 실행해 보세요.',
359
+ 'login.tryAgain': '다시 시도할까요?',
360
+ 'agent.notInstalled': '{name}이(가) 설치되어 있지 않습니다.',
361
+ 'agent.notInstallable': '{name}은(는) CLI에서 설치할 수 없습니다.',
362
+ 'agent.installPrompt': '{name}이(가) 설치되어 있지 않습니다. 지금 설치할까요?',
363
+ 'agent.installing': '{name} 설치 중 ...',
364
+ 'agent.installed': '{name} 설치 완료.',
365
+ 'agent.installFailed': '{name}을(를) 자동으로 설치할 수 없습니다.',
366
+ 'agent.installFailHint1': '보통 npm이 전역 폴더에 쓸 수 없을 때 발생합니다. 해결 방법:',
367
+ 'agent.installFailHint2': ' • Node 버전 매니저(nvm / fnm / volta)를 사용하세요 — 전역 설치에 sudo가 필요 없습니다. 또는',
368
+ 'agent.installFailHint3': ' • 직접 설치: {cmd}',
369
+ 'agent.installFailHint4': '그런 다음 이 명령을 다시 실행하세요 — TokenMix 로그인은 이미 저장되어 있습니다.',
370
+ 'agent.configuring': '{name} 구성 중 ...',
371
+ 'agent.wrote': '{path} 작성 완료',
372
+ 'agent.configReady': '{name} 구성이 준비되었습니다.',
373
+ 'agent.launching': '{name} 실행 중 ...',
374
+ 'logout.done': '로그아웃되었습니다. 자격 증명을 이 기기에서 삭제했습니다.',
375
+ 'logout.reverted': '{name} 구성을 되돌렸습니다',
376
+ 'doctor.title': 'TokenMix CLI 진단',
377
+ 'doctor.credentials': '자격 증명:',
378
+ 'doctor.apiKeyLabel': 'API 키:',
379
+ 'doctor.apiBaseLabel': 'API 주소:',
380
+ 'doctor.keyValid': 'API 키가 유효합니다.',
381
+ 'doctor.keyInvalid': 'API 키를 확인할 수 없습니다. `tokenmix login`을 다시 실행하세요.',
382
+ 'doctor.notLoggedIn': '로그인되어 있지 않습니다. `tokenmix login`을 실행하세요.',
383
+ 'doctor.agentStatus': 'agent 설치 상태:',
384
+ 'doctor.installed': '설치됨',
385
+ 'doctor.notInstalled': '설치 안 됨',
386
+ 'list.title': '지원하는 agent:',
387
+ 'list.usage': '사용법: tokenmix <agent> [인자...]',
388
+ 'list.modeAutoNpm': '자동 (npm)',
389
+ 'list.modeAutoPip': '반자동 (pip)',
390
+ 'list.modeManualVscode': '설정만 (VSCode)',
391
+ 'list.modeManual': '수동',
392
+ 'models.none': '필터와 일치하는 모델이 없습니다.',
393
+ 'models.typeChat': '채팅',
394
+ 'models.typeEmbedding': '임베딩',
395
+ 'models.typeImage': '이미지',
396
+ 'models.typeAudio': '오디오',
397
+ 'models.typeVideo': '비디오',
398
+ 'models.typeCompletion': '완성',
399
+ 'models.in': '입력',
400
+ 'models.out': '출력',
401
+ 'prompt.pasteKey': 'TokenMix API 키를 붙여넣으세요 (sk-tm-...)',
402
+ 'balance.opening': '잔액을 보려면 대시보드를 여는 중: {url}',
403
+ 'topup.opening': '충전 페이지를 여는 중: {url}',
404
+ 'browser.manual': '브라우저를 자동으로 열 수 없습니다. 이 URL을 직접 여세요:\n {url}',
405
+ 'desc.opencode': 'sst/opencode — 오픈소스 AI 코딩 agent (TUI / 데스크톱 / IDE)',
406
+ 'desc.claude': 'anthropics/claude-code — Anthropic 공식 CLI 코딩 agent',
407
+ 'desc.aider': 'Aider-AI/aider — 페어 프로그래밍 CLI (Python 필요)',
408
+ 'desc.kilo': 'Kilo-Org/kilocode — VSCode 확장 (설정 전용)',
409
+ 'install.willInstallVia': '다음 방법으로 설치합니다: {cmd}',
410
+ 'aider.hintNeedPython': 'Aider에는 Python 3가 필요합니다. https://python.org/downloads 에서 Python 3를 설치한 뒤 다시 `tokenmix aider`를 실행하세요.',
411
+ 'aider.hintNotInstalled': 'Aider가 설치되어 있지 않습니다. 다른 터미널에서 다음을 실행하세요:\n {cmd}\n그런 다음 다시 `tokenmix aider`를 실행하세요 — TokenMix 로그인이 이미 저장되어 있어 자동으로 적용됩니다.',
412
+ 'opencode.noteModel': '기본 모델을 tokenmix/{model}(으)로 설정했습니다',
413
+ 'opencode.noteSwitch': '모델을 바꾸려면 `tokenmix models`를 실행하거나 OpenCode 안에서 `/connect`를 사용하세요.',
414
+ 'claude.noteModels': 'tokenmix를 통해 사용할 수 있는 Claude 모델: claude-opus-4.7, claude-sonnet-4.6, claude-haiku-4.5',
415
+ 'claude.noteFullList': '전체 목록은 `tokenmix models --type chat`을 실행하세요.',
416
+ 'claude.noteReplaced1': '⚠ ~/.claude/settings.json의 기존 Anthropic 설정을 교체했습니다.',
417
+ 'claude.noteReplaced2': ' `tokenmix logout`으로 TokenMix 항목을 제거할 수 있습니다(이전 키는 자동 복원되지 않습니다).',
418
+ 'claude.cleanupNote': '이전에 직접 설정한 ANTHROPIC_API_KEY가 있었다면 다시 추가하세요.',
419
+ 'aider.noteUsing': 'Aider는 OpenAI 호환 엔드포인트를 통해 TokenMix를 사용합니다.',
420
+ 'aider.noteModel': '기본 모델: openai/{model} — --model로 재정의할 수 있습니다.',
421
+ 'kilo.noteNoLauncher': 'Kilo Code는 VSCode 확장이며 CLI 런처가 없습니다.',
422
+ 'kilo.noteConfigWith': '다음 내용으로 Kilo Code를 설정하세요:',
423
+ 'kilo.notePasteJson': '또는 다음 JSON을 Kilo Code 설정(Settings → Providers → JSON)에 붙여넣으세요:',
424
+ 'kilo.noteKeepPrivate': '이 API 키를 비공개로 유지하세요 — 키를 가진 사람은 누구나 당신의 TokenMix 잔액을 쓸 수 있습니다.',
425
+ 'kilo.hintMarketplace': 'VSCode 마켓플레이스에서 "Kilo Code"를 설치한 뒤 아래 스니펫을 설정에 붙여넣으세요.',
426
+ 'kilo.hintNoVscode': 'PATH에서 VSCode를 찾을 수 없습니다. VSCode를 설치하고 Kilo Code 확장을 추가한 뒤 아래 스니펫을 사용하세요.',
427
+ 'cmd.program': 'TokenMix를 통합 LLM 백엔드로 사용하여 모든 오픈소스 코딩 agent를 쓰는 제로 설정 CLI.',
428
+ 'cmd.login': 'TokenMix에 로그인 (기본값: 브라우저 기기 인증)',
429
+ 'cmd.loginKey': 'API 키를 직접 붙여넣기 (브라우저 절차 생략, CI에 유용)',
430
+ 'cmd.loginPaste': '브라우저 절차 대신 대화형 붙여넣기를 강제',
431
+ 'cmd.loginUrl': 'API 기본 URL 재정의 (기본값: https://api.tokenmix.ai)',
432
+ 'cmd.logout': '이 기기에서 저장된 자격 증명 제거',
433
+ 'cmd.balance': '대시보드를 열어 잔액 보기',
434
+ 'cmd.topup': '브라우저를 열어 계정 충전',
435
+ 'cmd.models': '사용 가능한 모델과 가격 목록 표시',
436
+ 'cmd.modelsType': '유형으로 필터링: chat | embedding | image | audio | video',
437
+ 'cmd.list': '지원하는 코딩 agent 목록 표시',
438
+ 'cmd.doctor': 'CLI 구성과 agent 설치 상태 진단',
439
+ 'cmd.agent': 'TokenMix를 통해 {name} 구성 및 실행',
440
+ };
441
+ export const es = {
442
+ 'common.notLoggedIn': 'No has iniciado sesión. Ejecuta `tokenmix login` primero.',
443
+ 'login.keyMustStart': 'La clave de API debe empezar por sk-tm-',
444
+ 'login.verifying': 'Verificando la clave de API en {baseUrl} ...',
445
+ 'login.verifyFailed': 'Falló la verificación de la clave de API. Compruébala en https://tokenmix.ai/dashboard/keys',
446
+ 'login.loggedInHint': 'Sesión iniciada. Prueba `tokenmix opencode` para lanzar tu primer agent.',
447
+ 'login.noKey': 'No se proporcionó ninguna clave de API.',
448
+ 'login.requesting': 'Solicitando autorización del dispositivo ...',
449
+ 'login.couldNotStart': 'No se pudo iniciar la autorización del dispositivo: {msg}',
450
+ 'login.fallbackPaste': 'Cambiando a pegado manual. Consigue una clave de API en https://tokenmix.ai/dashboard/keys',
451
+ 'login.openLinkConfirm': 'Abre el enlace de abajo y confirma este código:',
452
+ 'login.link': 'Enlace:',
453
+ 'login.browserOpened': '(navegador abierto; si no pasa nada, copia el enlace de arriba)',
454
+ 'login.browserFailed': '(no se pudo abrir el navegador; copia el enlace de arriba en uno)',
455
+ 'login.waiting': 'Esperando autorización (expira en {expires}s, consultando cada {interval}s) ...',
456
+ 'login.stillWaiting': '... aún esperando (quedan {seconds}s)',
457
+ 'login.loggedInAs': 'Sesión iniciada como {email} (clave de API n.º {id})',
458
+ 'login.loggedInId': 'Sesión iniciada (clave de API n.º {id})',
459
+ 'login.tryFirstAgent': 'Prueba `tokenmix opencode` para lanzar tu primer agent.',
460
+ 'login.tryAgain': '¿Reintentar?',
461
+ 'agent.notInstalled': '{name} no está instalado.',
462
+ 'agent.notInstallable': '{name} no se puede instalar desde la CLI.',
463
+ 'agent.installPrompt': '{name} no está instalado. ¿Instalar ahora?',
464
+ 'agent.installing': 'Instalando {name} ...',
465
+ 'agent.installed': '{name} instalado.',
466
+ 'agent.installFailed': 'No se pudo instalar {name} automáticamente.',
467
+ 'agent.installFailHint1': 'Esto suele significar que npm no puede escribir en su carpeta global. Opciones:',
468
+ 'agent.installFailHint2': ' • Usa un gestor de versiones de Node (nvm / fnm / volta): así la instalación global no necesita sudo, o',
469
+ 'agent.installFailHint3': ' • Instálalo tú mismo: {cmd}',
470
+ 'agent.installFailHint4': 'Luego vuelve a ejecutar este comando; tu sesión de TokenMix ya está guardada.',
471
+ 'agent.configuring': 'Configurando {name} ...',
472
+ 'agent.wrote': 'Se escribió {path}',
473
+ 'agent.configReady': 'Configuración de {name} lista.',
474
+ 'agent.launching': 'Iniciando {name} ...',
475
+ 'logout.done': 'Sesión cerrada. Credenciales eliminadas de esta máquina.',
476
+ 'logout.reverted': 'Se revirtió la configuración de {name}',
477
+ 'doctor.title': 'Diagnóstico de TokenMix CLI',
478
+ 'doctor.credentials': 'Credenciales:',
479
+ 'doctor.apiKeyLabel': 'Clave de API:',
480
+ 'doctor.apiBaseLabel': 'Base de API:',
481
+ 'doctor.keyValid': 'La clave de API es válida.',
482
+ 'doctor.keyInvalid': 'La clave de API NO se validó. Ejecuta `tokenmix login` de nuevo.',
483
+ 'doctor.notLoggedIn': 'No has iniciado sesión. Ejecuta `tokenmix login`.',
484
+ 'doctor.agentStatus': 'Estado de instalación de los agents:',
485
+ 'doctor.installed': 'instalado',
486
+ 'doctor.notInstalled': 'no instalado',
487
+ 'list.title': 'Agents compatibles:',
488
+ 'list.usage': 'Uso: tokenmix <agent> [args...]',
489
+ 'list.modeAutoNpm': 'automático (npm)',
490
+ 'list.modeAutoPip': 'semi (pip)',
491
+ 'list.modeManualVscode': 'solo config. (VSCode)',
492
+ 'list.modeManual': 'manual',
493
+ 'models.none': 'Ningún modelo coincide con el filtro.',
494
+ 'models.typeChat': 'Chat',
495
+ 'models.typeEmbedding': 'Embedding',
496
+ 'models.typeImage': 'Imagen',
497
+ 'models.typeAudio': 'Audio',
498
+ 'models.typeVideo': 'Vídeo',
499
+ 'models.typeCompletion': 'Completado',
500
+ 'models.in': 'entrada',
501
+ 'models.out': 'salida',
502
+ 'prompt.pasteKey': 'Pega tu clave de API de TokenMix (sk-tm-...)',
503
+ 'balance.opening': 'Abriendo el panel para ver el saldo: {url}',
504
+ 'topup.opening': 'Abriendo la página de recarga: {url}',
505
+ 'browser.manual': 'No se pudo abrir un navegador automáticamente. Abre esta URL manualmente:\n {url}',
506
+ 'desc.opencode': 'sst/opencode — agent de programación con IA de código abierto (TUI / escritorio / IDE)',
507
+ 'desc.claude': 'anthropics/claude-code — agent de programación CLI oficial de Anthropic',
508
+ 'desc.aider': 'Aider-AI/aider — CLI de programación en pareja (requiere Python)',
509
+ 'desc.kilo': 'Kilo-Org/kilocode — extensión de VSCode (solo configuración)',
510
+ 'install.willInstallVia': 'Se instalará mediante: {cmd}',
511
+ 'aider.hintNeedPython': 'Aider requiere Python 3. Instala Python 3 desde https://python.org/downloads y vuelve a ejecutar `tokenmix aider`.',
512
+ 'aider.hintNotInstalled': 'Aider no está instalado. Ejecuta esto en otra terminal:\n {cmd}\nLuego vuelve a ejecutar `tokenmix aider`: tu sesión de TokenMix ya está guardada, así que se detectará automáticamente.',
513
+ 'opencode.noteModel': 'Modelo predeterminado establecido en tokenmix/{model}',
514
+ 'opencode.noteSwitch': 'Para cambiar de modelo, ejecuta `tokenmix models` o usa `/connect` dentro de OpenCode.',
515
+ 'claude.noteModels': 'Modelos de Claude disponibles vía tokenmix: claude-opus-4.7, claude-sonnet-4.6, claude-haiku-4.5',
516
+ 'claude.noteFullList': 'Ejecuta `tokenmix models --type chat` para ver la lista completa.',
517
+ 'claude.noteReplaced1': '⚠ Se reemplazó tu configuración de Anthropic existente en ~/.claude/settings.json.',
518
+ 'claude.noteReplaced2': ' `tokenmix logout` elimina las entradas de TokenMix (tu clave anterior no se puede restaurar automáticamente).',
519
+ 'claude.cleanupNote': 'Si antes tenías tu propia ANTHROPIC_API_KEY aquí, vuelve a añadirla.',
520
+ 'aider.noteUsing': 'Aider usará TokenMix a través del endpoint compatible con OpenAI.',
521
+ 'aider.noteModel': 'Modelo predeterminado: openai/{model} — anúlalo con --model.',
522
+ 'kilo.noteNoLauncher': 'Kilo Code es una extensión de VSCode y no tiene lanzador de CLI.',
523
+ 'kilo.noteConfigWith': 'Configura Kilo Code con lo siguiente:',
524
+ 'kilo.notePasteJson': 'O pega este fragmento JSON en la configuración de Kilo Code (Settings → Providers → JSON):',
525
+ 'kilo.noteKeepPrivate': 'Mantén privada esta clave de API: cualquiera que la tenga puede gastar tu saldo de TokenMix.',
526
+ 'kilo.hintMarketplace': 'Instala "Kilo Code" desde el marketplace de VSCode y pega el fragmento de abajo en su configuración.',
527
+ 'kilo.hintNoVscode': 'No se detectó VSCode en el PATH. Instala VSCode, añade la extensión Kilo Code y luego usa el fragmento de abajo.',
528
+ 'cmd.program': 'CLI sin configuración para usar cualquier agent de programación de código abierto con TokenMix como backend LLM unificado.',
529
+ 'cmd.login': 'Inicia sesión en TokenMix (predeterminado: autorización de dispositivo por navegador)',
530
+ 'cmd.loginKey': 'Pega una clave de API directamente (omite el navegador, útil para CI)',
531
+ 'cmd.loginPaste': 'Fuerza el pegado interactivo en lugar del flujo del navegador',
532
+ 'cmd.loginUrl': 'Anula la URL base de la API (predeterminado: https://api.tokenmix.ai)',
533
+ 'cmd.logout': 'Elimina las credenciales guardadas de esta máquina',
534
+ 'cmd.balance': 'Abre el panel para ver tu saldo',
535
+ 'cmd.topup': 'Abre el navegador para recargar tu cuenta',
536
+ 'cmd.models': 'Lista los modelos disponibles con precios',
537
+ 'cmd.modelsType': 'Filtrar por tipo: chat | embedding | image | audio | video',
538
+ 'cmd.list': 'Lista los agents de programación compatibles',
539
+ 'cmd.doctor': 'Diagnostica la configuración de la CLI y la instalación de los agents',
540
+ 'cmd.agent': 'Configura e inicia {name} vía TokenMix',
541
+ };
542
+ export const fr = {
543
+ 'common.notLoggedIn': 'Non connecté. Exécutez d’abord `tokenmix login`.',
544
+ 'login.keyMustStart': 'La clé API doit commencer par sk-tm-',
545
+ 'login.verifying': 'Vérification de la clé API sur {baseUrl} ...',
546
+ 'login.verifyFailed': 'Échec de la vérification de la clé API. Vérifiez sur https://tokenmix.ai/dashboard/keys',
547
+ 'login.loggedInHint': 'Connecté. Essayez `tokenmix opencode` pour lancer votre premier agent.',
548
+ 'login.noKey': 'Aucune clé API fournie.',
549
+ 'login.requesting': 'Demande d’autorisation de l’appareil ...',
550
+ 'login.couldNotStart': 'Impossible de démarrer l’autorisation de l’appareil : {msg}',
551
+ 'login.fallbackPaste': 'Passage au collage manuel. Obtenez une clé API sur https://tokenmix.ai/dashboard/keys',
552
+ 'login.openLinkConfirm': 'Ouvrez le lien ci-dessous et confirmez ce code :',
553
+ 'login.link': 'Lien :',
554
+ 'login.browserOpened': '(navigateur ouvert ; s’il ne se passe rien, copiez le lien ci-dessus)',
555
+ 'login.browserFailed': '(impossible d’ouvrir le navigateur ; copiez le lien ci-dessus dans un navigateur)',
556
+ 'login.waiting': 'En attente de l’autorisation (expire dans {expires}s, vérification toutes les {interval}s) ...',
557
+ 'login.stillWaiting': '... toujours en attente ({seconds}s restantes)',
558
+ 'login.loggedInAs': 'Connecté en tant que {email} (clé API n° {id})',
559
+ 'login.loggedInId': 'Connecté (clé API n° {id})',
560
+ 'login.tryFirstAgent': 'Essayez `tokenmix opencode` pour lancer votre premier agent.',
561
+ 'login.tryAgain': 'Réessayer ?',
562
+ 'agent.notInstalled': '{name} n’est pas installé.',
563
+ 'agent.notInstallable': '{name} ne peut pas être installé depuis la CLI.',
564
+ 'agent.installPrompt': '{name} n’est pas installé. Installer maintenant ?',
565
+ 'agent.installing': 'Installation de {name} ...',
566
+ 'agent.installed': '{name} installé.',
567
+ 'agent.installFailed': 'Impossible d’installer {name} automatiquement.',
568
+ 'agent.installFailHint1': 'Cela signifie généralement que npm ne peut pas écrire dans son dossier global. Options :',
569
+ 'agent.installFailHint2': ' • Utilisez un gestionnaire de versions Node (nvm / fnm / volta) — l’installation globale ne nécessite alors pas sudo, ou',
570
+ 'agent.installFailHint3': ' • Installez-le vous-même : {cmd}',
571
+ 'agent.installFailHint4': 'Puis relancez cette commande — votre connexion TokenMix est déjà enregistrée.',
572
+ 'agent.configuring': 'Configuration de {name} ...',
573
+ 'agent.wrote': '{path} écrit',
574
+ 'agent.configReady': 'Configuration de {name} prête.',
575
+ 'agent.launching': 'Lancement de {name} ...',
576
+ 'logout.done': 'Déconnecté. Identifiants supprimés de cette machine.',
577
+ 'logout.reverted': 'Configuration de {name} rétablie',
578
+ 'doctor.title': 'Diagnostic de TokenMix CLI',
579
+ 'doctor.credentials': 'Identifiants :',
580
+ 'doctor.apiKeyLabel': 'Clé API :',
581
+ 'doctor.apiBaseLabel': 'Base API :',
582
+ 'doctor.keyValid': 'La clé API est valide.',
583
+ 'doctor.keyInvalid': 'La clé API n’a PAS été validée. Relancez `tokenmix login`.',
584
+ 'doctor.notLoggedIn': 'Non connecté. Exécutez `tokenmix login`.',
585
+ 'doctor.agentStatus': 'État d’installation des agents :',
586
+ 'doctor.installed': 'installé',
587
+ 'doctor.notInstalled': 'non installé',
588
+ 'list.title': 'Agents pris en charge :',
589
+ 'list.usage': 'Utilisation : tokenmix <agent> [args...]',
590
+ 'list.modeAutoNpm': 'auto (npm)',
591
+ 'list.modeAutoPip': 'semi (pip)',
592
+ 'list.modeManualVscode': 'config. seule (VSCode)',
593
+ 'list.modeManual': 'manuel',
594
+ 'models.none': 'Aucun modèle ne correspond au filtre.',
595
+ 'models.typeChat': 'Chat',
596
+ 'models.typeEmbedding': 'Embedding',
597
+ 'models.typeImage': 'Image',
598
+ 'models.typeAudio': 'Audio',
599
+ 'models.typeVideo': 'Vidéo',
600
+ 'models.typeCompletion': 'Complétion',
601
+ 'models.in': 'entrée',
602
+ 'models.out': 'sortie',
603
+ 'prompt.pasteKey': 'Collez votre clé API TokenMix (sk-tm-...)',
604
+ 'balance.opening': 'Ouverture du tableau de bord pour voir le solde : {url}',
605
+ 'topup.opening': 'Ouverture de la page de recharge : {url}',
606
+ 'browser.manual': 'Impossible d’ouvrir un navigateur automatiquement. Ouvrez cette URL manuellement :\n {url}',
607
+ 'desc.opencode': 'sst/opencode — agent de codage IA open source (TUI / bureau / IDE)',
608
+ 'desc.claude': 'anthropics/claude-code — agent de codage CLI officiel d’Anthropic',
609
+ 'desc.aider': 'Aider-AI/aider — CLI de programmation en binôme (nécessite Python)',
610
+ 'desc.kilo': 'Kilo-Org/kilocode — extension VSCode (configuration seule)',
611
+ 'install.willInstallVia': 'Sera installé via : {cmd}',
612
+ 'aider.hintNeedPython': 'Aider nécessite Python 3. Installez Python 3 depuis https://python.org/downloads, puis relancez `tokenmix aider`.',
613
+ 'aider.hintNotInstalled': 'Aider n’est pas installé. Exécutez ceci dans un autre terminal :\n {cmd}\nPuis relancez `tokenmix aider` — votre connexion TokenMix est déjà enregistrée, elle sera donc prise en compte automatiquement.',
614
+ 'opencode.noteModel': 'Modèle par défaut défini sur tokenmix/{model}',
615
+ 'opencode.noteSwitch': 'Pour changer de modèle, exécutez `tokenmix models` ou utilisez `/connect` dans OpenCode.',
616
+ 'claude.noteModels': 'Modèles Claude disponibles via tokenmix : claude-opus-4.7, claude-sonnet-4.6, claude-haiku-4.5',
617
+ 'claude.noteFullList': 'Exécutez `tokenmix models --type chat` pour la liste complète.',
618
+ 'claude.noteReplaced1': '⚠ Vos paramètres Anthropic existants dans ~/.claude/settings.json ont été remplacés.',
619
+ 'claude.noteReplaced2': ' `tokenmix logout` supprime les entrées TokenMix (votre ancienne clé ne peut pas être restaurée automatiquement).',
620
+ 'claude.cleanupNote': 'Si vous aviez votre propre ANTHROPIC_API_KEY ici, rajoutez-la.',
621
+ 'aider.noteUsing': 'Aider utilisera TokenMix via le point de terminaison compatible OpenAI.',
622
+ 'aider.noteModel': 'Modèle par défaut : openai/{model} — remplacez-le avec --model.',
623
+ 'kilo.noteNoLauncher': 'Kilo Code est une extension VSCode et n’a pas de lanceur CLI.',
624
+ 'kilo.noteConfigWith': 'Configurez Kilo Code avec les éléments suivants :',
625
+ 'kilo.notePasteJson': 'Ou collez cet extrait JSON dans les paramètres de Kilo Code (Settings → Providers → JSON) :',
626
+ 'kilo.noteKeepPrivate': 'Gardez cette clé API privée — quiconque la détient peut dépenser votre solde TokenMix.',
627
+ 'kilo.hintMarketplace': 'Installez « Kilo Code » depuis la marketplace VSCode, puis collez l’extrait ci-dessous dans ses paramètres.',
628
+ 'kilo.hintNoVscode': 'VSCode introuvable dans le PATH. Installez VSCode, ajoutez l’extension Kilo Code, puis utilisez l’extrait ci-dessous.',
629
+ 'cmd.program': 'CLI sans configuration pour utiliser n’importe quel agent de codage open source avec TokenMix comme backend LLM unifié.',
630
+ 'cmd.login': 'Se connecter à TokenMix (par défaut : autorisation de l’appareil via le navigateur)',
631
+ 'cmd.loginKey': 'Coller directement une clé API (ignore le navigateur, utile pour la CI)',
632
+ 'cmd.loginPaste': 'Forcer le collage interactif au lieu du flux navigateur',
633
+ 'cmd.loginUrl': 'Remplacer l’URL de base de l’API (par défaut : https://api.tokenmix.ai)',
634
+ 'cmd.logout': 'Supprimer les identifiants stockés de cette machine',
635
+ 'cmd.balance': 'Ouvrir le tableau de bord pour voir votre solde',
636
+ 'cmd.topup': 'Ouvrir le navigateur pour recharger votre compte',
637
+ 'cmd.models': 'Lister les modèles disponibles avec les prix',
638
+ 'cmd.modelsType': 'Filtrer par type : chat | embedding | image | audio | video',
639
+ 'cmd.list': 'Lister les agents de codage pris en charge',
640
+ 'cmd.doctor': 'Diagnostiquer la configuration de la CLI et l’installation des agents',
641
+ 'cmd.agent': 'Configurer et lancer {name} via TokenMix',
642
+ };
643
+ export const catalogs = { en, zh, ja, ko, es, fr };
156
644
  //# sourceMappingURL=messages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/i18n/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/i18n/messages.ts"],"names":[],"mappings":"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"}
package/dist/program.js CHANGED
@@ -8,6 +8,7 @@ import { modelsCommand } from './commands/models.js';
8
8
  import { listCommand } from './commands/list.js';
9
9
  import { doctorCommand } from './commands/doctor.js';
10
10
  import { registerAgentCommands } from './commands/agent-runner.js';
11
+ import { t } from './i18n/index.js';
11
12
  // Read version from package.json so we never have to bump it in two places.
12
13
  const pkg = createRequire(import.meta.url)('../package.json');
13
14
  // Build the fully-wired commander program WITHOUT parsing argv.
@@ -20,39 +21,39 @@ export function buildProgram(deps = {}) {
20
21
  program.enablePositionalOptions();
21
22
  program
22
23
  .name('tokenmix')
23
- .description('Zero-config CLI to use any open-source coding agent with TokenMix as the unified LLM backend.')
24
+ .description(t('cmd.program'))
24
25
  .version(pkg.version);
25
26
  program
26
27
  .command('login')
27
- .description('Log in to TokenMix (default: browser device authorization)')
28
- .option('-k, --key <apiKey>', 'Paste an API key directly (skip browser flow, useful in CI)')
29
- .option('-p, --paste', 'Force interactive paste prompt instead of browser flow')
30
- .option('-u, --url <baseUrl>', 'Override API base URL (default: https://api.tokenmix.ai)')
28
+ .description(t('cmd.login'))
29
+ .option('-k, --key <apiKey>', t('cmd.loginKey'))
30
+ .option('-p, --paste', t('cmd.loginPaste'))
31
+ .option('-u, --url <baseUrl>', t('cmd.loginUrl'))
31
32
  .action(loginCommand);
32
33
  program
33
34
  .command('logout')
34
- .description('Remove stored credentials from this machine')
35
+ .description(t('cmd.logout'))
35
36
  .action(logoutCommand);
36
37
  program
37
38
  .command('balance')
38
- .description('Open the dashboard to view your balance')
39
+ .description(t('cmd.balance'))
39
40
  .action(balanceCommand);
40
41
  program
41
42
  .command('topup')
42
- .description('Open the browser to top up your account')
43
+ .description(t('cmd.topup'))
43
44
  .action(topupCommand);
44
45
  program
45
46
  .command('models')
46
- .description('List available models with prices')
47
- .option('-t, --type <type>', 'Filter by type: chat | embedding | image | audio | video')
47
+ .description(t('cmd.models'))
48
+ .option('-t, --type <type>', t('cmd.modelsType'))
48
49
  .action(modelsCommand);
49
50
  program
50
51
  .command('list')
51
- .description('List supported coding agents')
52
+ .description(t('cmd.list'))
52
53
  .action(listCommand);
53
54
  program
54
55
  .command('doctor')
55
- .description('Diagnose CLI configuration and agent installation')
56
+ .description(t('cmd.doctor'))
56
57
  .action(doctorCommand);
57
58
  // Register one subcommand per supported agent (opencode, claude, aider, kilo, ...).
58
59
  registerAgentCommands(program, deps.runAgent);
@@ -1 +1 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,qBAAqB,EAAe,MAAM,4BAA4B,CAAA;AAE/E,4EAA4E;AAC5E,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAwB,CAAA;AAOpF,gEAAgE;AAChE,4EAA4E;AAC5E,MAAM,UAAU,YAAY,CAAC,OAAoB,EAAE;IACjD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;IAE7B,6EAA6E;IAC7E,8EAA8E;IAC9E,yBAAyB;IACzB,OAAO,CAAC,uBAAuB,EAAE,CAAA;IAEjC,OAAO;SACJ,IAAI,CAAC,UAAU,CAAC;SAChB,WAAW,CAAC,+FAA+F,CAAC;SAC5G,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAEvB,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,4DAA4D,CAAC;SACzE,MAAM,CAAC,oBAAoB,EAAE,6DAA6D,CAAC;SAC3F,MAAM,CAAC,aAAa,EAAE,wDAAwD,CAAC;SAC/E,MAAM,CAAC,qBAAqB,EAAE,0DAA0D,CAAC;SACzF,MAAM,CAAC,YAAY,CAAC,CAAA;IAEvB,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,6CAA6C,CAAC;SAC1D,MAAM,CAAC,aAAa,CAAC,CAAA;IAExB,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,yCAAyC,CAAC;SACtD,MAAM,CAAC,cAAc,CAAC,CAAA;IAEzB,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,yCAAyC,CAAC;SACtD,MAAM,CAAC,YAAY,CAAC,CAAA;IAEvB,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,mCAAmC,CAAC;SAChD,MAAM,CAAC,mBAAmB,EAAE,0DAA0D,CAAC;SACvF,MAAM,CAAC,aAAa,CAAC,CAAA;IAExB,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,8BAA8B,CAAC;SAC3C,MAAM,CAAC,WAAW,CAAC,CAAA;IAEtB,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,mDAAmD,CAAC;SAChE,MAAM,CAAC,aAAa,CAAC,CAAA;IAExB,oFAAoF;IACpF,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IAE7C,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,qBAAqB,EAAe,MAAM,4BAA4B,CAAA;AAC/E,OAAO,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAA;AAEnC,4EAA4E;AAC5E,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAwB,CAAA;AAOpF,gEAAgE;AAChE,4EAA4E;AAC5E,MAAM,UAAU,YAAY,CAAC,OAAoB,EAAE;IACjD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;IAE7B,6EAA6E;IAC7E,8EAA8E;IAC9E,yBAAyB;IACzB,OAAO,CAAC,uBAAuB,EAAE,CAAA;IAEjC,OAAO;SACJ,IAAI,CAAC,UAAU,CAAC;SAChB,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;SAC7B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAEvB,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;SAC3B,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC;SAC/C,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC;SAC1C,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC;SAChD,MAAM,CAAC,YAAY,CAAC,CAAA;IAEvB,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;SAC5B,MAAM,CAAC,aAAa,CAAC,CAAA;IAExB,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;SAC7B,MAAM,CAAC,cAAc,CAAC,CAAA;IAEzB,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;SAC3B,MAAM,CAAC,YAAY,CAAC,CAAA;IAEvB,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;SAC5B,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC;SAChD,MAAM,CAAC,aAAa,CAAC,CAAA;IAExB,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;SAC1B,MAAM,CAAC,WAAW,CAAC,CAAA;IAEtB,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;SAC5B,MAAM,CAAC,aAAa,CAAC,CAAA;IAExB,oFAAoF;IACpF,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IAE7C,OAAO,OAAO,CAAA;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tokenmix",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "Zero-config CLI to use any open-source coding agent with TokenMix as the unified LLM backend.",
5
5
  "type": "module",
6
6
  "bin": {