privateboard 0.1.22 → 0.1.23

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/dist/version.d.ts CHANGED
@@ -12,6 +12,6 @@
12
12
  * number ends up surfaced in the user-facing footer or banner. Keep
13
13
  * this file as the canonical source — every callsite reads from here.
14
14
  */
15
- declare const VERSION = "0.1.22";
15
+ declare const VERSION = "0.1.23";
16
16
 
17
17
  export { VERSION };
package/dist/version.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  // src/version.ts
4
- var VERSION = "0.1.22";
4
+ var VERSION = "0.1.23";
5
5
  export {
6
6
  VERSION
7
7
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/version.ts"],"sourcesContent":["/**\n * Single source of truth for the app version.\n *\n * Imported by `cli.ts` (CLI banner / `--version`), `server.ts` (the\n * `/health` payload + the `/api/version` endpoint), and bundled into\n * the frontend via the version endpoint. Bump alongside `package.json`\n * on every release — the existing `npm version <patch|minor|major>`\n * + commit pattern updates package.json automatically; this file\n * needs the matching manual bump.\n *\n * If two strings drift (bumped one but not the other), the wrong\n * number ends up surfaced in the user-facing footer or banner. Keep\n * this file as the canonical source — every callsite reads from here.\n */\nexport const VERSION = \"0.1.22\";\n"],"mappings":";;;AAcO,IAAM,UAAU;","names":[]}
1
+ {"version":3,"sources":["../src/version.ts"],"sourcesContent":["/**\n * Single source of truth for the app version.\n *\n * Imported by `cli.ts` (CLI banner / `--version`), `server.ts` (the\n * `/health` payload + the `/api/version` endpoint), and bundled into\n * the frontend via the version endpoint. Bump alongside `package.json`\n * on every release — the existing `npm version <patch|minor|major>`\n * + commit pattern updates package.json automatically; this file\n * needs the matching manual bump.\n *\n * If two strings drift (bumped one but not the other), the wrong\n * number ends up surfaced in the user-facing footer or banner. Keep\n * this file as the canonical source — every callsite reads from here.\n */\nexport const VERSION = \"0.1.23\";\n"],"mappings":";;;AAcO,IAAM,UAAU;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "privateboard",
3
- "version": "0.1.22",
3
+ "version": "0.1.23",
4
4
  "description": "PrivateBoard · your private board meeting, on call. Local-first, multi-agent thinking amplifier.",
5
5
  "type": "module",
6
6
  "main": "electron-entry.cjs",
@@ -16,24 +16,22 @@
16
16
  * a key isn't in the table (registry updates lag this map). */
17
17
  const MODEL_LABELS = {
18
18
  "opus-4-7": { name: "Claude Opus 4.7", provider: "Anthropic" },
19
- "opus-4-6": { name: "Claude Opus 4.6", provider: "Anthropic" },
20
19
  "sonnet-4-6": { name: "Claude Sonnet 4.6", provider: "Anthropic" },
21
- "opus-4-6": { name: "Claude Opus 4.6", provider: "Anthropic" },
22
20
  "opus-4-6-fast": { name: "Claude Opus 4.6 Fast", provider: "Anthropic" },
23
21
  "haiku-4-5": { name: "Claude Haiku 4.5", provider: "Anthropic" },
24
22
  "gpt-5-5": { name: "GPT-5.5", provider: "OpenAI" },
25
23
  "gpt-5-4": { name: "GPT-5.4", provider: "OpenAI" },
26
24
  "gpt-5-4-mini": { name: "GPT-5.4 Mini", provider: "OpenAI" },
27
- "gpt-5-5-pro": { name: "GPT-5.5 Pro", provider: "OpenAI" },
28
25
  "codex-5-4": { name: "ChatGPT Codex 5.4", provider: "OpenAI" },
29
26
  "gemini-3-1": { name: "Gemini 3.1 Pro", provider: "Google" },
30
27
  "gemini-3-flash": { name: "Gemini 3 Flash", provider: "Google" },
31
28
  "gemini-3-1-flash": { name: "Gemini 3.1 Flash Lite", provider: "Google" },
32
- "grok-4-3": { name: "Grok 4.3", provider: "xAI" },
33
- "grok-4-1-fast": { name: "Grok 4.1 Fast", provider: "xAI" },
34
- "grok-4-20": { name: "Grok 4.20", provider: "xAI" },
35
29
  "deepseek-v4-pro": { name: "DeepSeek V4 Pro", provider: "DeepSeek" },
36
30
  "deepseek-v4-flash": { name: "DeepSeek Lite", provider: "DeepSeek" },
31
+ "glm-5-1": { name: "GLM 5.1", provider: "Zhipu" },
32
+ "kimi-k2-6": { name: "Kimi K2.6", provider: "Moonshot" },
33
+ "minimax-m2-7": { name: "MiniMax M2.7", provider: "MiniMax" },
34
+ "minimax-m2-5": { name: "MiniMax M2.5", provider: "MiniMax" },
37
35
  };
38
36
 
39
37
  const AGENT_CATALOG = {
@@ -604,9 +604,7 @@
604
604
  // /api/agents record (via window.app.agentsById) and resolves it here.
605
605
  const MODEL_LABELS = {
606
606
  "sonnet-4-6": { name: "Sonnet 4.6", deck: "balanced · default" },
607
- "opus-4-6": { name: "Opus 4.6", deck: "deep reasoning · 1M ctx" },
608
607
  "opus-4-7": { name: "Opus 4.7", deck: "deep reasoning" },
609
- "opus-4-6": { name: "Opus 4.6", deck: "prior-gen flagship" },
610
608
  "opus-4-6-fast": { name: "Opus 4.6 Fast", deck: "faster 4.6 · same intelligence" },
611
609
  "haiku-4-5": { name: "Haiku 4.5", deck: "fast · low-cost" },
612
610
  "gpt-5-5": { name: "GPT-5.5", deck: "flagship · 1M ctx" },
@@ -615,13 +613,13 @@
615
613
  "gemini-3-1": { name: "Gemini 3.1 Pro", deck: "flagship · 1M ctx" },
616
614
  "gemini-3-flash": { name: "Gemini 3 Flash", deck: "frontier flash · 1M ctx" },
617
615
  "gemini-3-1-flash": { name: "Gemini 3.1 Flash Lite", deck: "fast · 1M ctx" },
618
- "grok-4-3": { name: "Grok 4.3", deck: "flagship · 1M ctx" },
619
- "grok-4-1-fast": { name: "Grok 4.1 Fast", deck: "fast · 256k ctx" },
620
- "grok-4-20": { name: "Grok 4.20", deck: "2M ctx · big context" },
621
- "gpt-5-5-pro": { name: "GPT-5.5 Pro", deck: "deep reasoning · 1M ctx" },
622
616
  "codex-5-4": { name: "ChatGPT Codex 5.4", deck: "code · agents" },
623
617
  "deepseek-v4-pro": { name: "DeepSeek V4 Pro", deck: "reasoning · open weights" },
624
618
  "deepseek-v4-flash": { name: "DeepSeek Lite", deck: "V4 Flash · fast · 1M ctx" },
619
+ "glm-5-1": { name: "GLM 5.1", deck: "Zhipu flagship · 200k ctx" },
620
+ "kimi-k2-6": { name: "Kimi K2.6", deck: "Moonshot · long-context" },
621
+ "minimax-m2-7": { name: "MiniMax M2.7", deck: "MiniMax flagship · long-context" },
622
+ "minimax-m2-5": { name: "MiniMax M2.5", deck: "MiniMax prior · long-context" },
625
623
  };
626
624
 
627
625
  function liveModelFor(slug) {
@@ -2340,11 +2338,9 @@
2340
2338
  // Anthropic
2341
2339
  { v: "opus-4-7", name: "Claude Opus 4.7", provider: "Anthropic", deck: "deep reasoning · default" },
2342
2340
  { v: "sonnet-4-6", name: "Claude Sonnet 4.6", provider: "Anthropic", deck: "balanced · 1M ctx" },
2343
- { v: "opus-4-6", name: "Claude Opus 4.6", provider: "Anthropic", deck: "prior-gen flagship" },
2344
2341
  { v: "opus-4-6-fast", name: "Claude Opus 4.6 Fast", provider: "Anthropic", deck: "faster 4.6 · same intelligence" },
2345
2342
  { v: "haiku-4-5", name: "Claude Haiku 4.5", provider: "Anthropic", deck: "fast · low-cost" },
2346
2343
  // OpenAI
2347
- { v: "gpt-5-5-pro", name: "GPT-5.5 Pro", provider: "OpenAI", deck: "flagship · 1M ctx" },
2348
2344
  { v: "gpt-5-5", name: "GPT-5.5", provider: "OpenAI", deck: "1M ctx" },
2349
2345
  { v: "gpt-5-4", name: "GPT-5.4", provider: "OpenAI", deck: "general · 1M ctx" },
2350
2346
  { v: "gpt-5-4-mini", name: "GPT-5.4 Mini", provider: "OpenAI", deck: "fast · 400k ctx" },
@@ -2352,12 +2348,14 @@
2352
2348
  // Google
2353
2349
  { v: "gemini-3-1", name: "Gemini 3.1 Pro", provider: "Google", deck: "multimodal · 1M ctx" },
2354
2350
  { v: "gemini-3-1-flash",name: "Gemini 3.1 Flash", provider: "Google", deck: "fast · 1M ctx" },
2355
- // xAI
2356
- { v: "grok-4-3", name: "Grok 4.3", provider: "xAI", deck: "1M ctx" },
2357
- { v: "grok-4-20", name: "Grok 4.20", provider: "xAI", deck: "2M ctx · big context" },
2358
2351
  // DeepSeek
2359
2352
  { v: "deepseek-v4-pro", name: "DeepSeek V4 Pro", provider: "DeepSeek", deck: "reasoning · open weights" },
2360
- { v: "deepseek-v4-flash", name: "DeepSeek Lite", provider: "DeepSeek", deck: "V4 Flash · fast · 1M ctx" }
2353
+ { v: "deepseek-v4-flash", name: "DeepSeek Lite", provider: "DeepSeek", deck: "V4 Flash · fast · 1M ctx" },
2354
+ // Zhipu · Moonshot · MiniMax (all B.AI routed)
2355
+ { v: "glm-5-1", name: "GLM 5.1", provider: "Zhipu", deck: "Zhipu flagship · 200k ctx" },
2356
+ { v: "kimi-k2-6", name: "Kimi K2.6", provider: "Moonshot", deck: "long-context" },
2357
+ { v: "minimax-m2-7", name: "MiniMax M2.7", provider: "MiniMax", deck: "flagship · long-context" },
2358
+ { v: "minimax-m2-5", name: "MiniMax M2.5", provider: "MiniMax", deck: "prior · long-context" }
2361
2359
  ];
2362
2360
  function modelKey(slug) { return "boardroom.agent.model." + slug; }
2363
2361
 
package/public/app.js CHANGED
@@ -19,22 +19,21 @@
19
19
  const MODEL_LABELS = {
20
20
  "sonnet-4-6": "Sonnet 4.6",
21
21
  "opus-4-7": "Opus 4.7",
22
- "opus-4-6": "Opus 4.6",
23
22
  "opus-4-6-fast": "Opus 4.6 Fast",
24
23
  "haiku-4-5": "Haiku 4.5",
25
24
  "gpt-5-5": "GPT-5.5",
26
25
  "gpt-5-4": "GPT-5.4",
27
26
  "gpt-5-4-mini": "GPT-5.4 Mini",
28
- "gpt-5-5-pro": "GPT-5.5 Pro",
29
27
  "codex-5-4": "ChatGPT Codex 5.4",
30
28
  "gemini-3-1": "Gemini 3.1 Pro",
31
29
  "gemini-3-flash": "Gemini 3 Flash",
32
30
  "gemini-3-1-flash": "Gemini 3.1 Flash Lite",
33
- "grok-4-3": "Grok 4.3",
34
- "grok-4-1-fast": "Grok 4.1 Fast",
35
- "grok-4-20": "Grok 4.20",
36
31
  "deepseek-v4-pro": "DeepSeek V4 Pro",
37
32
  "deepseek-v4-flash": "DeepSeek Lite",
33
+ "glm-5-1": "GLM 5.1",
34
+ "kimi-k2-6": "Kimi K2.6",
35
+ "minimax-m2-7": "MiniMax M2.7",
36
+ "minimax-m2-5": "MiniMax M2.5",
38
37
  };
39
38
 
40
39
  /** Full model catalog for the new-agent composer dropdown. Mirrors
@@ -46,9 +45,8 @@
46
45
  const AGENT_COMPOSER_MODELS = [
47
46
  { v: "opus-4-7", label: "Claude Opus 4.7", provider: "Anthropic", deck: "deep reasoning" },
48
47
  { v: "sonnet-4-6", label: "Claude Sonnet 4.6", provider: "Anthropic", deck: "balanced · default" },
49
- { v: "opus-4-6", label: "Claude Opus 4.6", provider: "Anthropic", deck: "prior-gen flagship" },
50
48
  { v: "opus-4-6-fast", label: "Claude Opus 4.6 Fast", provider: "Anthropic", deck: "faster 4.6 · same intelligence" },
51
- { v: "haiku-4-5", label: "Claude Haiku 4.5", provider: "Anthropic", deck: "fast · low-cost" }, { v: "gpt-5-5-pro", label: "GPT-5.5 Pro", provider: "OpenAI", deck: "flagship · 1M ctx" },
49
+ { v: "haiku-4-5", label: "Claude Haiku 4.5", provider: "Anthropic", deck: "fast · low-cost" },
52
50
  { v: "gpt-5-5", label: "GPT-5.5", provider: "OpenAI", deck: "1M ctx" },
53
51
  { v: "gpt-5-4", label: "GPT-5.4", provider: "OpenAI", deck: "general · 1M ctx" },
54
52
  { v: "gpt-5-4-mini", label: "GPT-5.4 Mini", provider: "OpenAI", deck: "fast · 400k ctx" },
@@ -56,11 +54,12 @@
56
54
  { v: "gemini-3-1", label: "Gemini 3.1 Pro", provider: "Google", deck: "flagship · 1M ctx" },
57
55
  { v: "gemini-3-flash", label: "Gemini 3 Flash", provider: "Google", deck: "frontier flash · 1M ctx" },
58
56
  { v: "gemini-3-1-flash", label: "Gemini 3.1 Flash Lite", provider: "Google", deck: "fast · 1M ctx" },
59
- { v: "grok-4-3", label: "Grok 4.3", provider: "xAI", deck: "flagship · 1M ctx" },
60
- { v: "grok-4-1-fast", label: "Grok 4.1 Fast", provider: "xAI", deck: "fast · 256k ctx" },
61
- { v: "grok-4-20", label: "Grok 4.20", provider: "xAI", deck: "2M ctx · big context" },
62
57
  { v: "deepseek-v4-pro", label: "DeepSeek V4 Pro", provider: "DeepSeek", deck: "reasoning · open weights" },
63
58
  { v: "deepseek-v4-flash", label: "DeepSeek Lite", provider: "DeepSeek", deck: "V4 Flash · fast · 1M ctx" },
59
+ { v: "glm-5-1", label: "GLM 5.1", provider: "Zhipu", deck: "Zhipu flagship · 200k ctx" },
60
+ { v: "kimi-k2-6", label: "Kimi K2.6", provider: "Moonshot", deck: "long-context" },
61
+ { v: "minimax-m2-7", label: "MiniMax M2.7", provider: "MiniMax", deck: "flagship · long-context" },
62
+ { v: "minimax-m2-5", label: "MiniMax M2.5", provider: "MiniMax", deck: "prior · long-context" },
64
63
  ];
65
64
 
66
65
  /** Tone tooltips · short, user-readable summary of how each tone
@@ -6251,11 +6250,14 @@
6251
6250
  // base provider colour. Append-only — adding a new variant just
6252
6251
  // requires its modelV at the appropriate position.
6253
6252
  const MODEL_SHADE_ORDER = {
6254
- anthropic: ["opus-4-7", "opus-4-6", "sonnet-4-6", "haiku-4-5"],
6255
- openai: ["gpt-5-5", "gpt-5-4-mini", "codex-5-4"],
6253
+ anthropic: ["opus-4-7", "sonnet-4-6", "opus-4-6-fast", "haiku-4-5"],
6254
+ openai: ["gpt-5-5", "gpt-5-4", "gpt-5-4-mini", "codex-5-4"],
6256
6255
  google: ["gemini-3-1", "gemini-3-flash", "gemini-3-1-flash"],
6257
- xai: ["grok-4", "grok-4-3", "grok-4-mini"],
6258
- deepseek: ["deepseek-v4-pro", "deepseek-v4-flash", "deepseek-v4"],
6256
+ // xai · no Grok models in registry currently.
6257
+ deepseek: ["deepseek-v4-pro", "deepseek-v4-flash"],
6258
+ zhipu: ["glm-5-1"],
6259
+ moonshot: ["kimi-k2-6"],
6260
+ minimax: ["minimax-m2-7", "minimax-m2-5"],
6259
6261
  };
6260
6262
  const providerOf = (modelV) => {
6261
6263
  const hit = reachable.find((m) => m.modelV === modelV);
package/public/index.html CHANGED
@@ -11773,11 +11773,11 @@
11773
11773
  align-items: center;
11774
11774
  gap: 8px;
11775
11775
  padding: 6px 10px;
11776
- /* Bottombar matches the topbar's brand-tinted treatment: `--strip-bg`
11777
- fill + `--accent-line` hairline on top. The two strips bookend the
11778
- textarea zone so the composer reads as one cohesive brand surface. */
11779
- background: var(--strip-bg);
11780
- border-top: 0.5px solid var(--accent-line);
11776
+ /* Bottombar floats transparently over the input frame no fill,
11777
+ no top hairline. Only the topbar carries the brand-tinted strip
11778
+ treatment; the bottom controls read as buttons-on-the-input,
11779
+ not a second chrome band. */
11780
+ background: transparent;
11781
11781
  min-height: 48px;
11782
11782
  /* Establish a size container · child elements (notably the
11783
11783
  voice-mode toggle's text) can respond to the toolbar's width
@@ -10,7 +10,6 @@
10
10
  { provider: "anthropic", models: [
11
11
  { v: "sonnet-4-6", name: "Sonnet 4.6", deck: "balanced · default" },
12
12
  { v: "opus-4-7", name: "Opus 4.7", deck: "deep reasoning" },
13
- { v: "opus-4-6", name: "Opus 4.6", deck: "prior-gen flagship" },
14
13
  { v: "opus-4-6-fast", name: "Opus 4.6 Fast", deck: "faster 4.6 · same intelligence" },
15
14
  { v: "haiku-4-5", name: "Haiku 4.5", deck: "fast · low-cost" }
16
15
  ]},
@@ -24,13 +23,19 @@
24
23
  { v: "gemini-3-flash", name: "Gemini 3 Flash", deck: "frontier flash · 1M ctx" },
25
24
  { v: "gemini-3-1-flash", name: "Gemini 3.1 Flash Lite", deck: "fast · 1M ctx" }
26
25
  ]},
27
- { provider: "xai", models: [
28
- { v: "grok-4-3", name: "Grok 4.3", deck: "flagship · 1M ctx" },
29
- { v: "grok-4-1-fast", name: "Grok 4.1 Fast", deck: "fast · 256k ctx" }
30
- ]},
31
26
  { provider: "deepseek", models: [
32
27
  { v: "deepseek-v4-pro", name: "DeepSeek V4 Pro", deck: "reasoning · open weights" },
33
28
  { v: "deepseek-v4-flash", name: "DeepSeek Lite", deck: "V4 Flash · fast · 1M ctx" }
29
+ ]},
30
+ { provider: "zhipu", models: [
31
+ { v: "glm-5-1", name: "GLM 5.1", deck: "Zhipu flagship · 200k ctx" }
32
+ ]},
33
+ { provider: "moonshot", models: [
34
+ { v: "kimi-k2-6", name: "Kimi K2.6", deck: "long-context" }
35
+ ]},
36
+ { provider: "minimax", models: [
37
+ { v: "minimax-m2-7", name: "MiniMax M2.7", deck: "flagship · long-context" },
38
+ { v: "minimax-m2-5", name: "MiniMax M2.5", deck: "prior · long-context" }
34
39
  ]}
35
40
  ];
36
41
  const ALL_MODELS = MODEL_GROUPS.flatMap((g) => g.models);