@layer-ai/core 2.0.8 → 2.0.10
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/routes/v3/chat.d.ts.map +1 -1
- package/dist/routes/v3/chat.js +22 -0
- package/dist/routes/v3/embeddings.d.ts.map +1 -1
- package/dist/routes/v3/embeddings.js +21 -0
- package/dist/routes/v3/image.d.ts.map +1 -1
- package/dist/routes/v3/image.js +21 -0
- package/dist/routes/v3/ocr.d.ts.map +1 -1
- package/dist/routes/v3/ocr.js +21 -0
- package/dist/routes/v3/tts.d.ts.map +1 -1
- package/dist/routes/v3/tts.js +21 -0
- package/dist/routes/v3/video.d.ts.map +1 -1
- package/dist/routes/v3/video.js +21 -0
- package/dist/services/task-analysis.d.ts.map +1 -1
- package/dist/services/task-analysis.js +11 -2
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/routes/v3/chat.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AAOpD,QAAA,MAAM,MAAM,EAAE,UAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/routes/v3/chat.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AAOpD,QAAA,MAAM,MAAM,EAAE,UAAqB,CAAC;AA2QpC,eAAe,MAAM,CAAC"}
|
package/dist/routes/v3/chat.js
CHANGED
|
@@ -168,6 +168,20 @@ router.post('/', authenticate, async (req, res) => {
|
|
|
168
168
|
errorMessage: null,
|
|
169
169
|
userAgent: req.headers['user-agent'] || null,
|
|
170
170
|
ipAddress: req.ip || null,
|
|
171
|
+
requestPayload: {
|
|
172
|
+
gateId: request.gateId,
|
|
173
|
+
type: request.type,
|
|
174
|
+
model: request.model,
|
|
175
|
+
data: request.data,
|
|
176
|
+
metadata: request.metadata,
|
|
177
|
+
},
|
|
178
|
+
responsePayload: {
|
|
179
|
+
content: result.content,
|
|
180
|
+
model: result.model,
|
|
181
|
+
usage: result.usage,
|
|
182
|
+
cost: result.cost,
|
|
183
|
+
finishReason: result.finishReason,
|
|
184
|
+
},
|
|
171
185
|
}).catch(err => console.error('Failed to log request:', err));
|
|
172
186
|
// Return LayerResponse with additional metadata
|
|
173
187
|
const response = {
|
|
@@ -195,6 +209,14 @@ router.post('/', authenticate, async (req, res) => {
|
|
|
195
209
|
errorMessage,
|
|
196
210
|
userAgent: req.headers['user-agent'] || null,
|
|
197
211
|
ipAddress: req.ip || null,
|
|
212
|
+
requestPayload: request ? {
|
|
213
|
+
gateId: request.gateId,
|
|
214
|
+
type: request.type,
|
|
215
|
+
model: request.model,
|
|
216
|
+
data: request.data,
|
|
217
|
+
metadata: request.metadata,
|
|
218
|
+
} : null,
|
|
219
|
+
responsePayload: null,
|
|
198
220
|
}).catch(err => console.error('Failed to log request:', err));
|
|
199
221
|
console.error('Chat completion error:', error);
|
|
200
222
|
res.status(500).json({ error: 'internal_error', message: errorMessage });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../../src/routes/v3/embeddings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AAOpD,QAAA,MAAM,MAAM,EAAE,UAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../../src/routes/v3/embeddings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AAOpD,QAAA,MAAM,MAAM,EAAE,UAAqB,CAAC;AAmQpC,eAAe,MAAM,CAAC"}
|
|
@@ -161,6 +161,19 @@ router.post('/', authenticate, async (req, res) => {
|
|
|
161
161
|
errorMessage: null,
|
|
162
162
|
userAgent: req.headers['user-agent'] || null,
|
|
163
163
|
ipAddress: req.ip || null,
|
|
164
|
+
requestPayload: {
|
|
165
|
+
gateId: request.gateId,
|
|
166
|
+
type: request.type,
|
|
167
|
+
model: request.model,
|
|
168
|
+
data: request.data,
|
|
169
|
+
metadata: request.metadata,
|
|
170
|
+
},
|
|
171
|
+
responsePayload: {
|
|
172
|
+
embeddings: result.embeddings,
|
|
173
|
+
model: result.model,
|
|
174
|
+
usage: result.usage,
|
|
175
|
+
cost: result.cost,
|
|
176
|
+
},
|
|
164
177
|
}).catch(err => console.error('Failed to log request:', err));
|
|
165
178
|
// Return LayerResponse with additional metadata
|
|
166
179
|
const response = {
|
|
@@ -188,6 +201,14 @@ router.post('/', authenticate, async (req, res) => {
|
|
|
188
201
|
errorMessage,
|
|
189
202
|
userAgent: req.headers['user-agent'] || null,
|
|
190
203
|
ipAddress: req.ip || null,
|
|
204
|
+
requestPayload: request ? {
|
|
205
|
+
gateId: request.gateId,
|
|
206
|
+
type: request.type,
|
|
207
|
+
model: request.model,
|
|
208
|
+
data: request.data,
|
|
209
|
+
metadata: request.metadata,
|
|
210
|
+
} : null,
|
|
211
|
+
responsePayload: null,
|
|
191
212
|
}).catch(err => console.error('Failed to log request:', err));
|
|
192
213
|
console.error('Embeddings error:', error);
|
|
193
214
|
res.status(500).json({ error: 'internal_error', message: errorMessage });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../src/routes/v3/image.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AAOpD,QAAA,MAAM,MAAM,EAAE,UAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../src/routes/v3/image.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AAOpD,QAAA,MAAM,MAAM,EAAE,UAAqB,CAAC;AA4PpC,eAAe,MAAM,CAAC"}
|
package/dist/routes/v3/image.js
CHANGED
|
@@ -155,6 +155,19 @@ router.post('/', authenticate, async (req, res) => {
|
|
|
155
155
|
errorMessage: null,
|
|
156
156
|
userAgent: req.headers['user-agent'] || null,
|
|
157
157
|
ipAddress: req.ip || null,
|
|
158
|
+
requestPayload: {
|
|
159
|
+
gateId: request.gateId,
|
|
160
|
+
type: request.type,
|
|
161
|
+
model: request.model,
|
|
162
|
+
data: request.data,
|
|
163
|
+
metadata: request.metadata,
|
|
164
|
+
},
|
|
165
|
+
responsePayload: {
|
|
166
|
+
images: result.images,
|
|
167
|
+
model: result.model,
|
|
168
|
+
usage: result.usage,
|
|
169
|
+
cost: result.cost,
|
|
170
|
+
},
|
|
158
171
|
}).catch(err => console.error('Failed to log request:', err));
|
|
159
172
|
// Return LayerResponse with additional metadata
|
|
160
173
|
const response = {
|
|
@@ -182,6 +195,14 @@ router.post('/', authenticate, async (req, res) => {
|
|
|
182
195
|
errorMessage,
|
|
183
196
|
userAgent: req.headers['user-agent'] || null,
|
|
184
197
|
ipAddress: req.ip || null,
|
|
198
|
+
requestPayload: request ? {
|
|
199
|
+
gateId: request.gateId,
|
|
200
|
+
type: request.type,
|
|
201
|
+
model: request.model,
|
|
202
|
+
data: request.data,
|
|
203
|
+
metadata: request.metadata,
|
|
204
|
+
} : null,
|
|
205
|
+
responsePayload: null,
|
|
185
206
|
}).catch(err => console.error('Failed to log request:', err));
|
|
186
207
|
console.error('Image generation error:', error);
|
|
187
208
|
res.status(500).json({ error: 'internal_error', message: errorMessage });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ocr.d.ts","sourceRoot":"","sources":["../../../src/routes/v3/ocr.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AAOpD,QAAA,MAAM,MAAM,EAAE,UAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"ocr.d.ts","sourceRoot":"","sources":["../../../src/routes/v3/ocr.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AAOpD,QAAA,MAAM,MAAM,EAAE,UAAqB,CAAC;AAqPpC,eAAe,MAAM,CAAC"}
|
package/dist/routes/v3/ocr.js
CHANGED
|
@@ -149,6 +149,19 @@ router.post('/', authenticate, async (req, res) => {
|
|
|
149
149
|
errorMessage: null,
|
|
150
150
|
userAgent: req.headers['user-agent'] || null,
|
|
151
151
|
ipAddress: req.ip || null,
|
|
152
|
+
requestPayload: {
|
|
153
|
+
gateId: request.gateId,
|
|
154
|
+
type: request.type,
|
|
155
|
+
model: request.model,
|
|
156
|
+
data: request.data,
|
|
157
|
+
metadata: request.metadata,
|
|
158
|
+
},
|
|
159
|
+
responsePayload: {
|
|
160
|
+
ocr: result.ocr,
|
|
161
|
+
model: result.model,
|
|
162
|
+
usage: result.usage,
|
|
163
|
+
cost: result.cost,
|
|
164
|
+
},
|
|
152
165
|
}).catch(err => console.error('Failed to log request:', err));
|
|
153
166
|
// Return LayerResponse with additional metadata
|
|
154
167
|
const response = {
|
|
@@ -176,6 +189,14 @@ router.post('/', authenticate, async (req, res) => {
|
|
|
176
189
|
errorMessage,
|
|
177
190
|
userAgent: req.headers['user-agent'] || null,
|
|
178
191
|
ipAddress: req.ip || null,
|
|
192
|
+
requestPayload: request ? {
|
|
193
|
+
gateId: request.gateId,
|
|
194
|
+
type: request.type,
|
|
195
|
+
model: request.model,
|
|
196
|
+
data: request.data,
|
|
197
|
+
metadata: request.metadata,
|
|
198
|
+
} : null,
|
|
199
|
+
responsePayload: null,
|
|
179
200
|
}).catch(err => console.error('Failed to log request:', err));
|
|
180
201
|
console.error('OCR error:', error);
|
|
181
202
|
res.status(500).json({ error: 'internal_error', message: errorMessage });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tts.d.ts","sourceRoot":"","sources":["../../../src/routes/v3/tts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AAOpD,QAAA,MAAM,MAAM,EAAE,UAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"tts.d.ts","sourceRoot":"","sources":["../../../src/routes/v3/tts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AAOpD,QAAA,MAAM,MAAM,EAAE,UAAqB,CAAC;AAiPpC,eAAe,MAAM,CAAC"}
|
package/dist/routes/v3/tts.js
CHANGED
|
@@ -145,6 +145,19 @@ router.post('/', authenticate, async (req, res) => {
|
|
|
145
145
|
errorMessage: null,
|
|
146
146
|
userAgent: req.headers['user-agent'] || null,
|
|
147
147
|
ipAddress: req.ip || null,
|
|
148
|
+
requestPayload: {
|
|
149
|
+
gateId: request.gateId,
|
|
150
|
+
type: request.type,
|
|
151
|
+
model: request.model,
|
|
152
|
+
data: request.data,
|
|
153
|
+
metadata: request.metadata,
|
|
154
|
+
},
|
|
155
|
+
responsePayload: {
|
|
156
|
+
audio: result.audio,
|
|
157
|
+
model: result.model,
|
|
158
|
+
usage: result.usage,
|
|
159
|
+
cost: result.cost,
|
|
160
|
+
},
|
|
148
161
|
}).catch(err => console.error('Failed to log request:', err));
|
|
149
162
|
// Return LayerResponse with additional metadata
|
|
150
163
|
const response = {
|
|
@@ -172,6 +185,14 @@ router.post('/', authenticate, async (req, res) => {
|
|
|
172
185
|
errorMessage,
|
|
173
186
|
userAgent: req.headers['user-agent'] || null,
|
|
174
187
|
ipAddress: req.ip || null,
|
|
188
|
+
requestPayload: request ? {
|
|
189
|
+
gateId: request.gateId,
|
|
190
|
+
type: request.type,
|
|
191
|
+
model: request.model,
|
|
192
|
+
data: request.data,
|
|
193
|
+
metadata: request.metadata,
|
|
194
|
+
} : null,
|
|
195
|
+
responsePayload: null,
|
|
175
196
|
}).catch(err => console.error('Failed to log request:', err));
|
|
176
197
|
console.error('TTS error:', error);
|
|
177
198
|
res.status(500).json({ error: 'internal_error', message: errorMessage });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../../src/routes/v3/video.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AAOpD,QAAA,MAAM,MAAM,EAAE,UAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../../src/routes/v3/video.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AAOpD,QAAA,MAAM,MAAM,EAAE,UAAqB,CAAC;AA4PpC,eAAe,MAAM,CAAC"}
|
package/dist/routes/v3/video.js
CHANGED
|
@@ -155,6 +155,19 @@ router.post('/', authenticate, async (req, res) => {
|
|
|
155
155
|
errorMessage: null,
|
|
156
156
|
userAgent: req.headers['user-agent'] || null,
|
|
157
157
|
ipAddress: req.ip || null,
|
|
158
|
+
requestPayload: {
|
|
159
|
+
gateId: request.gateId,
|
|
160
|
+
type: request.type,
|
|
161
|
+
model: request.model,
|
|
162
|
+
data: request.data,
|
|
163
|
+
metadata: request.metadata,
|
|
164
|
+
},
|
|
165
|
+
responsePayload: {
|
|
166
|
+
videos: result.videos,
|
|
167
|
+
model: result.model,
|
|
168
|
+
usage: result.usage,
|
|
169
|
+
cost: result.cost,
|
|
170
|
+
},
|
|
158
171
|
}).catch(err => console.error('Failed to log request:', err));
|
|
159
172
|
// Return LayerResponse with additional metadata
|
|
160
173
|
const response = {
|
|
@@ -182,6 +195,14 @@ router.post('/', authenticate, async (req, res) => {
|
|
|
182
195
|
errorMessage,
|
|
183
196
|
userAgent: req.headers['user-agent'] || null,
|
|
184
197
|
ipAddress: req.ip || null,
|
|
198
|
+
requestPayload: request ? {
|
|
199
|
+
gateId: request.gateId,
|
|
200
|
+
type: request.type,
|
|
201
|
+
model: request.model,
|
|
202
|
+
data: request.data,
|
|
203
|
+
metadata: request.metadata,
|
|
204
|
+
} : null,
|
|
205
|
+
responsePayload: null,
|
|
185
206
|
}).catch(err => console.error('Failed to log request:', err));
|
|
186
207
|
console.error('Video generation error:', error);
|
|
187
208
|
res.status(500).json({ error: 'internal_error', message: errorMessage });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-analysis.d.ts","sourceRoot":"","sources":["../../src/services/task-analysis.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,YAAY,EAAmC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"task-analysis.d.ts","sourceRoot":"","sources":["../../src/services/task-analysis.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,YAAY,EAAmC,MAAM,eAAe,CAAC;AA2D9F,wBAAsB,WAAW,CAC/B,WAAW,EAAE,MAAM,EACnB,eAAe,CAAC,EAAE;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GACA,OAAO,CAAC,YAAY,CAAC,CAkHvB"}
|
|
@@ -20,8 +20,13 @@ AVAILABLE TASK TYPES:
|
|
|
20
20
|
|
|
21
21
|
Return ONLY the task type as a single word, nothing else.`;
|
|
22
22
|
try {
|
|
23
|
+
// Smart routing model - upgraded to Sonnet 4.5 for better recommendations
|
|
24
|
+
// Can be overridden via SMART_ROUTING_MODEL environment variable
|
|
25
|
+
// Default: claude-sonnet-4-5-20250929 (~$3/1M tokens vs Haiku ~$0.25/1M)
|
|
26
|
+
// Cost impact is minimal since smart routing is infrequent (gate creation/reanalysis)
|
|
27
|
+
const smartRoutingModel = process.env.SMART_ROUTING_MODEL || 'claude-sonnet-4-5-20250929';
|
|
23
28
|
const response = await anthropic.messages.create({
|
|
24
|
-
model:
|
|
29
|
+
model: smartRoutingModel,
|
|
25
30
|
max_tokens: 50,
|
|
26
31
|
temperature: 0.0,
|
|
27
32
|
messages: [{
|
|
@@ -101,8 +106,12 @@ Return JSON with:
|
|
|
101
106
|
"reasoning": "why these models work for this task and user preferences"
|
|
102
107
|
}`;
|
|
103
108
|
try {
|
|
109
|
+
// Smart routing model - upgraded to Sonnet 4.5 for superior analysis quality
|
|
110
|
+
// Can be overridden via SMART_ROUTING_MODEL environment variable
|
|
111
|
+
// Default: claude-sonnet-4-5-20250929 for more nuanced model recommendations
|
|
112
|
+
const smartRoutingModel = process.env.SMART_ROUTING_MODEL || 'claude-sonnet-4-5-20250929';
|
|
104
113
|
const response = await anthropic.messages.create({
|
|
105
|
-
model:
|
|
114
|
+
model: smartRoutingModel,
|
|
106
115
|
max_tokens: 2000,
|
|
107
116
|
temperature: 0.0,
|
|
108
117
|
messages: [{
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@layer-ai/core",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.10",
|
|
4
4
|
"description": "Core API routes and services for Layer AI",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"nanoid": "^5.0.4",
|
|
37
37
|
"openai": "^4.24.0",
|
|
38
38
|
"pg": "^8.11.3",
|
|
39
|
-
"@layer-ai/sdk": "^2.5.
|
|
39
|
+
"@layer-ai/sdk": "^2.5.2"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@types/bcryptjs": "^2.4.6",
|