b3-dict 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
@@ -4,7 +4,7 @@ An AI-first dictionary for the terminal. Ask about English words, idioms, or usa
4
4
 
5
5
  ## Getting Started
6
6
 
7
- Needs Node 22 or newer and an API key from [OpenRouter](https://openrouter.ai/keys) or [OpenAI](https://platform.openai.com/api-keys).
7
+ Needs Node 22 or newer and an API key from [OpenRouter](https://openrouter.ai/keys), [OpenAI](https://platform.openai.com/api-keys) or [Fireworks](https://app.fireworks.ai/settings/users/api-keys).
8
8
 
9
9
  ```bash
10
10
  npm install
package/dist/lib/ask.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { createFireworks } from '@ai-sdk/fireworks';
1
2
  import { createOpenAI } from '@ai-sdk/openai';
2
3
  import { createOpenRouter } from '@openrouter/ai-sdk-provider';
3
4
  import { generateText, Output } from 'ai';
@@ -21,6 +22,8 @@ const SYSTEM = [
21
22
  function modelFor({ route, model, apiKey }) {
22
23
  if (route === 'openai')
23
24
  return createOpenAI({ apiKey })(model);
25
+ if (route === 'fireworks')
26
+ return createFireworks({ apiKey })(model);
24
27
  const openrouter = createOpenRouter({ apiKey });
25
28
  // OpenAI's endpoints on OpenRouter refuse to run with reasoning off (HTTP 400), and their models
26
29
  // already fit the output cap, so they get no reasoning option.
@@ -1 +1 @@
1
- {"version":3,"file":"ask.js","sourceRoot":"","sources":["../../src/lib/ask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,EAAE,EAAe,MAAM,YAAY,CAAC;AAElD,kFAAkF;AAClF,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC;AACtC,MAAM,UAAU,GAAG,MAAM,CAAC;AAE1B,6EAA6E;AAC7E,MAAM,MAAM,GAAG;IACb,4DAA4D;IAC5D,mHAAmH;IACnH,8CAA8C;IAC9C,kGAAkG;IAClG,mDAAmD;IACnD,8FAA8F;IAC9F,uIAAuI;IACvI,iMAAiM;CAClM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,SAAS,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAU;IAChD,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAChD,iGAAiG;IACjG,+DAA+D;IAC/D,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1D,iGAAiG;IACjG,wGAAwG;IACxG,OAAO,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,SAAS,CAAC,MAAc;IACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/B,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC;gBACpC,KAAK;gBACL,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,KAAK;gBACb,eAAe,EAAE,iBAAiB;gBAClC,UAAU,EAAE,CAAC;gBACb,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC;gBAC5C,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;aAClD,CAAC,CAAC;YACH,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ask.js","sourceRoot":"","sources":["../../src/lib/ask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,EAAE,EAAe,MAAM,YAAY,CAAC;AAElD,kFAAkF;AAClF,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC;AACtC,MAAM,UAAU,GAAG,MAAM,CAAC;AAE1B,6EAA6E;AAC7E,MAAM,MAAM,GAAG;IACb,4DAA4D;IAC5D,mHAAmH;IACnH,8CAA8C;IAC9C,kGAAkG;IAClG,mDAAmD;IACnD,8FAA8F;IAC9F,uIAAuI;IACvI,iMAAiM;CAClM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,SAAS,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAU;IAChD,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/D,IAAI,KAAK,KAAK,WAAW;QAAE,OAAO,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAChD,iGAAiG;IACjG,+DAA+D;IAC/D,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1D,iGAAiG;IACjG,wGAAwG;IACxG,OAAO,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,SAAS,CAAC,MAAc;IACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/B,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC;gBACpC,KAAK;gBACL,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,KAAK;gBACb,eAAe,EAAE,iBAAiB;gBAClC,UAAU,EAAE,CAAC;gBACb,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC;gBAC5C,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;aAClD,CAAC,CAAC;YACH,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -2,48 +2,56 @@ import { err, ok, ROUTES } from './types.js';
2
2
  export const DEFAULT_MODEL = {
3
3
  openrouter: 'qwen/qwen3-235b-a22b-2507',
4
4
  openai: 'gpt-5-mini',
5
+ fireworks: 'accounts/fireworks/models/minimax-m3',
5
6
  };
6
7
  // What the TUI's model picker offers, default first. Every one has answered a real lookup.
7
8
  export const MODEL_CHOICES = {
8
9
  openrouter: [DEFAULT_MODEL.openrouter, 'qwen/qwen3-30b-a3b-instruct-2507', 'z-ai/glm-4.6', 'openai/gpt-5-mini'],
9
10
  openai: [DEFAULT_MODEL.openai],
11
+ fireworks: [DEFAULT_MODEL.fireworks, 'accounts/fireworks/models/deepseek-v4p1-flash', 'accounts/fireworks/models/kimi-k3'],
10
12
  };
11
13
  const KEY_VAR = {
12
14
  openrouter: 'OPENROUTER_API_KEY',
13
15
  openai: 'OPENAI_API_KEY',
16
+ fireworks: 'FIREWORKS_API_KEY',
14
17
  };
18
+ const FIREWORKS_MODELS = 'accounts/fireworks/models/';
15
19
  const read = (env, name) => env[name]?.trim() || undefined;
16
20
  const isRoute = (value) => ROUTES.includes(value);
17
- // A model id as the route will serve it. A slash id is an OpenRouter id; a bare name resolves on
18
- // whichever route is active, so on OpenRouter it means OpenAI's model of that name.
21
+ // A model id as the route will serve it. A slash id is an OpenRouter id, unless it starts with
22
+ // `accounts/`, which is how Fireworks names its models and routers. A bare name resolves on
23
+ // whichever route is active: on OpenRouter it means OpenAI's model of that name, on Fireworks the
24
+ // model of that name in Fireworks' own account.
19
25
  export function checkModel(route, id) {
20
26
  const model = id.trim();
21
- if (model.includes('/')) {
22
- return route === 'openrouter' ? ok(model) : err({ code: 'model-needs-openrouter', model });
27
+ const mismatch = err({ code: 'model-not-on-route', route, model });
28
+ if (route === 'fireworks') {
29
+ if (model.startsWith('accounts/'))
30
+ return ok(model);
31
+ return model.includes('/') ? mismatch : ok(`${FIREWORKS_MODELS}${model}`);
23
32
  }
24
- return ok(route === 'openrouter' ? `openai/${model}` : model);
33
+ if (!model.includes('/'))
34
+ return ok(route === 'openrouter' ? `openai/${model}` : model);
35
+ return route === 'openrouter' ? ok(model) : mismatch;
25
36
  }
26
37
  export const keyFor = (env, route) => read(env, KEY_VAR[route]);
27
- // The routes a lookup could go to right now, OpenRouter first.
38
+ // The routes a lookup could go to right now, in auto-detect order.
28
39
  export const routesWithKeys = (env) => ROUTES.filter((route) => keyFor(env, route));
29
40
  // Which route wins: B3_DICT_PROVIDER, then the route picked in the TUI (saved) when its key is
30
- // there, then whichever key exists, OpenRouter first.
41
+ // there, then the first route that has a key (OpenRouter, OpenAI, Fireworks).
31
42
  // Which model wins: the one-shot --model, then B3_DICT_MODEL, then the model picked in the TUI for
32
43
  // that route (saved), then the route's default. Saved choices the keys or the route can't serve
33
44
  // are skipped, not errors: the user didn't ask for them on this run.
34
45
  export function resolveConfig(env, modelFlag, saved = {}) {
35
- const keys = {
36
- openrouter: keyFor(env, 'openrouter'),
37
- openai: keyFor(env, 'openai'),
38
- };
39
- if (!keys.openrouter && !keys.openai)
46
+ const [detected] = routesWithKeys(env);
47
+ if (!detected)
40
48
  return err({ code: 'no-key' });
41
49
  const forced = read(env, 'B3_DICT_PROVIDER')?.toLowerCase();
42
50
  if (forced !== undefined && !isRoute(forced))
43
51
  return err({ code: 'bad-provider', value: forced });
44
- const picked = saved.route && keys[saved.route] ? saved.route : undefined;
45
- const route = forced ?? picked ?? (keys.openrouter ? 'openrouter' : 'openai');
46
- const apiKey = keys[route];
52
+ const picked = saved.route && keyFor(env, saved.route) ? saved.route : undefined;
53
+ const route = forced ?? picked ?? detected;
54
+ const apiKey = keyFor(env, route);
47
55
  if (!apiKey)
48
56
  return err({ code: 'route-key-missing', route });
49
57
  const requested = modelFlag?.trim() || read(env, 'B3_DICT_MODEL');
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { Origin } from './model.js';
2
2
  import type { RetryEvent } from './policy.js';
3
- import type { Config, ConfigProblem, Failure, Route } from './types.js';
3
+ import { type Config, type ConfigProblem, type Failure, type Route } from './types.js';
4
4
  export declare const KEY_URL: Record<Route, string>;
5
5
  export declare const HELP = "B3 Dict \u2014 h\u1ECFi v\u1EC1 t\u1EEB, th\u00E0nh ng\u1EEF, c\u00E1ch d\u00F9ng ti\u1EBFng Anh; tr\u1EA3 l\u1EDDi b\u1EB1ng ti\u1EBFng Vi\u1EC7t.\n\nC\u00E1ch d\u00F9ng:\n b3dict m\u1EDF giao di\u1EC7n h\u1ECFi \u0111\u00E1p\n b3dict \"<c\u00E2u h\u1ECFi>\" [tu\u1EF3 ch\u1ECDn] h\u1ECFi m\u1ED9t l\u1EA7n r\u1ED3i tho\u00E1t\n\nV\u00ED d\u1EE5:\n b3dict \"take for granted\"\n b3dict \"Is draggable an English word?\"\n b3dict \"pragmatic\" --model z-ai/glm-4.6\n\nTu\u1EF3 ch\u1ECDn:\n --fresh b\u1ECF qua \u0111\u00E1p \u00E1n \u0111\u00E3 l\u01B0u, h\u1ECFi l\u1EA1i model\n --model <id> d\u00F9ng model n\u00E0y cho m\u1ED9t l\u1EA7n h\u1ECFi (lu\u00F4n h\u1ECFi l\u1EA1i model)\n --json in nguy\u00EAn answer envelope d\u1EA1ng JSON\n -h, --help hi\u1EC7n tr\u1EE3 gi\u00FAp\n -V, --version hi\u1EC7n phi\u00EAn b\u1EA3n\n\nM\u00E3 tho\u00E1t:\n 0 th\u00E0nh c\u00F4ng \u00B7 1 l\u1ED7i kh\u00F4ng r\u00F5 \u00B7 2 l\u1ED7i c\u00E1ch d\u00F9ng\n 3 l\u1ED7i c\u1EA5u h\u00ECnh (key, provider, model) \u00B7 4 l\u1ED7i provider";
6
6
  export declare const CLI: {
@@ -64,8 +64,8 @@ export declare const TUI: {
64
64
  readonly modelNotes: Record<string, string>;
65
65
  readonly modelInUse: "✓ đang dùng";
66
66
  readonly customRow: "Khác: gõ id model…";
67
- readonly customExample: "Id trên OpenRouter, ví dụ z-ai/glm-4.6. Tên trần như gpt-5-nano là model của OpenAI.";
68
- readonly customRejected: (model: string) => string;
67
+ readonly customExample: (route: Route) => "Tên model trên Fireworks, ví dụ deepseek-v4p1-flash. Id đầy đủ bắt đầu bằng accounts/ cũng được." | "Id trên OpenRouter, ví dụ z-ai/glm-4.6. Tên trần như gpt-5-nano là model của OpenAI.";
68
+ readonly customRejected: (route: Route, model: string) => string;
69
69
  readonly pinned: (name: string, value: string) => string;
70
70
  readonly providerLabel: "Provider";
71
71
  readonly pickerHints: "↑↓ chọn · enter dùng · esc về home · q thoát";
@@ -1,8 +1,10 @@
1
1
  import { keyVarFor } from './config.js';
2
+ import { ROUTES } from './types.js';
2
3
  // Vietnamese chrome for both surfaces, so they say the same thing. Nothing user-facing lives elsewhere.
3
4
  export const KEY_URL = {
4
5
  openrouter: 'https://openrouter.ai/keys',
5
6
  openai: 'https://platform.openai.com/api-keys',
7
+ fireworks: 'https://app.fireworks.ai/settings/users/api-keys',
6
8
  };
7
9
  export const HELP = `B3 Dict — hỏi về từ, thành ngữ, cách dùng tiếng Anh; trả lời bằng tiếng Việt.
8
10
 
@@ -77,11 +79,15 @@ export const TUI = {
77
79
  modelHeading: 'Model',
78
80
  modelInstruction: 'Model trả lời các câu hỏi sau. Đáp án đã lưu vẫn dùng lại; r để hỏi lại bằng model mới.',
79
81
  modelDefault: 'mặc định',
80
- modelNotes: { 'qwen/qwen3-30b-a3b-instruct-2507': 'nhanh' },
82
+ modelNotes: { 'qwen/qwen3-30b-a3b-instruct-2507': 'nhanh', 'accounts/fireworks/models/kimi-k3': 'chậm' },
81
83
  modelInUse: '✓ đang dùng',
82
84
  customRow: 'Khác: gõ id model…',
83
- customExample: 'Id trên OpenRouter, ví dụ z-ai/glm-4.6. Tên trần như gpt-5-nano là model của OpenAI.',
84
- customRejected: (model) => `✗ ${model} là id của OpenRouter, mà b3dict đang chạy route OpenAI. Dùng tên model của OpenAI như gpt-5-mini.`,
85
+ customExample: (route) => route === 'fireworks'
86
+ ? 'Tên model trên Fireworks, ví dụ deepseek-v4p1-flash. Id đầy đủ bắt đầu bằng accounts/ cũng được.'
87
+ : 'Id trên OpenRouter, ví dụ z-ai/glm-4.6. Tên trần như gpt-5-nano là model của OpenAI.',
88
+ customRejected: (route, model) => route === 'fireworks'
89
+ ? `✗ ${model} không phải id của Fireworks. Dùng tên trần như minimax-m3, hoặc id đầy đủ bắt đầu bằng accounts/.`
90
+ : `✗ ${model} là id của OpenRouter, mà b3dict đang chạy route OpenAI. Dùng tên model của OpenAI như gpt-5-mini.`,
85
91
  pinned: (name, value) => `${name}=${value} đang đặt, nên lần mở sau b3dict vẫn dùng ${value}.`,
86
92
  providerLabel: 'Provider',
87
93
  pickerHints: '↑↓ chọn · enter dùng · esc về home · q thoát',
@@ -123,10 +129,11 @@ export const helpSections = (paths) => [
123
129
  {
124
130
  title: 'Cấu hình',
125
131
  rows: [
126
- ['OPENROUTER_API_KEY', 'key OpenRouter, được ưu tiên khi có cả hai'],
132
+ ['OPENROUTER_API_KEY', 'key OpenRouter, được ưu tiên khi có nhiều key'],
127
133
  ['OPENAI_API_KEY', 'key OpenAI'],
134
+ ['FIREWORKS_API_KEY', 'key Fireworks'],
128
135
  ['B3_DICT_MODEL', 'ép model, thắng lựa chọn trong Model'],
129
- ['B3_DICT_PROVIDER', 'ép provider (openrouter, openai), thắng lựa chọn trong Model'],
136
+ ['B3_DICT_PROVIDER', `ép provider (${ROUTES.join(', ')}), thắng lựa chọn trong Model`],
130
137
  ['B3_DICT_HOME', 'thư mục chứa .env, settings.json, data/ (đặt ngoài .env)'],
131
138
  ],
132
139
  },
@@ -140,7 +147,8 @@ export const helpSections = (paths) => [
140
147
  },
141
148
  ];
142
149
  const setupSteps = (envPath) => `1. Tạo key: ${KEY_URL.openrouter}
143
- (hoặc ${KEY_URL.openai})
150
+ (hoặc ${KEY_URL.openai}
151
+ hoặc ${KEY_URL.fireworks})
144
152
  2. echo "OPENROUTER_API_KEY=sk-or-…" >> ${envPath}
145
153
  3. Chạy lại b3dict`;
146
154
  export function configProblemText(problem, envPath) {
@@ -148,7 +156,7 @@ export function configProblemText(problem, envPath) {
148
156
  case 'no-key':
149
157
  return `✗ Không tìm thấy API key
150
158
 
151
- B3 Dict cần OPENROUTER_API_KEY hoặc OPENAI_API_KEY trong ${envPath}
159
+ B3 Dict cần OPENROUTER_API_KEY, OPENAI_API_KEY hoặc FIREWORKS_API_KEY trong ${envPath}
152
160
 
153
161
  ${setupSteps(envPath)}`;
154
162
  case 'route-key-missing':
@@ -159,8 +167,14 @@ hoặc bỏ B3_DICT_PROVIDER để tự chọn route theo key đang có.`;
159
167
  case 'bad-provider':
160
168
  return `✗ B3_DICT_PROVIDER=${problem.value} không hợp lệ
161
169
 
162
- Chỉ nhận: openrouter hoặc openai.`;
163
- case 'model-needs-openrouter':
170
+ Chỉ nhận: ${ROUTES.join(', ')}.`;
171
+ case 'model-not-on-route':
172
+ if (problem.route === 'fireworks') {
173
+ return `✗ Model ${problem.model} không chạy được trên route Fireworks
174
+
175
+ Trên Fireworks, dùng tên trần như minimax-m3 hoặc id đầy đủ bắt đầu bằng accounts/.
176
+ Id kiểu ${problem.model} là của OpenRouter: đặt B3_DICT_PROVIDER=openrouter để dùng nó.`;
177
+ }
164
178
  return `✗ Model ${problem.model} cần route OpenRouter
165
179
 
166
180
  Tên model có dấu "/" là id của OpenRouter. Thêm OPENROUTER_API_KEY vào ${envPath}
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/lib/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/lib/messages.ts"],"names":[],"mappings":"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"}
package/dist/lib/model.js CHANGED
@@ -246,8 +246,8 @@ export function intentFor(view, input, key) {
246
246
  if (key.escape)
247
247
  return { type: 'back' };
248
248
  if (view.index === -1 && (key.return || key.leftArrow || key.rightArrow)) {
249
- const at = view.routes.indexOf(view.route);
250
- return { type: 'pickRoute', route: view.routes[(at + 1) % view.routes.length] };
249
+ const step = key.leftArrow ? view.routes.length - 1 : 1;
250
+ return { type: 'pickRoute', route: view.routes[(view.routes.indexOf(view.route) + step) % view.routes.length] };
251
251
  }
252
252
  if (key.return) {
253
253
  const row = view.rows[view.index];
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/lib/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/lib/model.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,13 @@ declare const SettingsFile: z.ZodObject<{
4
4
  route: z.ZodOptional<z.ZodEnum<{
5
5
  openrouter: "openrouter";
6
6
  openai: "openai";
7
+ fireworks: "fireworks";
7
8
  }>>;
8
- models: z.ZodOptional<z.ZodObject<{
9
- openrouter: z.ZodOptional<z.ZodString>;
10
- openai: z.ZodOptional<z.ZodString>;
11
- }, z.core.$strip>>;
9
+ models: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
10
+ openrouter: "openrouter";
11
+ openai: "openai";
12
+ fireworks: "fireworks";
13
+ }> & z.core.$partial, z.ZodString>>;
12
14
  }, z.core.$strip>;
13
15
  export type Settings = z.infer<typeof SettingsFile>;
14
16
  export declare function readSettings(path: string): Result<Settings>;
@@ -6,7 +6,7 @@ import { err, messageOf, ok, ROUTES } from './types.js';
6
6
  // switching back to a route brings its model back.
7
7
  const SettingsFile = z.object({
8
8
  route: z.enum(ROUTES).optional(),
9
- models: z.object({ openrouter: z.string().optional(), openai: z.string().optional() }).optional(),
9
+ models: z.partialRecord(z.enum(ROUTES), z.string()).optional(),
10
10
  });
11
11
  // A missing file is no settings. A broken one is an error the caller reports and then ignores.
12
12
  export function readSettings(path) {
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/lib/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAe,MAAM,YAAY,CAAC;AAErE,gGAAgG;AAChG,mDAAmD;AACnD,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;IAChC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;CAClG,CAAC,CAAC;AAGH,+FAA+F;AAC/F,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAC9E,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,QAAkB;IAC5D,IAAI,CAAC;QACH,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,aAAa,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9D,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/lib/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAe,MAAM,YAAY,CAAC;AAErE,gGAAgG;AAChG,mDAAmD;AACnD,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;IAChC,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC/D,CAAC,CAAC;AAGH,+FAA+F;AAC/F,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAC9E,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,QAAkB;IAC5D,IAAI,CAAC;QACH,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,aAAa,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9D,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC"}
@@ -14,7 +14,7 @@ export declare const err: <E>(error: E) => {
14
14
  error: E;
15
15
  };
16
16
  export declare const messageOf: (error: unknown) => string;
17
- export declare const ROUTES: readonly ["openrouter", "openai"];
17
+ export declare const ROUTES: readonly ["openrouter", "openai", "fireworks"];
18
18
  export type Route = (typeof ROUTES)[number];
19
19
  export type Config = {
20
20
  route: Route;
@@ -30,7 +30,8 @@ export type ConfigProblem = {
30
30
  code: 'route-key-missing';
31
31
  route: Route;
32
32
  } | {
33
- code: 'model-needs-openrouter';
33
+ code: 'model-not-on-route';
34
+ route: Route;
34
35
  model: string;
35
36
  };
36
37
  export type Failure = {
package/dist/lib/types.js CHANGED
@@ -2,6 +2,7 @@ export const ok = (data) => ({ ok: true, data });
2
2
  export const err = (error) => ({ ok: false, error });
3
3
  // The one way a thrown value becomes text.
4
4
  export const messageOf = (error) => (error instanceof Error ? error.message : String(error));
5
- export const ROUTES = ['openrouter', 'openai'];
5
+ // In auto-detect order: the first route with a key wins.
6
+ export const ROUTES = ['openrouter', 'openai', 'fireworks'];
6
7
  export const EXIT = { ok: 0, unexpected: 1, usage: 2, noKey: 3, provider: 4 };
7
8
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,EAAE,GAAG,CAAI,IAAO,EAAyB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9E,MAAM,CAAC,MAAM,GAAG,GAAG,CAAI,KAAQ,EAA2B,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AAEpF,2CAA2C;AAC3C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAc,EAAU,EAAE,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAE9G,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAU,CAAC;AAoBxD,MAAM,CAAC,MAAM,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAW,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,EAAE,GAAG,CAAI,IAAO,EAAyB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9E,MAAM,CAAC,MAAM,GAAG,GAAG,CAAI,KAAQ,EAA2B,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AAEpF,2CAA2C;AAC3C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAc,EAAU,EAAE,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAE9G,yDAAyD;AACzD,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,WAAW,CAAU,CAAC;AAoBrE,MAAM,CAAC,MAAM,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAW,CAAC"}
@@ -17,6 +17,6 @@ export function ModelPicker({ view, pinned = {} }) {
17
17
  return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: C.sapphire, bold: true, children: TUI.modelHeading }), _jsx(Text, { color: C.overlay1, children: TUI.modelInstruction }), _jsxs(Gutter, { children: [routes.length > 1 && (_jsxs(_Fragment, { children: [_jsxs(GutterLine, { children: [_jsx(Cursor, { active: onProvider }), _jsx(Text, { color: onProvider ? C.mauve : C.label, bold: onProvider, children: TUI.providerLabel }), routes.map((name, at) => (_jsxs(Text, { children: [_jsx(Text, { color: C.overlay0, children: at === 0 ? ' ' : ' · ' }), _jsx(Text, { color: name === route ? C.green : C.overlay0, bold: name === route, children: name })] }, name)))] }), _jsx(GutterLine, {})] })), rows.map((id, at) => {
18
18
  const active = !draft && at === index;
19
19
  return (_jsxs(GutterLine, { children: [_jsx(Cursor, { active: active }), _jsx(Text, { color: active ? C.mauve : C.label, bold: active, children: id }), note(id) && _jsxs(Text, { color: C.overlay0, children: [" ", note(id)] }), id === current && _jsxs(Text, { color: C.green, children: [" ", TUI.modelInUse] })] }, id));
20
- }), draft ? (_jsx(GutterLine, { children: _jsx(QueryInput, { draft: draft }) })) : (_jsxs(GutterLine, { children: [_jsx(Cursor, { active: index === rows.length }), _jsx(Text, { color: index === rows.length ? C.mauve : C.overlay1, bold: index === rows.length, children: TUI.customRow })] })), draft && _jsx(Muted, { children: TUI.customExample }), [rejected && TUI.customRejected(rejected), notice].map((text) => text && (_jsx(GutterLine, { children: _jsx(Text, { color: C.red, children: text }) }, text))), pinned.route && _jsx(Muted, { children: TUI.pinned('B3_DICT_PROVIDER', pinned.route) }), pinned.model && _jsx(Muted, { children: TUI.pinned('B3_DICT_MODEL', pinned.model) }), _jsx(GutterLine, {}), _jsx(Muted, { children: draft ? TUI.customHints : onProvider ? TUI.providerHints : TUI.pickerHints })] })] }));
20
+ }), draft ? (_jsx(GutterLine, { children: _jsx(QueryInput, { draft: draft }) })) : (_jsxs(GutterLine, { children: [_jsx(Cursor, { active: index === rows.length }), _jsx(Text, { color: index === rows.length ? C.mauve : C.overlay1, bold: index === rows.length, children: TUI.customRow })] })), draft && _jsx(Muted, { children: TUI.customExample(route) }), [rejected && TUI.customRejected(route, rejected), notice].map((text) => text && (_jsx(GutterLine, { children: _jsx(Text, { color: C.red, children: text }) }, text))), pinned.route && _jsx(Muted, { children: TUI.pinned('B3_DICT_PROVIDER', pinned.route) }), pinned.model && _jsx(Muted, { children: TUI.pinned('B3_DICT_MODEL', pinned.model) }), _jsx(GutterLine, {}), _jsx(Muted, { children: draft ? TUI.customHints : onProvider ? TUI.providerHints : TUI.pickerHints })] })] }));
21
21
  }
22
22
  //# sourceMappingURL=model-picker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-picker.js","sourceRoot":"","sources":["../../src/screens/model-picker.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-picker.js","sourceRoot":"","sources":["../../src/screens/model-picker.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "b3-dict",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "AI-first dictionary for the terminal: freeform EN/VI questions about words, answered in Vietnamese",
5
5
  "type": "module",
6
6
  "license": "ISC",
@@ -26,6 +26,7 @@
26
26
  "release:major": "bash scripts/release.sh major"
27
27
  },
28
28
  "dependencies": {
29
+ "@ai-sdk/fireworks": "^3.0.70",
29
30
  "@ai-sdk/openai": "^4.0.83",
30
31
  "@openrouter/ai-sdk-provider": "^3.1.0",
31
32
  "ai": "^7.0.127",