@lastbrain/ai-ui-core 1.0.37 → 1.0.39
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/client/createClient.js +5 -5
- package/dist/route-handlers/nextjs/lb-proxy.d.ts.map +1 -1
- package/dist/route-handlers/nextjs/lb-proxy.js +1 -2
- package/dist/types/index.d.ts +13 -2
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/client/createClient.ts +6 -6
- package/src/route-handlers/nextjs/lb-proxy.ts +1 -2
- package/src/types/index.ts +13 -2
|
@@ -47,13 +47,13 @@ function buildUrl(baseUrl, endpoint) {
|
|
|
47
47
|
const isPublicApi = baseUrl.includes("/api/public/v1");
|
|
48
48
|
const isExternalProxy = baseUrl.includes("/api/lastbrain");
|
|
49
49
|
// Map endpoints for internal vs external context
|
|
50
|
-
// Pour external:
|
|
50
|
+
// Pour external:
|
|
51
|
+
// - text-ai/image-ai utilisent les routes auth (session-based)
|
|
52
|
+
// - autres routes: le proxy ajoute /api/ai/ automatiquement
|
|
51
53
|
const endpointMap = {
|
|
52
|
-
// Text and image generation
|
|
54
|
+
// Text and image generation - utilisent les routes auth avec session
|
|
53
55
|
"text-ai": { internal: "/generate-text", external: "auth/text-ai" },
|
|
54
56
|
"image-ai": { internal: "/generate-image", external: "auth/image-ai" },
|
|
55
|
-
// Auth endpoints - le proxy ajoutera /api/ai/ devant
|
|
56
|
-
status: { internal: "/auth/status", external: "auth/status" },
|
|
57
57
|
provider: { internal: "/auth/provider", external: "auth/provider" },
|
|
58
58
|
"gateway-models": {
|
|
59
59
|
internal: "/public/gateway-models",
|
|
@@ -71,7 +71,7 @@ function buildUrl(baseUrl, endpoint) {
|
|
|
71
71
|
? mapping.internal
|
|
72
72
|
: mapping.external;
|
|
73
73
|
// Pour external, ne pas ajouter de / car le proxy le fera
|
|
74
|
-
if (isExternalProxy && !finalEndpoint.startsWith(
|
|
74
|
+
if (isExternalProxy && !finalEndpoint.startsWith("/")) {
|
|
75
75
|
return `${baseUrl}/${finalEndpoint}`;
|
|
76
76
|
}
|
|
77
77
|
return `${baseUrl}${finalEndpoint}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lb-proxy.d.ts","sourceRoot":"","sources":["../../../src/route-handlers/nextjs/lb-proxy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,GAAE,aAAkB;
|
|
1
|
+
{"version":3,"file":"lb-proxy.d.ts","sourceRoot":"","sources":["../../../src/route-handlers/nextjs/lb-proxy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,GAAE,aAAkB;mBA4BlD,WAAW,YACV;QAAE,MAAM,EAAE,OAAO,CAAC;YAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC,CAAA;KAAE,KACjD,OAAO,CAAC,YAAY,CAAC;oBAFb,WAAW,YACV;QAAE,MAAM,EAAE,OAAO,CAAC;YAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC,CAAA;KAAE,KACjD,OAAO,CAAC,YAAY,CAAC;mBAFb,WAAW,YACV;QAAE,MAAM,EAAE,OAAO,CAAC;YAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC,CAAA;KAAE,KACjD,OAAO,CAAC,YAAY,CAAC;sBAFb,WAAW,YACV;QAAE,MAAM,EAAE,OAAO,CAAC;YAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC,CAAA;KAAE,KACjD,OAAO,CAAC,YAAY,CAAC;qBAFb,WAAW,YACV;QAAE,MAAM,EAAE,OAAO,CAAC;YAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC,CAAA;KAAE,KACjD,OAAO,CAAC,YAAY,CAAC;EAoIzB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,YAAY,EACtB,YAAY,EAAE,MAAM,EACpB,SAAS,GAAE,MAAe,GACzB,YAAY,CAYd;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,GAAG,YAAY,CAGzE"}
|
|
@@ -24,14 +24,13 @@ export function createLBProxyHandler(config = {}) {
|
|
|
24
24
|
/**
|
|
25
25
|
* Détermine le préfixe API à ajouter selon le path
|
|
26
26
|
* - Legacy : pas de préfixe si baseUrl contient déjà /api/public/v1
|
|
27
|
-
* - Sinon :
|
|
27
|
+
* - Sinon : /api/ai pour toutes les routes
|
|
28
28
|
*/
|
|
29
29
|
function getApiPrefix(path) {
|
|
30
30
|
if (isLegacyBaseUrl) {
|
|
31
31
|
return ""; // Legacy: baseUrl contient déjà le préfixe
|
|
32
32
|
}
|
|
33
33
|
// Pour le nouveau format, toujours /api/ai
|
|
34
|
-
// Le client envoie déjà les bons paths (auth/*, public/*, ai/*)
|
|
35
34
|
return "/api/ai";
|
|
36
35
|
}
|
|
37
36
|
/**
|
package/dist/types/index.d.ts
CHANGED
|
@@ -78,8 +78,19 @@ export interface AiEmbedResponse {
|
|
|
78
78
|
requestId?: string;
|
|
79
79
|
}
|
|
80
80
|
export interface AiStatus {
|
|
81
|
-
request_id
|
|
82
|
-
|
|
81
|
+
request_id?: string;
|
|
82
|
+
user?: {
|
|
83
|
+
id: string;
|
|
84
|
+
email: string;
|
|
85
|
+
};
|
|
86
|
+
apiKey?: {
|
|
87
|
+
id: string;
|
|
88
|
+
name: string;
|
|
89
|
+
prefix: string;
|
|
90
|
+
env?: string;
|
|
91
|
+
rate_limit_rpm?: number;
|
|
92
|
+
};
|
|
93
|
+
api_key?: {
|
|
83
94
|
id: string;
|
|
84
95
|
name: string;
|
|
85
96
|
prefix: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -82,13 +82,13 @@ function buildUrl(baseUrl: string, endpoint: string): string {
|
|
|
82
82
|
const isExternalProxy = baseUrl.includes("/api/lastbrain");
|
|
83
83
|
|
|
84
84
|
// Map endpoints for internal vs external context
|
|
85
|
-
// Pour external:
|
|
85
|
+
// Pour external:
|
|
86
|
+
// - text-ai/image-ai utilisent les routes auth (session-based)
|
|
87
|
+
// - autres routes: le proxy ajoute /api/ai/ automatiquement
|
|
86
88
|
const endpointMap: Record<string, { internal: string; external: string }> = {
|
|
87
|
-
// Text and image generation
|
|
89
|
+
// Text and image generation - utilisent les routes auth avec session
|
|
88
90
|
"text-ai": { internal: "/generate-text", external: "auth/text-ai" },
|
|
89
91
|
"image-ai": { internal: "/generate-image", external: "auth/image-ai" },
|
|
90
|
-
// Auth endpoints - le proxy ajoutera /api/ai/ devant
|
|
91
|
-
status: { internal: "/auth/status", external: "auth/status" },
|
|
92
92
|
provider: { internal: "/auth/provider", external: "auth/provider" },
|
|
93
93
|
"gateway-models": {
|
|
94
94
|
internal: "/public/gateway-models",
|
|
@@ -107,9 +107,9 @@ function buildUrl(baseUrl: string, endpoint: string): string {
|
|
|
107
107
|
isInternalApp && !isPublicApi && !isExternalProxy
|
|
108
108
|
? mapping.internal
|
|
109
109
|
: mapping.external;
|
|
110
|
-
|
|
110
|
+
|
|
111
111
|
// Pour external, ne pas ajouter de / car le proxy le fera
|
|
112
|
-
if (isExternalProxy && !finalEndpoint.startsWith(
|
|
112
|
+
if (isExternalProxy && !finalEndpoint.startsWith("/")) {
|
|
113
113
|
return `${baseUrl}/${finalEndpoint}`;
|
|
114
114
|
}
|
|
115
115
|
return `${baseUrl}${finalEndpoint}`;
|
|
@@ -44,7 +44,7 @@ export function createLBProxyHandler(config: LBProxyConfig = {}) {
|
|
|
44
44
|
/**
|
|
45
45
|
* Détermine le préfixe API à ajouter selon le path
|
|
46
46
|
* - Legacy : pas de préfixe si baseUrl contient déjà /api/public/v1
|
|
47
|
-
* - Sinon :
|
|
47
|
+
* - Sinon : /api/ai pour toutes les routes
|
|
48
48
|
*/
|
|
49
49
|
function getApiPrefix(path: string): string {
|
|
50
50
|
if (isLegacyBaseUrl) {
|
|
@@ -52,7 +52,6 @@ export function createLBProxyHandler(config: LBProxyConfig = {}) {
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
// Pour le nouveau format, toujours /api/ai
|
|
55
|
-
// Le client envoie déjà les bons paths (auth/*, public/*, ai/*)
|
|
56
55
|
return "/api/ai";
|
|
57
56
|
}
|
|
58
57
|
|
package/src/types/index.ts
CHANGED
|
@@ -88,8 +88,19 @@ export interface AiEmbedResponse {
|
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
export interface AiStatus {
|
|
91
|
-
request_id
|
|
92
|
-
|
|
91
|
+
request_id?: string;
|
|
92
|
+
user?: {
|
|
93
|
+
id: string;
|
|
94
|
+
email: string;
|
|
95
|
+
};
|
|
96
|
+
apiKey?: {
|
|
97
|
+
id: string;
|
|
98
|
+
name: string;
|
|
99
|
+
prefix: string;
|
|
100
|
+
env?: string;
|
|
101
|
+
rate_limit_rpm?: number;
|
|
102
|
+
};
|
|
103
|
+
api_key?: {
|
|
93
104
|
id: string;
|
|
94
105
|
name: string;
|
|
95
106
|
prefix: string;
|