gencow 0.1.129 → 0.1.130

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gencow",
3
- "version": "0.1.129",
3
+ "version": "0.1.130",
4
4
  "description": "Gencow — AI Backend Engine",
5
5
  "type": "module",
6
6
  "bin": {
@@ -39,6 +39,10 @@ let _fallbackAttempted = false; // 404 fallback 무한 재시도 방지 플래
39
39
  let _cachedProvider = createOpenAI({
40
40
  apiKey: API_KEY || "sk-not-configured",
41
41
  ...(PROXY_URL ? { baseURL: PROXY_URL } : {}),
42
+ // Gencow 프록시는 /v1/chat/completions 만 지원.
43
+ // @ai-sdk/openai v3+는 기본적으로 /v1/responses (Responses API)를 호출하므로,
44
+ // compatibility: "compatible" 를 설정하여 Chat Completions API를 사용하도록 강제.
45
+ compatibility: "compatible",
42
46
  });
43
47
 
44
48
  async function _doHealthCheck(): Promise<ReturnType<typeof createOpenAI>> {
@@ -67,7 +71,7 @@ async function _doHealthCheck(): Promise<ReturnType<typeof createOpenAI>> {
67
71
  " 프록시 URL: " + PROXY_URL + "\n" +
68
72
  " 이 모드에서는 크레딧이 차감되지 않으며, 직접 OpenAI에 요청됩니다.\n"
69
73
  );
70
- _cachedProvider = createOpenAI({ apiKey: directKey });
74
+ _cachedProvider = createOpenAI({ apiKey: directKey, compatibility: "compatible" });
71
75
  } else {
72
76
  console.error(
73
77
  "\n🔴 AI 프록시 미응답 + OPENAI_API_KEY 미설정\n" +
@@ -128,7 +132,7 @@ function _tryProxyFallback(err: unknown): boolean {
128
132
  " 프록시 URL: " + PROXY_URL + "\n" +
129
133
  " 이 모드에서는 크레딧이 차감되지 않으며, 직접 OpenAI에 요청됩니다.\n"
130
134
  );
131
- _cachedProvider = createOpenAI({ apiKey: directKey });
135
+ _cachedProvider = createOpenAI({ apiKey: directKey, compatibility: "compatible" });
132
136
  _providerPromise = Promise.resolve(_cachedProvider); // ensureProvider()가 직접 provider를 반환하도록 고정
133
137
  _fallbackAttempted = true;
134
138
  return true;
package/templates/ai.ts CHANGED
@@ -39,6 +39,10 @@ let _fallbackAttempted = false; // 404 fallback 무한 재시도 방지 플래
39
39
  let _cachedProvider = createOpenAI({
40
40
  apiKey: API_KEY || "sk-not-configured",
41
41
  ...(PROXY_URL ? { baseURL: PROXY_URL } : {}),
42
+ // Gencow 프록시는 /v1/chat/completions 만 지원.
43
+ // @ai-sdk/openai v3+는 기본적으로 /v1/responses (Responses API)를 호출하므로,
44
+ // compatibility: "compatible" 를 설정하여 Chat Completions API를 사용하도록 강제.
45
+ compatibility: "compatible",
42
46
  });
43
47
 
44
48
  async function _doHealthCheck(): Promise<ReturnType<typeof createOpenAI>> {
@@ -67,7 +71,7 @@ async function _doHealthCheck(): Promise<ReturnType<typeof createOpenAI>> {
67
71
  " 프록시 URL: " + PROXY_URL + "\n" +
68
72
  " 이 모드에서는 크레딧이 차감되지 않으며, 직접 OpenAI에 요청됩니다.\n"
69
73
  );
70
- _cachedProvider = createOpenAI({ apiKey: directKey });
74
+ _cachedProvider = createOpenAI({ apiKey: directKey, compatibility: "compatible" });
71
75
  } else {
72
76
  console.error(
73
77
  "\n🔴 AI 프록시 미응답 + OPENAI_API_KEY 미설정\n" +
@@ -128,7 +132,7 @@ function _tryProxyFallback(err: unknown): boolean {
128
132
  " 프록시 URL: " + PROXY_URL + "\n" +
129
133
  " 이 모드에서는 크레딧이 차감되지 않으며, 직접 OpenAI에 요청됩니다.\n"
130
134
  );
131
- _cachedProvider = createOpenAI({ apiKey: directKey });
135
+ _cachedProvider = createOpenAI({ apiKey: directKey, compatibility: "compatible" });
132
136
  _providerPromise = Promise.resolve(_cachedProvider); // ensureProvider()가 직접 provider를 반환하도록 고정
133
137
  _fallbackAttempted = true;
134
138
  return true;
@@ -39,6 +39,10 @@ let _fallbackAttempted = false; // 404 fallback 무한 재시도 방지 플래
39
39
  let _cachedProvider = createOpenAI({
40
40
  apiKey: API_KEY || "sk-not-configured",
41
41
  ...(PROXY_URL ? { baseURL: PROXY_URL } : {}),
42
+ // Gencow 프록시는 /v1/chat/completions 만 지원.
43
+ // @ai-sdk/openai v3+는 기본적으로 /v1/responses (Responses API)를 호출하므로,
44
+ // compatibility: "compatible" 를 설정하여 Chat Completions API를 사용하도록 강제.
45
+ compatibility: "compatible",
42
46
  });
43
47
 
44
48
  async function _doHealthCheck(): Promise<ReturnType<typeof createOpenAI>> {
@@ -67,7 +71,7 @@ async function _doHealthCheck(): Promise<ReturnType<typeof createOpenAI>> {
67
71
  " 프록시 URL: " + PROXY_URL + "\n" +
68
72
  " 이 모드에서는 크레딧이 차감되지 않으며, 직접 OpenAI에 요청됩니다.\n"
69
73
  );
70
- _cachedProvider = createOpenAI({ apiKey: directKey });
74
+ _cachedProvider = createOpenAI({ apiKey: directKey, compatibility: "compatible" });
71
75
  } else {
72
76
  console.error(
73
77
  "\n🔴 AI 프록시 미응답 + OPENAI_API_KEY 미설정\n" +
@@ -128,7 +132,7 @@ function _tryProxyFallback(err: unknown): boolean {
128
132
  " 프록시 URL: " + PROXY_URL + "\n" +
129
133
  " 이 모드에서는 크레딧이 차감되지 않으며, 직접 OpenAI에 요청됩니다.\n"
130
134
  );
131
- _cachedProvider = createOpenAI({ apiKey: directKey });
135
+ _cachedProvider = createOpenAI({ apiKey: directKey, compatibility: "compatible" });
132
136
  _providerPromise = Promise.resolve(_cachedProvider); // ensureProvider()가 직접 provider를 반환하도록 고정
133
137
  _fallbackAttempted = true;
134
138
  return true;