@nodetool-ai/runtime 0.8.9-beta.2 → 0.8.9-beta.4
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/.nodetool-build-stamp +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/media-loader.d.ts +3 -0
- package/dist/media-loader.d.ts.map +1 -1
- package/dist/media-loader.js +19 -2
- package/dist/media-loader.js.map +1 -1
- package/dist/providers/context-window.d.ts.map +1 -1
- package/dist/providers/context-window.js +1 -0
- package/dist/providers/context-window.js.map +1 -1
- package/dist/providers/gemini-provider.d.ts +20 -7
- package/dist/providers/gemini-provider.d.ts.map +1 -1
- package/dist/providers/gemini-provider.js +96 -41
- package/dist/providers/gemini-provider.js.map +1 -1
- package/dist/providers/gemini-vertex-provider.d.ts +85 -0
- package/dist/providers/gemini-vertex-provider.d.ts.map +1 -0
- package/dist/providers/gemini-vertex-provider.js +228 -0
- package/dist/providers/gemini-vertex-provider.js.map +1 -0
- package/dist/providers/google-cloud-auth.d.ts +65 -0
- package/dist/providers/google-cloud-auth.d.ts.map +1 -0
- package/dist/providers/google-cloud-auth.js +214 -0
- package/dist/providers/google-cloud-auth.js.map +1 -0
- package/dist/providers/index.d.ts +1 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +12 -0
- package/dist/providers/index.js.map +1 -1
- package/dist/trim-video-window.d.ts.map +1 -1
- package/dist/trim-video-window.js +2 -1
- package/dist/trim-video-window.js.map +1 -1
- package/package.json +20 -12
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GeminiVertexProvider — Gemini models through Vertex AI
|
|
3
|
+
* (`aiplatform.googleapis.com`, now branded Gemini Enterprise Agent Platform),
|
|
4
|
+
* billed to a Google Cloud project instead of an AI Studio API key.
|
|
5
|
+
*
|
|
6
|
+
* Request bodies are the same as the Gemini Developer API, so this extends
|
|
7
|
+
* {@link GeminiProvider} and overrides only the endpoint: host, resource paths,
|
|
8
|
+
* credentials, model listing, and the parts of the API Vertex lacks.
|
|
9
|
+
*
|
|
10
|
+
* Credentials, first match wins:
|
|
11
|
+
* 1. `GOOGLE_VERTEX_CREDENTIALS`: a service account key (JSON), or an
|
|
12
|
+
* authorized-user file as `gcloud auth application-default login` writes.
|
|
13
|
+
* 2. `GOOGLE_VERTEX_API_KEY`: a Vertex AI API key (express mode, or a Cloud
|
|
14
|
+
* API key bound to a service account). Requests use the project-less
|
|
15
|
+
* publisher paths, as the Google Gen AI SDK does for keys.
|
|
16
|
+
* 3. The machine's Application Default Credentials, when the registry allows
|
|
17
|
+
* them (never on the cloud profile, where they would be the server's own).
|
|
18
|
+
*
|
|
19
|
+
* Differences from the Developer API that this provider handles:
|
|
20
|
+
* - There is no Files API. Video or audio too large to send inline fails with
|
|
21
|
+
* a message saying so.
|
|
22
|
+
* - Models are listed from `publishers/google/models`.
|
|
23
|
+
* - Veo operations are polled with `:fetchPredictOperation` and return the
|
|
24
|
+
* video inline.
|
|
25
|
+
*/
|
|
26
|
+
import { createLogger } from "@nodetool-ai/config";
|
|
27
|
+
import { PROVIDER_IDS } from "@nodetool-ai/protocol";
|
|
28
|
+
import { z } from "zod";
|
|
29
|
+
import { GeminiProvider, GEMINI_INLINE_VIDEO_MAX_BYTES } from "./gemini-provider.js";
|
|
30
|
+
import { getGoogleAccessToken, parseGoogleCredentials, readApplicationDefaultCredentials, GoogleCredentialsError } from "./google-cloud-auth.js";
|
|
31
|
+
const log = createLogger("nodetool.runtime.providers.gemini-vertex");
|
|
32
|
+
export const VERTEX_DEFAULT_LOCATION = "global";
|
|
33
|
+
const VERTEX_API_VERSION = "v1beta1";
|
|
34
|
+
/** Locations served from a multi-region `rep` host instead of `{loc}-aiplatform`. */
|
|
35
|
+
const MULTI_REGIONAL_LOCATIONS = new Set(["us", "eu"]);
|
|
36
|
+
const LOCATION_PATTERN = /^[a-z0-9_-]+$/;
|
|
37
|
+
/** Project ids, including legacy domain-scoped ones (`example.com:project`). */
|
|
38
|
+
const PROJECT_PATTERN = /^[A-Za-z0-9.:_-]+$/;
|
|
39
|
+
/** Same filter the Developer API listing applies: chat models only. */
|
|
40
|
+
const NON_CHAT_MODEL = /(embedding|aqa|imagen|veo|image|tts|lyria)/i;
|
|
41
|
+
/** The API host for a location. */
|
|
42
|
+
export function vertexHost(location) {
|
|
43
|
+
if (location === VERTEX_DEFAULT_LOCATION)
|
|
44
|
+
return "aiplatform.googleapis.com";
|
|
45
|
+
if (MULTI_REGIONAL_LOCATIONS.has(location)) {
|
|
46
|
+
return `aiplatform.${location}.rep.googleapis.com`;
|
|
47
|
+
}
|
|
48
|
+
return `${location}-aiplatform.googleapis.com`;
|
|
49
|
+
}
|
|
50
|
+
const publisherModelsPageSchema = z.object({
|
|
51
|
+
publisherModels: z.array(z.object({ name: z.string().optional() })).optional(),
|
|
52
|
+
nextPageToken: z.string().optional()
|
|
53
|
+
});
|
|
54
|
+
export class GeminiVertexProvider extends GeminiProvider {
|
|
55
|
+
static requiredSecrets() {
|
|
56
|
+
return ["GOOGLE_CLOUD_PROJECT"];
|
|
57
|
+
}
|
|
58
|
+
project;
|
|
59
|
+
location;
|
|
60
|
+
host;
|
|
61
|
+
/**
|
|
62
|
+
* The resource path prefix. An API key uses the project-less publisher
|
|
63
|
+
* paths, as the Google Gen AI SDK does. OAuth credentials address the
|
|
64
|
+
* configured project and location.
|
|
65
|
+
*/
|
|
66
|
+
prefix;
|
|
67
|
+
credentialsJson;
|
|
68
|
+
vertexApiKey;
|
|
69
|
+
allowApplicationDefault;
|
|
70
|
+
readApplicationDefault;
|
|
71
|
+
auth = null;
|
|
72
|
+
constructor(secrets, options = {}) {
|
|
73
|
+
super({}, options, PROVIDER_IDS.GEMINI_VERTEX);
|
|
74
|
+
const project = secrets.GOOGLE_CLOUD_PROJECT?.trim();
|
|
75
|
+
if (!project)
|
|
76
|
+
throw new Error("GOOGLE_CLOUD_PROJECT is required");
|
|
77
|
+
if (!PROJECT_PATTERN.test(project)) {
|
|
78
|
+
throw new Error(`GOOGLE_CLOUD_PROJECT is not a project id: ${project}`);
|
|
79
|
+
}
|
|
80
|
+
const location = secrets.GOOGLE_CLOUD_LOCATION?.trim().toLowerCase() ||
|
|
81
|
+
VERTEX_DEFAULT_LOCATION;
|
|
82
|
+
if (!LOCATION_PATTERN.test(location)) {
|
|
83
|
+
throw new Error(`GOOGLE_CLOUD_LOCATION is not a location: ${location}`);
|
|
84
|
+
}
|
|
85
|
+
this.project = project;
|
|
86
|
+
this.location = location;
|
|
87
|
+
this.host = vertexHost(location);
|
|
88
|
+
this.credentialsJson = secrets.GOOGLE_VERTEX_CREDENTIALS?.trim() || undefined;
|
|
89
|
+
this.vertexApiKey = secrets.GOOGLE_VERTEX_API_KEY?.trim() || undefined;
|
|
90
|
+
this.allowApplicationDefault = secrets._allowApplicationDefault === true;
|
|
91
|
+
this.prefix =
|
|
92
|
+
this.vertexApiKey && !this.credentialsJson
|
|
93
|
+
? VERTEX_API_VERSION
|
|
94
|
+
: `${VERTEX_API_VERSION}/projects/${encodeURIComponent(project)}/locations/${encodeURIComponent(location)}`;
|
|
95
|
+
this.readApplicationDefault =
|
|
96
|
+
options.readApplicationDefault ?? (() => readApplicationDefaultCredentials());
|
|
97
|
+
}
|
|
98
|
+
/** Credentials are short-lived tokens or key files. Neither goes into a container. */
|
|
99
|
+
getContainerEnv() {
|
|
100
|
+
return {};
|
|
101
|
+
}
|
|
102
|
+
// ---------------------------------------------------------------------------
|
|
103
|
+
// Endpoint
|
|
104
|
+
// ---------------------------------------------------------------------------
|
|
105
|
+
resolveAuth() {
|
|
106
|
+
this.auth ??= (async () => {
|
|
107
|
+
if (this.credentialsJson) {
|
|
108
|
+
return {
|
|
109
|
+
kind: "credentials",
|
|
110
|
+
credentials: parseGoogleCredentials(this.credentialsJson)
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
if (this.vertexApiKey)
|
|
114
|
+
return { kind: "api_key", apiKey: this.vertexApiKey };
|
|
115
|
+
if (this.allowApplicationDefault) {
|
|
116
|
+
const credentials = await this.readApplicationDefault();
|
|
117
|
+
if (credentials)
|
|
118
|
+
return { kind: "credentials", credentials };
|
|
119
|
+
}
|
|
120
|
+
throw new GoogleCredentialsError(this.allowApplicationDefault
|
|
121
|
+
? "No Google Cloud credentials found. Run `gcloud auth application-default login`, or add a service account key or a Vertex AI API key."
|
|
122
|
+
: "No Google Cloud credentials found. Add a service account key or a Vertex AI API key.");
|
|
123
|
+
})();
|
|
124
|
+
// A failed lookup is retried on the next call, after the user fixes it.
|
|
125
|
+
this.auth.catch(() => {
|
|
126
|
+
this.auth = null;
|
|
127
|
+
});
|
|
128
|
+
return this.auth;
|
|
129
|
+
}
|
|
130
|
+
/** URL of an API resource or collection under this provider's prefix. */
|
|
131
|
+
apiUrl(path) {
|
|
132
|
+
return `https://${this.host}/${this.prefix}/${path}`;
|
|
133
|
+
}
|
|
134
|
+
modelUrl(model, method, query = {}) {
|
|
135
|
+
const search = new URLSearchParams(query).toString();
|
|
136
|
+
const url = this.apiUrl(`publishers/google/models/${encodeURIComponent(model)}:${method}`);
|
|
137
|
+
return search ? `${url}?${search}` : url;
|
|
138
|
+
}
|
|
139
|
+
async authHeaders() {
|
|
140
|
+
const auth = await this.resolveAuth();
|
|
141
|
+
if (auth.kind === "api_key")
|
|
142
|
+
return { "x-goog-api-key": auth.apiKey };
|
|
143
|
+
const token = await getGoogleAccessToken(auth.credentials, {
|
|
144
|
+
fetchFn: this._fetch
|
|
145
|
+
});
|
|
146
|
+
// User credentials bill quota to a project only when told which one.
|
|
147
|
+
return auth.credentials.type === "authorized_user"
|
|
148
|
+
? { Authorization: `Bearer ${token}`, "x-goog-user-project": this.project }
|
|
149
|
+
: { Authorization: `Bearer ${token}` };
|
|
150
|
+
}
|
|
151
|
+
isApiHost(hostname) {
|
|
152
|
+
return hostname === this.host;
|
|
153
|
+
}
|
|
154
|
+
async fetchVideoOperation(modelId, operationName, signal) {
|
|
155
|
+
return this._fetch(this.modelUrl(modelId, "fetchPredictOperation"), {
|
|
156
|
+
method: "POST",
|
|
157
|
+
headers: {
|
|
158
|
+
"Content-Type": "application/json",
|
|
159
|
+
...(await this.authHeaders())
|
|
160
|
+
},
|
|
161
|
+
body: JSON.stringify({ operationName }),
|
|
162
|
+
signal
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
/** Vertex has no Files API. Large media must go through Cloud Storage, which is not wired up. */
|
|
166
|
+
async uploadFileToGemini(bytes, _mimeType) {
|
|
167
|
+
const mb = (n) => Math.round(n / (1024 * 1024));
|
|
168
|
+
throw new Error(`Vertex AI takes media inline up to ${mb(GEMINI_INLINE_VIDEO_MAX_BYTES)} MB, and this file is ${mb(bytes.length)} MB. Use a shorter clip, or the Gemini API key provider, which can upload large files.`);
|
|
169
|
+
}
|
|
170
|
+
// ---------------------------------------------------------------------------
|
|
171
|
+
// Models
|
|
172
|
+
// ---------------------------------------------------------------------------
|
|
173
|
+
async getAvailableLanguageModels() {
|
|
174
|
+
const ids = new Set();
|
|
175
|
+
let pageToken;
|
|
176
|
+
try {
|
|
177
|
+
const headers = await this.authHeaders();
|
|
178
|
+
do {
|
|
179
|
+
// Base models are listed without a project prefix, for every credential.
|
|
180
|
+
const query = new URLSearchParams({ pageSize: "100" });
|
|
181
|
+
if (pageToken)
|
|
182
|
+
query.set("pageToken", pageToken);
|
|
183
|
+
const response = await this._fetch(`https://${this.host}/${VERTEX_API_VERSION}/publishers/google/models?${query}`, { headers });
|
|
184
|
+
if (!response.ok) {
|
|
185
|
+
log.warn("Vertex AI model listing failed", { status: response.status });
|
|
186
|
+
return [];
|
|
187
|
+
}
|
|
188
|
+
const page = publisherModelsPageSchema.parse(await response.json());
|
|
189
|
+
for (const model of page.publisherModels ?? []) {
|
|
190
|
+
const id = model.name?.split("/").pop();
|
|
191
|
+
if (id && id.startsWith("gemini") && !NON_CHAT_MODEL.test(id))
|
|
192
|
+
ids.add(id);
|
|
193
|
+
}
|
|
194
|
+
pageToken = page.nextPageToken || undefined;
|
|
195
|
+
} while (pageToken);
|
|
196
|
+
}
|
|
197
|
+
catch (error) {
|
|
198
|
+
log.warn("Vertex AI model listing failed", {
|
|
199
|
+
error: error instanceof Error ? error.message : String(error)
|
|
200
|
+
});
|
|
201
|
+
return [];
|
|
202
|
+
}
|
|
203
|
+
return [...ids].sort().map((id) => ({ id, name: id, provider: this.provider }));
|
|
204
|
+
}
|
|
205
|
+
async getAvailableImageModels() {
|
|
206
|
+
return this.own(await super.getAvailableImageModels());
|
|
207
|
+
}
|
|
208
|
+
async getAvailableTTSModels() {
|
|
209
|
+
return this.own(await super.getAvailableTTSModels());
|
|
210
|
+
}
|
|
211
|
+
async getAvailableASRModels() {
|
|
212
|
+
return this.own(await super.getAvailableASRModels());
|
|
213
|
+
}
|
|
214
|
+
async getAvailableVideoModels() {
|
|
215
|
+
return this.own(await super.getAvailableVideoModels());
|
|
216
|
+
}
|
|
217
|
+
async getAvailableMusicModels() {
|
|
218
|
+
return this.own(await super.getAvailableMusicModels());
|
|
219
|
+
}
|
|
220
|
+
async getAvailableEmbeddingModels() {
|
|
221
|
+
return this.own(await super.getAvailableEmbeddingModels());
|
|
222
|
+
}
|
|
223
|
+
/** Re-label the Developer API's model lists as this provider's. */
|
|
224
|
+
own(models) {
|
|
225
|
+
return models.map((model) => ({ ...model, provider: this.provider }));
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
//# sourceMappingURL=gemini-vertex-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gemini-vertex-provider.js","sourceRoot":"","sources":["../../src/providers/gemini-vertex-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Google Cloud OAuth access tokens for Vertex AI.
|
|
3
|
+
*
|
|
4
|
+
* Two credential files are accepted, in the JSON formats Google itself writes:
|
|
5
|
+
*
|
|
6
|
+
* - `service_account`: a key downloaded from IAM. The token is minted with a
|
|
7
|
+
* self-signed RS256 JWT exchanged at the key's `token_uri`.
|
|
8
|
+
* - `authorized_user`: what `gcloud auth application-default login` writes.
|
|
9
|
+
* The token is minted from its refresh token.
|
|
10
|
+
*
|
|
11
|
+
* {@link readApplicationDefaultCredentials} finds the machine's own file the
|
|
12
|
+
* way Google's client libraries do: `GOOGLE_APPLICATION_CREDENTIALS`, then
|
|
13
|
+
* gcloud's well-known location. The GCE metadata server and workload identity
|
|
14
|
+
* federation are not supported.
|
|
15
|
+
*
|
|
16
|
+
* Tokens are cached per credential across provider instances, because the
|
|
17
|
+
* registry builds a fresh provider for every call.
|
|
18
|
+
*/
|
|
19
|
+
import { z } from "zod";
|
|
20
|
+
/** The one scope Vertex AI requires. */
|
|
21
|
+
export declare const GOOGLE_CLOUD_PLATFORM_SCOPE = "https://www.googleapis.com/auth/cloud-platform";
|
|
22
|
+
declare const credentialsSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
23
|
+
type: z.ZodLiteral<"service_account">;
|
|
24
|
+
client_email: z.ZodString;
|
|
25
|
+
private_key: z.ZodString;
|
|
26
|
+
private_key_id: z.ZodOptional<z.ZodString>;
|
|
27
|
+
project_id: z.ZodOptional<z.ZodString>;
|
|
28
|
+
token_uri: z.ZodOptional<z.ZodString>;
|
|
29
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
30
|
+
type: z.ZodLiteral<"authorized_user">;
|
|
31
|
+
client_id: z.ZodString;
|
|
32
|
+
client_secret: z.ZodString;
|
|
33
|
+
refresh_token: z.ZodString;
|
|
34
|
+
quota_project_id: z.ZodOptional<z.ZodString>;
|
|
35
|
+
}, z.core.$strip>], "type">;
|
|
36
|
+
export type GoogleCredentials = z.infer<typeof credentialsSchema>;
|
|
37
|
+
/** A credential that could not be read or used. The message names the fix. */
|
|
38
|
+
export declare class GoogleCredentialsError extends Error {
|
|
39
|
+
constructor(message: string, options?: {
|
|
40
|
+
cause?: unknown;
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
/** Parse a service-account or authorized-user JSON file. */
|
|
44
|
+
export declare function parseGoogleCredentials(json: string): GoogleCredentials;
|
|
45
|
+
/** The project a credential file names, if any. */
|
|
46
|
+
export declare function credentialsProject(credentials: GoogleCredentials): string | undefined;
|
|
47
|
+
/**
|
|
48
|
+
* Read the machine's Application Default Credentials file, or null when there
|
|
49
|
+
* is none. Returns null outside Node.
|
|
50
|
+
*/
|
|
51
|
+
export declare function readApplicationDefaultCredentials(env?: Record<string, string | undefined>): Promise<GoogleCredentials | null>;
|
|
52
|
+
/** Forget every cached token. For tests. */
|
|
53
|
+
export declare function clearGoogleTokenCache(): void;
|
|
54
|
+
export interface GoogleTokenOptions {
|
|
55
|
+
fetchFn?: typeof fetch;
|
|
56
|
+
now?: () => number;
|
|
57
|
+
}
|
|
58
|
+
/** A valid access token for `credentials`, minted or refreshed as needed. */
|
|
59
|
+
export declare function getGoogleAccessToken(credentials: GoogleCredentials, options?: GoogleTokenOptions): Promise<string>;
|
|
60
|
+
/** The RS256 JWT a service account exchanges for an access token. */
|
|
61
|
+
export declare function signServiceAccountAssertion(credentials: Extract<GoogleCredentials, {
|
|
62
|
+
type: "service_account";
|
|
63
|
+
}>, audience: string, issuedAtS: number): Promise<string>;
|
|
64
|
+
export {};
|
|
65
|
+
//# sourceMappingURL=google-cloud-auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-cloud-auth.d.ts","sourceRoot":"","sources":["../../src/providers/google-cloud-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,wCAAwC;AACxC,eAAO,MAAM,2BAA2B,mDACU,CAAC;AA4BnD,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;2BAGrB,CAAC;AAaH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,8EAA8E;AAC9E,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAGzD;CACF;AAED,4DAA4D;AAC5D,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAkBtE;AAED,mDAAmD;AACnD,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,iBAAiB,GAC7B,MAAM,GAAG,SAAS,CAIpB;AAED;;;GAGG;AACH,wBAAsB,iCAAiC,CACrD,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CA+BnC;AAYD,4CAA4C;AAC5C,wBAAgB,qBAAqB,IAAI,IAAI,CAG5C;AAQD,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,6EAA6E;AAC7E,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,iBAAiB,EAC9B,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,MAAM,CAAC,CAgBjB;AA2ED,qEAAqE;AACrE,wBAAsB,2BAA2B,CAC/C,WAAW,EAAE,OAAO,CAAC,iBAAiB,EAAE;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,CAAC,EACpE,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CA0CjB"}
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Google Cloud OAuth access tokens for Vertex AI.
|
|
3
|
+
*
|
|
4
|
+
* Two credential files are accepted, in the JSON formats Google itself writes:
|
|
5
|
+
*
|
|
6
|
+
* - `service_account`: a key downloaded from IAM. The token is minted with a
|
|
7
|
+
* self-signed RS256 JWT exchanged at the key's `token_uri`.
|
|
8
|
+
* - `authorized_user`: what `gcloud auth application-default login` writes.
|
|
9
|
+
* The token is minted from its refresh token.
|
|
10
|
+
*
|
|
11
|
+
* {@link readApplicationDefaultCredentials} finds the machine's own file the
|
|
12
|
+
* way Google's client libraries do: `GOOGLE_APPLICATION_CREDENTIALS`, then
|
|
13
|
+
* gcloud's well-known location. The GCE metadata server and workload identity
|
|
14
|
+
* federation are not supported.
|
|
15
|
+
*
|
|
16
|
+
* Tokens are cached per credential across provider instances, because the
|
|
17
|
+
* registry builds a fresh provider for every call.
|
|
18
|
+
*/
|
|
19
|
+
import { importNodeBuiltin } from "@nodetool-ai/config";
|
|
20
|
+
import { z } from "zod";
|
|
21
|
+
/** The one scope Vertex AI requires. */
|
|
22
|
+
export const GOOGLE_CLOUD_PLATFORM_SCOPE = "https://www.googleapis.com/auth/cloud-platform";
|
|
23
|
+
const GOOGLE_TOKEN_URL = "https://oauth2.googleapis.com/token";
|
|
24
|
+
/** Treat a token expiring within this window as already expired. */
|
|
25
|
+
const EXPIRY_SKEW_MS = 60_000;
|
|
26
|
+
/** Lifetime asked for in a service-account assertion, the maximum Google allows. */
|
|
27
|
+
const ASSERTION_LIFETIME_S = 3600;
|
|
28
|
+
const serviceAccountSchema = z.object({
|
|
29
|
+
type: z.literal("service_account"),
|
|
30
|
+
client_email: z.string().min(1),
|
|
31
|
+
private_key: z.string().min(1),
|
|
32
|
+
private_key_id: z.string().optional(),
|
|
33
|
+
project_id: z.string().optional(),
|
|
34
|
+
/** Ignored: tokens always come from Google's endpoint, never a URL the file names. */
|
|
35
|
+
token_uri: z.string().optional()
|
|
36
|
+
});
|
|
37
|
+
const authorizedUserSchema = z.object({
|
|
38
|
+
type: z.literal("authorized_user"),
|
|
39
|
+
client_id: z.string().min(1),
|
|
40
|
+
client_secret: z.string().min(1),
|
|
41
|
+
refresh_token: z.string().min(1),
|
|
42
|
+
quota_project_id: z.string().optional()
|
|
43
|
+
});
|
|
44
|
+
const credentialsSchema = z.discriminatedUnion("type", [
|
|
45
|
+
serviceAccountSchema,
|
|
46
|
+
authorizedUserSchema
|
|
47
|
+
]);
|
|
48
|
+
/** Only the `type` of a file that is not a supported credential, for the error. */
|
|
49
|
+
const credentialTypeSchema = z.object({ type: z.string() });
|
|
50
|
+
/** Google's token endpoint answer, success or OAuth error. */
|
|
51
|
+
const tokenResponseSchema = z.object({
|
|
52
|
+
access_token: z.string().optional(),
|
|
53
|
+
expires_in: z.number().optional(),
|
|
54
|
+
error: z.string().optional(),
|
|
55
|
+
error_description: z.string().optional()
|
|
56
|
+
});
|
|
57
|
+
/** A credential that could not be read or used. The message names the fix. */
|
|
58
|
+
export class GoogleCredentialsError extends Error {
|
|
59
|
+
constructor(message, options) {
|
|
60
|
+
super(message, options);
|
|
61
|
+
this.name = "GoogleCredentialsError";
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/** Parse a service-account or authorized-user JSON file. */
|
|
65
|
+
export function parseGoogleCredentials(json) {
|
|
66
|
+
let raw;
|
|
67
|
+
try {
|
|
68
|
+
raw = JSON.parse(json);
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
throw new GoogleCredentialsError("Google Cloud credentials are not valid JSON. Paste the whole service account key file.", { cause: error });
|
|
72
|
+
}
|
|
73
|
+
const parsed = credentialsSchema.safeParse(raw);
|
|
74
|
+
if (!parsed.success) {
|
|
75
|
+
const type = credentialTypeSchema.safeParse(raw).data?.type ?? "missing";
|
|
76
|
+
throw new GoogleCredentialsError(`Unsupported Google Cloud credentials (type: ${type}). Use a service account key or run \`gcloud auth application-default login\`.`);
|
|
77
|
+
}
|
|
78
|
+
return parsed.data;
|
|
79
|
+
}
|
|
80
|
+
/** The project a credential file names, if any. */
|
|
81
|
+
export function credentialsProject(credentials) {
|
|
82
|
+
return credentials.type === "service_account"
|
|
83
|
+
? credentials.project_id
|
|
84
|
+
: credentials.quota_project_id;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Read the machine's Application Default Credentials file, or null when there
|
|
88
|
+
* is none. Returns null outside Node.
|
|
89
|
+
*/
|
|
90
|
+
export async function readApplicationDefaultCredentials(env = process.env) {
|
|
91
|
+
const [fs, os, path] = await Promise.all([
|
|
92
|
+
importNodeBuiltin("node:fs/promises"),
|
|
93
|
+
importNodeBuiltin("node:os"),
|
|
94
|
+
importNodeBuiltin("node:path")
|
|
95
|
+
]);
|
|
96
|
+
if (!fs || !os || !path)
|
|
97
|
+
return null;
|
|
98
|
+
const explicit = env["GOOGLE_APPLICATION_CREDENTIALS"];
|
|
99
|
+
const file = explicit ||
|
|
100
|
+
(process.platform === "win32"
|
|
101
|
+
? path.join(env["APPDATA"] ?? os.homedir(), "gcloud", "application_default_credentials.json")
|
|
102
|
+
: path.join(env["CLOUDSDK_CONFIG"] ?? path.join(os.homedir(), ".config", "gcloud"), "application_default_credentials.json"));
|
|
103
|
+
let text;
|
|
104
|
+
try {
|
|
105
|
+
text = await fs.readFile(file, "utf8");
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
if (explicit) {
|
|
109
|
+
throw new GoogleCredentialsError(`Could not read GOOGLE_APPLICATION_CREDENTIALS (${explicit}).`, { cause: error });
|
|
110
|
+
}
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
return parseGoogleCredentials(text);
|
|
114
|
+
}
|
|
115
|
+
/** Credential identity -> its current token. */
|
|
116
|
+
const tokenCache = new Map();
|
|
117
|
+
/** One mint per credential at a time. */
|
|
118
|
+
const inFlight = new Map();
|
|
119
|
+
/** Forget every cached token. For tests. */
|
|
120
|
+
export function clearGoogleTokenCache() {
|
|
121
|
+
tokenCache.clear();
|
|
122
|
+
inFlight.clear();
|
|
123
|
+
}
|
|
124
|
+
function cacheKey(credentials) {
|
|
125
|
+
return credentials.type === "service_account"
|
|
126
|
+
? `sa:${credentials.client_email}:${credentials.private_key_id ?? ""}`
|
|
127
|
+
: `user:${credentials.client_id}:${credentials.refresh_token}`;
|
|
128
|
+
}
|
|
129
|
+
/** A valid access token for `credentials`, minted or refreshed as needed. */
|
|
130
|
+
export async function getGoogleAccessToken(credentials, options = {}) {
|
|
131
|
+
const now = options.now ?? Date.now;
|
|
132
|
+
const key = cacheKey(credentials);
|
|
133
|
+
const cached = tokenCache.get(key);
|
|
134
|
+
if (cached && cached.expiresAt - EXPIRY_SKEW_MS > now())
|
|
135
|
+
return cached.token;
|
|
136
|
+
let pending = inFlight.get(key);
|
|
137
|
+
if (!pending) {
|
|
138
|
+
pending = mintToken(credentials, options.fetchFn ?? fetch, now).finally(() => inFlight.delete(key));
|
|
139
|
+
inFlight.set(key, pending);
|
|
140
|
+
}
|
|
141
|
+
const minted = await pending;
|
|
142
|
+
tokenCache.set(key, minted);
|
|
143
|
+
return minted.token;
|
|
144
|
+
}
|
|
145
|
+
async function mintToken(credentials, fetchFn, now) {
|
|
146
|
+
const issuedAt = now();
|
|
147
|
+
const tokenUrl = GOOGLE_TOKEN_URL;
|
|
148
|
+
const body = credentials.type === "service_account"
|
|
149
|
+
? new URLSearchParams({
|
|
150
|
+
grant_type: "urn:ietf:params:oauth:grant-type:jwt-bearer",
|
|
151
|
+
assertion: await signServiceAccountAssertion(credentials, tokenUrl, Math.floor(issuedAt / 1000))
|
|
152
|
+
})
|
|
153
|
+
: new URLSearchParams({
|
|
154
|
+
grant_type: "refresh_token",
|
|
155
|
+
client_id: credentials.client_id,
|
|
156
|
+
client_secret: credentials.client_secret,
|
|
157
|
+
refresh_token: credentials.refresh_token
|
|
158
|
+
});
|
|
159
|
+
const response = await fetchFn(tokenUrl, {
|
|
160
|
+
method: "POST",
|
|
161
|
+
headers: { "Content-Type": "application/x-www-form-urlencoded" },
|
|
162
|
+
body: body.toString()
|
|
163
|
+
});
|
|
164
|
+
const payload = tokenResponseSchema.safeParse(await response.json().catch(() => null))
|
|
165
|
+
.data ?? {};
|
|
166
|
+
if (!response.ok || !payload.access_token) {
|
|
167
|
+
// Google's token errors carry no secret material, only a code and a hint.
|
|
168
|
+
const reason = payload.error_description ?? payload.error ?? `HTTP ${response.status}`;
|
|
169
|
+
const fix = credentials.type === "authorized_user"
|
|
170
|
+
? " Run `gcloud auth application-default login` again."
|
|
171
|
+
: " Check that the service account key is still active.";
|
|
172
|
+
throw new GoogleCredentialsError(`Google Cloud sign-in failed: ${reason.replace(/\.$/, "")}.${fix}`);
|
|
173
|
+
}
|
|
174
|
+
const lifetimeS = payload.expires_in ?? 3600;
|
|
175
|
+
return {
|
|
176
|
+
token: payload.access_token,
|
|
177
|
+
expiresAt: issuedAt + lifetimeS * 1000
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
function base64Url(bytes) {
|
|
181
|
+
return Buffer.from(bytes).toString("base64url");
|
|
182
|
+
}
|
|
183
|
+
function base64UrlJson(value) {
|
|
184
|
+
return Buffer.from(JSON.stringify(value), "utf8").toString("base64url");
|
|
185
|
+
}
|
|
186
|
+
/** The RS256 JWT a service account exchanges for an access token. */
|
|
187
|
+
export async function signServiceAccountAssertion(credentials, audience, issuedAtS) {
|
|
188
|
+
const header = credentials.private_key_id
|
|
189
|
+
? { alg: "RS256", typ: "JWT", kid: credentials.private_key_id }
|
|
190
|
+
: { alg: "RS256", typ: "JWT" };
|
|
191
|
+
const claims = {
|
|
192
|
+
iss: credentials.client_email,
|
|
193
|
+
scope: GOOGLE_CLOUD_PLATFORM_SCOPE,
|
|
194
|
+
aud: audience,
|
|
195
|
+
iat: issuedAtS,
|
|
196
|
+
exp: issuedAtS + ASSERTION_LIFETIME_S
|
|
197
|
+
};
|
|
198
|
+
const signingInput = `${base64UrlJson(header)}.${base64UrlJson(claims)}`;
|
|
199
|
+
const pem = credentials.private_key.replace(/\\n/g, "\n");
|
|
200
|
+
const der = Buffer.from(pem
|
|
201
|
+
.replace(/-----BEGIN PRIVATE KEY-----/, "")
|
|
202
|
+
.replace(/-----END PRIVATE KEY-----/, "")
|
|
203
|
+
.replace(/\s+/g, ""), "base64");
|
|
204
|
+
let key;
|
|
205
|
+
try {
|
|
206
|
+
key = await globalThis.crypto.subtle.importKey("pkcs8", der, { name: "RSASSA-PKCS1-v1_5", hash: "SHA-256" }, false, ["sign"]);
|
|
207
|
+
}
|
|
208
|
+
catch (error) {
|
|
209
|
+
throw new GoogleCredentialsError("The service account key's private_key could not be read.", { cause: error });
|
|
210
|
+
}
|
|
211
|
+
const signature = await globalThis.crypto.subtle.sign("RSASSA-PKCS1-v1_5", key, Buffer.from(signingInput, "utf8"));
|
|
212
|
+
return `${signingInput}.${base64Url(new Uint8Array(signature))}`;
|
|
213
|
+
}
|
|
214
|
+
//# sourceMappingURL=google-cloud-auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-cloud-auth.js","sourceRoot":"","sources":["../../src/providers/google-cloud-auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -91,6 +91,7 @@ export { AntigravityProvider };
|
|
|
91
91
|
export { DreaminaProvider, setDreaminaPageRunner, type DreaminaPageRunner } from "./dreamina-provider.js";
|
|
92
92
|
export { ChatGPTProvider, setChatGPTTab } from "./chatgpt-provider.js";
|
|
93
93
|
export { GeminiWebProvider, setGeminiWebTab } from "./gemini-web-provider.js";
|
|
94
|
+
export { GeminiVertexProvider } from "./gemini-vertex-provider.js";
|
|
94
95
|
export { ToolCallTextFilter, parseToolCalls, toToolSpecs, toolCallText, toolsPromptSection, type ParsedOutput, type ToolSpec } from "./text-tool-calls.js";
|
|
95
96
|
export type { ExtensionTab } from "./extension-tab.js";
|
|
96
97
|
export { GeminiProvider };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"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"}
|
package/dist/providers/index.js
CHANGED
|
@@ -15,6 +15,7 @@ import { DreaminaProvider } from "./dreamina-provider.js";
|
|
|
15
15
|
import { ChatGPTProvider } from "./chatgpt-provider.js";
|
|
16
16
|
import { GeminiWebProvider } from "./gemini-web-provider.js";
|
|
17
17
|
import { GeminiProvider } from "./gemini-provider.js";
|
|
18
|
+
import { GeminiVertexProvider } from "./gemini-vertex-provider.js";
|
|
18
19
|
import { LlamaProvider } from "./llama-provider.js";
|
|
19
20
|
import { NodeLlamaCppProvider } from "./node-llama-cpp-provider.js";
|
|
20
21
|
import { StableDiffusionCppProvider } from "./sdcpp-provider.js";
|
|
@@ -87,6 +88,7 @@ export { AntigravityProvider };
|
|
|
87
88
|
export { DreaminaProvider, setDreaminaPageRunner } from "./dreamina-provider.js";
|
|
88
89
|
export { ChatGPTProvider, setChatGPTTab } from "./chatgpt-provider.js";
|
|
89
90
|
export { GeminiWebProvider, setGeminiWebTab } from "./gemini-web-provider.js";
|
|
91
|
+
export { GeminiVertexProvider } from "./gemini-vertex-provider.js";
|
|
90
92
|
export { ToolCallTextFilter, parseToolCalls, toToolSpecs, toolCallText, toolsPromptSection } from "./text-tool-calls.js";
|
|
91
93
|
export { GeminiProvider };
|
|
92
94
|
export { LlamaProvider };
|
|
@@ -319,6 +321,16 @@ const _envProcess = typeof process !== "undefined"
|
|
|
319
321
|
? process
|
|
320
322
|
: { env: {} };
|
|
321
323
|
const _cloudProfile = isCloudProfileActive(_envProcess.env[CLOUD_PROFILE_ENV], _envProcess.env[NODE_ENV_VAR]);
|
|
324
|
+
// Gemini through Vertex AI. The project is required. The credential is a pasted
|
|
325
|
+
// service account key or Vertex API key, or, off the cloud profile, the
|
|
326
|
+
// machine's own Application Default Credentials (`gcloud auth
|
|
327
|
+
// application-default login`). On the cloud profile those would be the
|
|
328
|
+
// server's identity, so they are never read there.
|
|
329
|
+
registerBuiltinProvider(PROVIDER_IDS.GEMINI_VERTEX, GeminiVertexProvider, { GOOGLE_CLOUD_PROJECT: "", _allowApplicationDefault: !_cloudProfile }, {
|
|
330
|
+
GOOGLE_CLOUD_LOCATION: "",
|
|
331
|
+
GOOGLE_VERTEX_CREDENTIALS: "",
|
|
332
|
+
GOOGLE_VERTEX_API_KEY: ""
|
|
333
|
+
}, { displayName: "Gemini (Google Cloud)" });
|
|
322
334
|
if (!_cloudProfile) {
|
|
323
335
|
// Ollama defaults to the standard local daemon port so the provider is
|
|
324
336
|
// usable out-of-the-box. The URL is registered as an optionalKwarg so it
|