@serii84/vertex-partner-provider 1.0.1 → 1.0.3

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.
Files changed (2) hide show
  1. package/index.js +24 -25
  2. package/package.json +2 -2
package/index.js CHANGED
@@ -2,7 +2,15 @@
2
2
  * Vertex Partner Provider for OpenCode
3
3
  */
4
4
 
5
- const { createOpenAICompatible } = require('@ai-sdk/openai-compatible');
5
+ let createOpenAICompatible;
6
+ try {
7
+ const mod = require('@ai-sdk/openai-compatible');
8
+ createOpenAICompatible = mod.createOpenAICompatible;
9
+ console.error('[vertex-partner] Loaded @ai-sdk/openai-compatible, exports:', Object.keys(mod));
10
+ } catch (e) {
11
+ console.error('[vertex-partner] FAILED to load @ai-sdk/openai-compatible:', e.message);
12
+ }
13
+
6
14
  const { GoogleAuth } = require('google-auth-library');
7
15
 
8
16
  let authClient = null;
@@ -20,9 +28,9 @@ async function getAuthToken(googleAuthOptions) {
20
28
  return token.token;
21
29
  }
22
30
 
23
- function createProvider(options = {}) {
24
- // Debug: log what options we receive
25
- console.error('[vertex-partner] Received options:', JSON.stringify(options, null, 2));
31
+ function createVertexPartner(options = {}) {
32
+ console.error('[vertex-partner] createVertexPartner called');
33
+ console.error('[vertex-partner] createOpenAICompatible available:', typeof createOpenAICompatible);
26
34
 
27
35
  const {
28
36
  project = process.env.GOOGLE_VERTEX_PROJECT,
@@ -32,43 +40,41 @@ function createProvider(options = {}) {
32
40
  ...rest
33
41
  } = options;
34
42
 
35
- console.error('[vertex-partner] Parsed:', { project, location, publisher });
43
+ console.error('[vertex-partner] Config:', { project, location, publisher });
36
44
 
37
- if (!project) {
38
- console.error('[vertex-partner] ERROR: project is required');
39
- throw new Error('project is required. Set GOOGLE_VERTEX_PROJECT env var or pass project option.');
40
- }
41
- if (!publisher) {
42
- console.error('[vertex-partner] ERROR: publisher is required');
43
- throw new Error('publisher is required (e.g., "moonshotai", "zai-org", "deepseek-ai")');
44
- }
45
+ if (!project) throw new Error('project is required');
46
+ if (!publisher) throw new Error('publisher is required');
45
47
 
46
48
  const baseHost = location === 'global'
47
49
  ? 'aiplatform.googleapis.com'
48
50
  : `${location}-aiplatform.googleapis.com`;
49
51
 
50
52
  const baseURL = `https://${baseHost}/v1/projects/${project}/locations/${location}/endpoints/openapi`;
51
-
52
53
  console.error(`[vertex-partner] baseURL: ${baseURL}`);
53
54
 
54
55
  const authFetch = async (url, init) => {
55
- console.error(`[vertex-partner] Fetching: ${url}`);
56
+ console.error(`[vertex-partner] authFetch called with: ${url}`);
56
57
  const token = await getAuthToken(googleAuthOptions);
57
58
  const headers = new Headers(init?.headers);
58
59
  headers.set('Authorization', `Bearer ${token}`);
59
60
  return fetch(url, { ...init, headers });
60
61
  };
61
62
 
63
+ if (!createOpenAICompatible) {
64
+ throw new Error('@ai-sdk/openai-compatible not loaded!');
65
+ }
66
+
67
+ console.error('[vertex-partner] Creating provider with baseURL:', baseURL);
62
68
  const provider = createOpenAICompatible({
63
69
  name: `vertex-${publisher}`,
64
70
  baseURL,
65
71
  fetch: authFetch,
66
- ...rest,
67
72
  });
73
+ console.error('[vertex-partner] Provider created');
68
74
 
69
75
  const wrappedProvider = (modelId) => {
70
76
  const fullModelId = modelId.includes('/') ? modelId : `${publisher}/${modelId}`;
71
- console.error(`[vertex-partner] Using model: ${fullModelId}`);
77
+ console.error(`[vertex-partner] Creating model: ${fullModelId}`);
72
78
  return provider(fullModelId);
73
79
  };
74
80
 
@@ -83,11 +89,4 @@ function createProvider(options = {}) {
83
89
  return wrappedProvider;
84
90
  }
85
91
 
86
- module.exports = createProvider;
87
- module.exports.createProvider = createProvider;
88
- module.exports.createVertexPartner = createProvider;
89
- module.exports.createGLM = (opts) => createProvider({ ...opts, publisher: 'zai-org' });
90
- module.exports.createKimi = (opts) => createProvider({ ...opts, publisher: 'moonshotai' });
91
- module.exports.createDeepSeek = (opts) => createProvider({ ...opts, publisher: 'deepseek-ai' });
92
- module.exports.createMiniMax = (opts) => createProvider({ ...opts, publisher: 'minimaxai' });
93
- module.exports.createQwen = (opts) => createProvider({ ...opts, publisher: 'qwen' });
92
+ module.exports = { createVertexPartner };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serii84/vertex-partner-provider",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "Vertex AI partner models (GLM, Kimi, DeepSeek) for OpenCode",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -13,4 +13,4 @@
13
13
  "@ai-sdk/openai-compatible": "^2.0.4",
14
14
  "google-auth-library": "^10.5.0"
15
15
  }
16
- }
16
+ }