@oh-my-pi/pi-coding-agent 12.10.0 → 12.10.1

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/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [12.10.1] - 2026-02-18
6
+
7
+ ### Added
8
+
9
+ - Added `/login` support for Cerebras and Synthetic API-key providers
10
+
5
11
  ## [12.10.0] - 2026-02-18
6
12
 
7
13
  ### Breaking Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oh-my-pi/pi-coding-agent",
3
- "version": "12.10.0",
3
+ "version": "12.10.1",
4
4
  "description": "Coding agent CLI with read, bash, edit, write tools and session management",
5
5
  "type": "module",
6
6
  "bin": {
@@ -84,12 +84,12 @@
84
84
  },
85
85
  "dependencies": {
86
86
  "@mozilla/readability": "0.6.0",
87
- "@oh-my-pi/omp-stats": "12.10.0",
88
- "@oh-my-pi/pi-agent-core": "12.10.0",
89
- "@oh-my-pi/pi-ai": "12.10.0",
90
- "@oh-my-pi/pi-natives": "12.10.0",
91
- "@oh-my-pi/pi-tui": "12.10.0",
92
- "@oh-my-pi/pi-utils": "12.10.0",
87
+ "@oh-my-pi/omp-stats": "12.10.1",
88
+ "@oh-my-pi/pi-agent-core": "12.10.1",
89
+ "@oh-my-pi/pi-ai": "12.10.1",
90
+ "@oh-my-pi/pi-natives": "12.10.1",
91
+ "@oh-my-pi/pi-tui": "12.10.1",
92
+ "@oh-my-pi/pi-utils": "12.10.1",
93
93
  "@sinclair/typebox": "^0.34.48",
94
94
  "@xterm/headless": "^6.0.0",
95
95
  "ajv": "^8.18.0",
@@ -28,6 +28,7 @@ import {
28
28
  registerCustomApi,
29
29
  registerOAuthProvider,
30
30
  type SimpleStreamOptions,
31
+ syntheticModelManagerOptions,
31
32
  unregisterCustomApis,
32
33
  unregisterOAuthProviders,
33
34
  vercelAiGatewayModelManagerOptions,
@@ -639,6 +640,7 @@ export class ModelRegistry {
639
640
  openrouterApiKey,
640
641
  vercelGatewayApiKey,
641
642
  kimiApiKey,
643
+ syntheticApiKey,
642
644
  githubCopilotApiKey,
643
645
  googleApiKey,
644
646
  cursorApiKey,
@@ -656,6 +658,7 @@ export class ModelRegistry {
656
658
  this.getApiKeyForProvider("openrouter"),
657
659
  this.getApiKeyForProvider("vercel-ai-gateway"),
658
660
  this.getApiKeyForProvider("kimi-code"),
661
+ this.getApiKeyForProvider("synthetic"),
659
662
  this.getApiKeyForProvider("github-copilot"),
660
663
  this.getApiKeyForProvider("google"),
661
664
  this.getApiKeyForProvider("cursor"),
@@ -745,6 +748,14 @@ export class ModelRegistry {
745
748
  }),
746
749
  );
747
750
  }
751
+ if (isAuthenticated(syntheticApiKey)) {
752
+ options.push(
753
+ syntheticModelManagerOptions({
754
+ apiKey: syntheticApiKey,
755
+ baseUrl: this.getProviderBaseUrl("synthetic"),
756
+ }),
757
+ );
758
+ }
748
759
  if (isAuthenticated(githubCopilotApiKey)) {
749
760
  options.push(
750
761
  githubCopilotModelManagerOptions({
@@ -33,6 +33,7 @@ export const defaultModelPerProvider: Record<KnownProvider, string> = {
33
33
  "minimax-code-cn": "MiniMax-M2.5",
34
34
  opencode: "claude-sonnet-4-6",
35
35
  "kimi-code": "kimi-k2.5",
36
+ synthetic: "hf:moonshotai/Kimi-K2.5",
36
37
  };
37
38
 
38
39
  export interface ScopedModel {
@@ -13,6 +13,7 @@ import {
13
13
  kimiUsageProvider,
14
14
  loginAnthropic,
15
15
  loginAntigravity,
16
+ loginCerebras,
16
17
  loginCursor,
17
18
  loginGeminiCli,
18
19
  loginGitHubCopilot,
@@ -22,6 +23,7 @@ import {
22
23
  loginOpenAICodex,
23
24
  loginOpenCode,
24
25
  loginPerplexity,
26
+ loginSynthetic,
25
27
  loginZai,
26
28
  type OAuthController,
27
29
  type OAuthCredentials,
@@ -696,6 +698,11 @@ export class AuthStorage {
696
698
  await saveApiKeyCredential(apiKey);
697
699
  return;
698
700
  }
701
+ case "cerebras": {
702
+ const apiKey = await loginCerebras(ctrl);
703
+ await saveApiKeyCredential(apiKey);
704
+ return;
705
+ }
699
706
  case "zai": {
700
707
  const apiKey = await loginZai(ctrl);
701
708
  await saveApiKeyCredential(apiKey);
@@ -711,6 +718,11 @@ export class AuthStorage {
711
718
  await saveApiKeyCredential(apiKey);
712
719
  return;
713
720
  }
721
+ case "synthetic": {
722
+ const apiKey = await loginSynthetic(ctrl);
723
+ await saveApiKeyCredential(apiKey);
724
+ return;
725
+ }
714
726
  default: {
715
727
  const customProvider = getOAuthProvider(provider);
716
728
  if (!customProvider) {