pi-clawbay 0.0.24 → 0.0.25
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 +12 -1
- package/dist/google-models.d.ts +3 -0
- package/dist/google-models.d.ts.map +1 -1
- package/dist/google-models.js +33 -1
- package/dist/google-models.js.map +1 -1
- package/dist/models.d.ts.map +1 -1
- package/dist/models.js +7 -4
- package/dist/models.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@ A provider extension for [Pi Coding Agent](https://github.com/earendil-works/pi)
|
|
|
5
5
|
## Features
|
|
6
6
|
|
|
7
7
|
- **GPT-5 & Codex Models** - Access via TheClawBay's native Codex Responses route with session-based prompt-cache hits
|
|
8
|
-
- **Gemini Models** - Dynamically discovered `gemini-*` models use Pi's native Google transport against TheClawBay's `/v1beta` route
|
|
8
|
+
- **Gemini Models** - Dynamically discovered `gemini-*` models use Pi's native Google transport against TheClawBay's `/v1beta` route, including Pi-compatible thinking support by default
|
|
9
9
|
- **Single Provider** - Only `theclawbay` is registered; routing is selected per model
|
|
10
10
|
- **GPT-5.4 Split Options** - `gpt-5.4` and `gpt-5.4[1m]` for clearer cost/context choice
|
|
11
11
|
- **GPT Image 2** - Generate PNG images through TheClawBay's hosted Codex Responses `image_generation` tool
|
|
@@ -69,6 +69,7 @@ The extension keeps one Pi provider, `theclawbay`, and routes by model family:
|
|
|
69
69
|
- **Gemini models** (`gemini-*`) are registered per model with:
|
|
70
70
|
- `api: "google-generative-ai"`
|
|
71
71
|
- `baseUrl: "https://api.theclawbay.com/v1beta"`
|
|
72
|
+
- `reasoning: true` for the Gemini IDs that Pi's official Google provider marks as thinking-capable (`gemini-2.5-*`, `gemini-live-2.5-*`, `gemini-flash-latest`, `gemini-flash-lite-latest`, `gemini-3*-flash*`, and `gemini-3*-pro*`)
|
|
72
73
|
- Pi then uses its native Google SDK transport (`/v1beta/models/{model}:streamGenerateContent?alt=sse`) instead of the Codex transport. This is required because sending Gemini models to `https://api.theclawbay.com/backend-api/codex/responses` returns `404 upstream returned HTTP 404`.
|
|
73
74
|
- **Image generation** (`gpt-image-2`) uses TheClawBay's Codex Responses route with the hosted `image_generation` tool:
|
|
74
75
|
- `https://api.theclawbay.com/backend-api/codex/responses`
|
|
@@ -90,6 +91,16 @@ For `gpt-image-2`, the request also includes:
|
|
|
90
91
|
|
|
91
92
|
This avoids Pi's built-in `openai-codex-responses` JWT parsing path, which expects a ChatGPT/Codex-style token and can fail with `Failed to extract accountId from token` when given a normal TheClawBay API key.
|
|
92
93
|
|
|
94
|
+
### Gemini Thinking
|
|
95
|
+
|
|
96
|
+
Gemini thinking is enabled by default for the same Google-native model families that Pi official marks as compatible; there is no feature flag or environment variable. Pi's Google transport maps Pi reasoning options to Google `thinkingConfig`:
|
|
97
|
+
|
|
98
|
+
- Gemini 2.5 models use `thinkingBudget`.
|
|
99
|
+
- Gemini 3 Flash / Flash-Lite models use `thinkingLevel` and hide the unsupported `off` level.
|
|
100
|
+
- Gemini 3 Pro / 3.1 Pro models expose only the supported visible levels: `low -> LOW` and `high -> HIGH`; unsupported `off`, `minimal`, and `medium` levels are hidden/skipped by Pi's thinking-level clamp.
|
|
101
|
+
|
|
102
|
+
If no explicit Pi reasoning level is selected, Pi still sends the official hidden lowest supported Google config for reasoning-capable Gemini 3 models so the request remains valid while not surfacing hidden thoughts.
|
|
103
|
+
|
|
93
104
|
### Gemini Cache Limitation
|
|
94
105
|
|
|
95
106
|
Gemini now uses the correct Pi Google transport. If TheClawBay's `/v1beta` response includes `usageMetadata.cachedContentTokenCount`, Pi will count that as `cacheRead` usage. However, explicit Gemini cached-content creation is not available through TheClawBay at the moment: `v1beta/cachedContents` is blocked by the proxy (`proxy path not allowed: v1beta/cachedContents`). Do not expect or promise Gemini cache hits equivalent to the Codex path until TheClawBay allows that endpoint.
|
package/dist/google-models.d.ts
CHANGED
|
@@ -4,7 +4,10 @@ interface GoogleModelConfigInput {
|
|
|
4
4
|
name: string;
|
|
5
5
|
cost: ProviderModelConfig["cost"];
|
|
6
6
|
}
|
|
7
|
+
type ThinkingLevelMap = NonNullable<ProviderModelConfig["thinkingLevelMap"]>;
|
|
7
8
|
export declare function isGoogleModelId(id: string): boolean;
|
|
9
|
+
export declare function supportsGoogleThinking(id: string): boolean;
|
|
10
|
+
export declare function resolveGoogleThinkingLevelMap(id: string): ThinkingLevelMap | undefined;
|
|
8
11
|
export declare function createGoogleModelConfig(input: GoogleModelConfigInput): ProviderModelConfig;
|
|
9
12
|
export {};
|
|
10
13
|
//# sourceMappingURL=google-models.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-models.d.ts","sourceRoot":"","sources":["../src/google-models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAG3E,UAAU,sBAAsB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,sBAAsB,GAAG,mBAAmB,
|
|
1
|
+
{"version":3,"file":"google-models.d.ts","sourceRoot":"","sources":["../src/google-models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAG3E,UAAU,sBAAsB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,KAAK,gBAAgB,GAAG,WAAW,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAK7E,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEnD;AAkBD,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAO1D;AAED,wBAAgB,6BAA6B,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAUtF;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,sBAAsB,GAAG,mBAAmB,CAe1F"}
|
package/dist/google-models.js
CHANGED
|
@@ -1,14 +1,46 @@
|
|
|
1
1
|
import { GOOGLE_GEMINI_CONTEXT_WINDOW, GOOGLE_GEMINI_MAX_TOKENS, MODEL_INPUTS, THECLAWBAY_GEMINI_BASE_URL } from "./constants.js";
|
|
2
|
+
const GEMINI_3_FLASH_THINKING_LEVEL_MAP = { off: null };
|
|
3
|
+
const GEMINI_3_PRO_THINKING_LEVEL_MAP = { off: null, minimal: null, low: "LOW", medium: null, high: "HIGH" };
|
|
2
4
|
export function isGoogleModelId(id) {
|
|
3
5
|
return id.startsWith("gemini-");
|
|
4
6
|
}
|
|
7
|
+
function isGemini25ThinkingModel(id) {
|
|
8
|
+
return /^gemini-(?:live-)?2\.5-/.test(id);
|
|
9
|
+
}
|
|
10
|
+
function isGeminiLatestThinkingModel(id) {
|
|
11
|
+
return /^gemini-flash(?:-lite)?-latest$/.test(id);
|
|
12
|
+
}
|
|
13
|
+
function isGemini3FlashThinkingModel(id) {
|
|
14
|
+
return /^gemini-3(?:\.\d+)?-flash/.test(id);
|
|
15
|
+
}
|
|
16
|
+
function isGemini3ProThinkingModel(id) {
|
|
17
|
+
return /^gemini-3(?:\.\d+)?-pro/.test(id);
|
|
18
|
+
}
|
|
19
|
+
export function supportsGoogleThinking(id) {
|
|
20
|
+
return (isGemini25ThinkingModel(id) ||
|
|
21
|
+
isGeminiLatestThinkingModel(id) ||
|
|
22
|
+
isGemini3FlashThinkingModel(id) ||
|
|
23
|
+
isGemini3ProThinkingModel(id));
|
|
24
|
+
}
|
|
25
|
+
export function resolveGoogleThinkingLevelMap(id) {
|
|
26
|
+
if (isGemini3ProThinkingModel(id)) {
|
|
27
|
+
return { ...GEMINI_3_PRO_THINKING_LEVEL_MAP };
|
|
28
|
+
}
|
|
29
|
+
if (isGemini3FlashThinkingModel(id)) {
|
|
30
|
+
return { ...GEMINI_3_FLASH_THINKING_LEVEL_MAP };
|
|
31
|
+
}
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
5
34
|
export function createGoogleModelConfig(input) {
|
|
35
|
+
const reasoning = supportsGoogleThinking(input.id);
|
|
36
|
+
const thinkingLevelMap = resolveGoogleThinkingLevelMap(input.id);
|
|
6
37
|
return {
|
|
7
38
|
id: input.id,
|
|
8
39
|
name: input.name,
|
|
9
40
|
api: "google-generative-ai",
|
|
10
41
|
baseUrl: THECLAWBAY_GEMINI_BASE_URL,
|
|
11
|
-
reasoning
|
|
42
|
+
reasoning,
|
|
43
|
+
...(reasoning && thinkingLevelMap ? { thinkingLevelMap } : {}),
|
|
12
44
|
input: [...MODEL_INPUTS],
|
|
13
45
|
cost: { ...input.cost },
|
|
14
46
|
contextWindow: GOOGLE_GEMINI_CONTEXT_WINDOW,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-models.js","sourceRoot":"","sources":["../src/google-models.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"google-models.js","sourceRoot":"","sources":["../src/google-models.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAUlI,MAAM,iCAAiC,GAAqB,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AAC1E,MAAM,+BAA+B,GAAqB,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAE/H,MAAM,UAAU,eAAe,CAAC,EAAU;IACzC,OAAO,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,uBAAuB,CAAC,EAAU;IAC1C,OAAO,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,2BAA2B,CAAC,EAAU;IAC9C,OAAO,iCAAiC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,2BAA2B,CAAC,EAAU;IAC9C,OAAO,2BAA2B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,yBAAyB,CAAC,EAAU;IAC5C,OAAO,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,EAAU;IAChD,OAAO,CACN,uBAAuB,CAAC,EAAE,CAAC;QAC3B,2BAA2B,CAAC,EAAE,CAAC;QAC/B,2BAA2B,CAAC,EAAE,CAAC;QAC/B,yBAAyB,CAAC,EAAE,CAAC,CAC7B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,EAAU;IACvD,IAAI,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,GAAG,+BAA+B,EAAE,CAAC;IAC/C,CAAC;IAED,IAAI,2BAA2B,CAAC,EAAE,CAAC,EAAE,CAAC;QACrC,OAAO,EAAE,GAAG,iCAAiC,EAAE,CAAC;IACjD,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAA6B;IACpE,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,gBAAgB,GAAG,6BAA6B,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACjE,OAAO;QACN,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,GAAG,EAAE,sBAAsB;QAC3B,OAAO,EAAE,0BAA0B;QACnC,SAAS;QACT,GAAG,CAAC,SAAS,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,KAAK,EAAE,CAAC,GAAG,YAAY,CAAC;QACxB,IAAI,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE;QACvB,aAAa,EAAE,4BAA4B;QAC3C,SAAS,EAAE,wBAAwB;KACnC,CAAC;AACH,CAAC"}
|
package/dist/models.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAoB3E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,KAAK,WAAW,GAAG,MAAM,GAAG,uBAAuB,CAAC;AAgBpD,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAYjD;AAqDD,wBAAgB,+BAA+B,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEnE;
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAoB3E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,KAAK,WAAW,GAAG,MAAM,GAAG,uBAAuB,CAAC;AAgBpD,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAYjD;AAqDD,wBAAgB,+BAA+B,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEnE;AAmHD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,mBAAmB,EAAE,CAE/E;AAED,wBAAgB,yBAAyB,IAAI,mBAAmB,EAAE,CAEjE;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,EAAE,CAGtG;AAED,wBAAgB,4BAA4B,CAC3C,MAAM,EAAE,uBAAuB,EAAE,EACjC,OAAO,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,GACnC,uBAAuB,EAAE,CAQ3B;AA+BD,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAMzD"}
|
package/dist/models.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FALLBACK_OPENAI_MODEL_IDS, HIDDEN_MODEL_ID_PREFIXES, GPT_IMAGE_2_MODEL_ID, GPT_54_1M_MODEL_ID, GPT_54_DEFAULT_MODEL_ID, GPT_54_UPSTREAM_MODEL_ID, IMAGE_GENERATION_MODEL_INPUTS, MODEL_INPUTS, OPENAI_CODEX_CONTEXT_WINDOW, OPENAI_DEFAULT_CONTEXT_WINDOW, OPENAI_DEFAULT_MAX_TOKENS, OPENAI_FRONTIER_CONTEXT_WINDOW, OPENAI_IMAGE_MAX_TOKENS, OPENAI_KNOWN_COSTS, PINNED_MODEL_IDS, ZERO_COST, } from "./constants.js";
|
|
2
|
-
import { createGoogleModelConfig, isGoogleModelId } from "./google-models.js";
|
|
2
|
+
import { createGoogleModelConfig, isGoogleModelId, resolveGoogleThinkingLevelMap, supportsGoogleThinking } from "./google-models.js";
|
|
3
3
|
export { isGoogleModelId } from "./google-models.js";
|
|
4
4
|
const FALLBACK_REASONING_EFFORTS = {
|
|
5
5
|
"gpt-5.5": ["low", "medium", "high", "xhigh"],
|
|
@@ -100,18 +100,21 @@ function resolveReasoning(metadata) {
|
|
|
100
100
|
if (isSupportedImageGenerationModel(metadata.id)) {
|
|
101
101
|
return false;
|
|
102
102
|
}
|
|
103
|
+
if (isGoogleModelId(metadata.id)) {
|
|
104
|
+
return supportsGoogleThinking(metadata.id);
|
|
105
|
+
}
|
|
103
106
|
if (typeof metadata.supportsReasoning === "boolean") {
|
|
104
107
|
return metadata.supportsReasoning;
|
|
105
108
|
}
|
|
106
|
-
if (isGoogleModelId(metadata.id)) {
|
|
107
|
-
return false;
|
|
108
|
-
}
|
|
109
109
|
return true;
|
|
110
110
|
}
|
|
111
111
|
function resolveThinkingLevelMap(metadata) {
|
|
112
112
|
if (!resolveReasoning(metadata)) {
|
|
113
113
|
return undefined;
|
|
114
114
|
}
|
|
115
|
+
if (isGoogleModelId(metadata.id)) {
|
|
116
|
+
return resolveGoogleThinkingLevelMap(metadata.id);
|
|
117
|
+
}
|
|
115
118
|
if (metadata.supportedReasoningEfforts) {
|
|
116
119
|
return buildThinkingLevelMap(metadata.supportedReasoningEfforts);
|
|
117
120
|
}
|
package/dist/models.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AACA,OAAO,EACN,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,EAC7B,YAAY,EACZ,2BAA2B,EAC3B,6BAA6B,EAC7B,yBAAyB,EACzB,8BAA8B,EAC9B,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,SAAS,GACT,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
|