@gammatech/aijsx 0.5.0-dev.2024-03-14.3 → 0.5.0-dev.2024-04-04
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/index.js +81 -4
- package/dist/index.mjs +81 -4
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -2052,13 +2052,16 @@ function OpenAIVisionChatCompletion(props, { logger, render, tracer, getContext
|
|
|
2052
2052
|
messages: openAIMessages,
|
|
2053
2053
|
stream: true
|
|
2054
2054
|
};
|
|
2055
|
+
const chatCompletionRequestToLog = cleanChatCompletionRequest(
|
|
2056
|
+
chatCompletionRequest
|
|
2057
|
+
);
|
|
2055
2058
|
const logRequestData = {
|
|
2056
2059
|
startTime,
|
|
2057
2060
|
model,
|
|
2058
2061
|
provider,
|
|
2059
2062
|
providerRegion,
|
|
2060
2063
|
inputMessages: renderedMessages,
|
|
2061
|
-
request:
|
|
2064
|
+
request: chatCompletionRequestToLog
|
|
2062
2065
|
};
|
|
2063
2066
|
logger.chatCompletionRequest("openai", logRequestData);
|
|
2064
2067
|
span.setAttributes({
|
|
@@ -2066,7 +2069,7 @@ function OpenAIVisionChatCompletion(props, { logger, render, tracer, getContext
|
|
|
2066
2069
|
provider,
|
|
2067
2070
|
providerRegion,
|
|
2068
2071
|
requestType: "openai",
|
|
2069
|
-
chatCompletionRequest
|
|
2072
|
+
chatCompletionRequest: chatCompletionRequestToLog
|
|
2070
2073
|
});
|
|
2071
2074
|
let chatResponse;
|
|
2072
2075
|
try {
|
|
@@ -2126,6 +2129,44 @@ function OpenAIVisionChatCompletion(props, { logger, render, tracer, getContext
|
|
|
2126
2129
|
}
|
|
2127
2130
|
);
|
|
2128
2131
|
}
|
|
2132
|
+
function cleanChatCompletionRequest(chatCompletionRequest) {
|
|
2133
|
+
const { messages, ...rest } = chatCompletionRequest;
|
|
2134
|
+
return {
|
|
2135
|
+
...rest,
|
|
2136
|
+
messages: messages.map((message) => {
|
|
2137
|
+
if (message.role !== "user") {
|
|
2138
|
+
return message;
|
|
2139
|
+
}
|
|
2140
|
+
if (typeof message.content === "string") {
|
|
2141
|
+
return message;
|
|
2142
|
+
}
|
|
2143
|
+
return {
|
|
2144
|
+
...message,
|
|
2145
|
+
content: message.content.map((part) => {
|
|
2146
|
+
if (part.type === "text") {
|
|
2147
|
+
return part;
|
|
2148
|
+
}
|
|
2149
|
+
if (part.image_url.url.startsWith("data:image")) {
|
|
2150
|
+
return {
|
|
2151
|
+
type: "image_url",
|
|
2152
|
+
image_url: {
|
|
2153
|
+
url: part.image_url.url.slice(0, 22) + "...",
|
|
2154
|
+
detail: part.image_url.detail
|
|
2155
|
+
}
|
|
2156
|
+
};
|
|
2157
|
+
}
|
|
2158
|
+
return {
|
|
2159
|
+
type: "image_url",
|
|
2160
|
+
image_url: {
|
|
2161
|
+
url: part.image_url.url,
|
|
2162
|
+
detail: part.image_url.detail
|
|
2163
|
+
}
|
|
2164
|
+
};
|
|
2165
|
+
})
|
|
2166
|
+
};
|
|
2167
|
+
})
|
|
2168
|
+
};
|
|
2169
|
+
}
|
|
2129
2170
|
|
|
2130
2171
|
// src/lib/openai/index.ts
|
|
2131
2172
|
var import_openai3 = require("openai");
|
|
@@ -2243,13 +2284,16 @@ function AnthropicChatCompletion(props, { render, logger, tracer, getContext })
|
|
|
2243
2284
|
temperature: props.temperature,
|
|
2244
2285
|
model: props.model
|
|
2245
2286
|
};
|
|
2287
|
+
const chatCompletionRequestToLog = cleanChatCompletionRequest2(
|
|
2288
|
+
anthropicCompletionRequest
|
|
2289
|
+
);
|
|
2246
2290
|
const logRequestData = {
|
|
2247
2291
|
startTime,
|
|
2248
2292
|
model: props.model,
|
|
2249
2293
|
provider,
|
|
2250
2294
|
providerRegion,
|
|
2251
2295
|
inputMessages,
|
|
2252
|
-
request:
|
|
2296
|
+
request: chatCompletionRequestToLog
|
|
2253
2297
|
};
|
|
2254
2298
|
logger.chatCompletionRequest("anthropic", logRequestData);
|
|
2255
2299
|
span.setAttributes({
|
|
@@ -2257,7 +2301,7 @@ function AnthropicChatCompletion(props, { render, logger, tracer, getContext })
|
|
|
2257
2301
|
provider,
|
|
2258
2302
|
providerRegion,
|
|
2259
2303
|
requestType: "anthropic",
|
|
2260
|
-
chatCompletionRequest:
|
|
2304
|
+
chatCompletionRequest: chatCompletionRequestToLog
|
|
2261
2305
|
});
|
|
2262
2306
|
let response;
|
|
2263
2307
|
try {
|
|
@@ -2373,6 +2417,39 @@ var renderChatMessageContent2 = (content) => {
|
|
|
2373
2417
|
throw new Error("Invalid ImageBlockParam type");
|
|
2374
2418
|
}).join("\n\n");
|
|
2375
2419
|
};
|
|
2420
|
+
function cleanChatCompletionRequest2(chatCompletionRequest) {
|
|
2421
|
+
const { messages, ...rest } = chatCompletionRequest;
|
|
2422
|
+
return {
|
|
2423
|
+
...rest,
|
|
2424
|
+
messages: messages.map((message) => {
|
|
2425
|
+
if (message.role !== "user") {
|
|
2426
|
+
return message;
|
|
2427
|
+
}
|
|
2428
|
+
if (typeof message.content === "string") {
|
|
2429
|
+
return message;
|
|
2430
|
+
}
|
|
2431
|
+
return {
|
|
2432
|
+
...message,
|
|
2433
|
+
content: message.content.map((part) => {
|
|
2434
|
+
if (typeof part === "string") {
|
|
2435
|
+
return part;
|
|
2436
|
+
} else if (part.type === "text") {
|
|
2437
|
+
return part;
|
|
2438
|
+
} else if ("source" in part && typeof part.source === "object") {
|
|
2439
|
+
return {
|
|
2440
|
+
...part,
|
|
2441
|
+
source: {
|
|
2442
|
+
...part.source,
|
|
2443
|
+
data: part.source.data.slice(0, 22) + "..."
|
|
2444
|
+
}
|
|
2445
|
+
};
|
|
2446
|
+
}
|
|
2447
|
+
return part;
|
|
2448
|
+
})
|
|
2449
|
+
};
|
|
2450
|
+
})
|
|
2451
|
+
};
|
|
2452
|
+
}
|
|
2376
2453
|
|
|
2377
2454
|
// src/lib/anthropic/ClaudeImageBlock.tsx
|
|
2378
2455
|
var ClaudeImageBlockParam = (_props) => {
|
package/dist/index.mjs
CHANGED
|
@@ -1954,13 +1954,16 @@ function OpenAIVisionChatCompletion(props, { logger, render, tracer, getContext
|
|
|
1954
1954
|
messages: openAIMessages,
|
|
1955
1955
|
stream: true
|
|
1956
1956
|
};
|
|
1957
|
+
const chatCompletionRequestToLog = cleanChatCompletionRequest(
|
|
1958
|
+
chatCompletionRequest
|
|
1959
|
+
);
|
|
1957
1960
|
const logRequestData = {
|
|
1958
1961
|
startTime,
|
|
1959
1962
|
model,
|
|
1960
1963
|
provider,
|
|
1961
1964
|
providerRegion,
|
|
1962
1965
|
inputMessages: renderedMessages,
|
|
1963
|
-
request:
|
|
1966
|
+
request: chatCompletionRequestToLog
|
|
1964
1967
|
};
|
|
1965
1968
|
logger.chatCompletionRequest("openai", logRequestData);
|
|
1966
1969
|
span.setAttributes({
|
|
@@ -1968,7 +1971,7 @@ function OpenAIVisionChatCompletion(props, { logger, render, tracer, getContext
|
|
|
1968
1971
|
provider,
|
|
1969
1972
|
providerRegion,
|
|
1970
1973
|
requestType: "openai",
|
|
1971
|
-
chatCompletionRequest
|
|
1974
|
+
chatCompletionRequest: chatCompletionRequestToLog
|
|
1972
1975
|
});
|
|
1973
1976
|
let chatResponse;
|
|
1974
1977
|
try {
|
|
@@ -2028,6 +2031,44 @@ function OpenAIVisionChatCompletion(props, { logger, render, tracer, getContext
|
|
|
2028
2031
|
}
|
|
2029
2032
|
);
|
|
2030
2033
|
}
|
|
2034
|
+
function cleanChatCompletionRequest(chatCompletionRequest) {
|
|
2035
|
+
const { messages, ...rest } = chatCompletionRequest;
|
|
2036
|
+
return {
|
|
2037
|
+
...rest,
|
|
2038
|
+
messages: messages.map((message) => {
|
|
2039
|
+
if (message.role !== "user") {
|
|
2040
|
+
return message;
|
|
2041
|
+
}
|
|
2042
|
+
if (typeof message.content === "string") {
|
|
2043
|
+
return message;
|
|
2044
|
+
}
|
|
2045
|
+
return {
|
|
2046
|
+
...message,
|
|
2047
|
+
content: message.content.map((part) => {
|
|
2048
|
+
if (part.type === "text") {
|
|
2049
|
+
return part;
|
|
2050
|
+
}
|
|
2051
|
+
if (part.image_url.url.startsWith("data:image")) {
|
|
2052
|
+
return {
|
|
2053
|
+
type: "image_url",
|
|
2054
|
+
image_url: {
|
|
2055
|
+
url: part.image_url.url.slice(0, 22) + "...",
|
|
2056
|
+
detail: part.image_url.detail
|
|
2057
|
+
}
|
|
2058
|
+
};
|
|
2059
|
+
}
|
|
2060
|
+
return {
|
|
2061
|
+
type: "image_url",
|
|
2062
|
+
image_url: {
|
|
2063
|
+
url: part.image_url.url,
|
|
2064
|
+
detail: part.image_url.detail
|
|
2065
|
+
}
|
|
2066
|
+
};
|
|
2067
|
+
})
|
|
2068
|
+
};
|
|
2069
|
+
})
|
|
2070
|
+
};
|
|
2071
|
+
}
|
|
2031
2072
|
|
|
2032
2073
|
// src/lib/openai/index.ts
|
|
2033
2074
|
import { OpenAI as OpenAIClient3 } from "openai";
|
|
@@ -2145,13 +2186,16 @@ function AnthropicChatCompletion(props, { render, logger, tracer, getContext })
|
|
|
2145
2186
|
temperature: props.temperature,
|
|
2146
2187
|
model: props.model
|
|
2147
2188
|
};
|
|
2189
|
+
const chatCompletionRequestToLog = cleanChatCompletionRequest2(
|
|
2190
|
+
anthropicCompletionRequest
|
|
2191
|
+
);
|
|
2148
2192
|
const logRequestData = {
|
|
2149
2193
|
startTime,
|
|
2150
2194
|
model: props.model,
|
|
2151
2195
|
provider,
|
|
2152
2196
|
providerRegion,
|
|
2153
2197
|
inputMessages,
|
|
2154
|
-
request:
|
|
2198
|
+
request: chatCompletionRequestToLog
|
|
2155
2199
|
};
|
|
2156
2200
|
logger.chatCompletionRequest("anthropic", logRequestData);
|
|
2157
2201
|
span.setAttributes({
|
|
@@ -2159,7 +2203,7 @@ function AnthropicChatCompletion(props, { render, logger, tracer, getContext })
|
|
|
2159
2203
|
provider,
|
|
2160
2204
|
providerRegion,
|
|
2161
2205
|
requestType: "anthropic",
|
|
2162
|
-
chatCompletionRequest:
|
|
2206
|
+
chatCompletionRequest: chatCompletionRequestToLog
|
|
2163
2207
|
});
|
|
2164
2208
|
let response;
|
|
2165
2209
|
try {
|
|
@@ -2275,6 +2319,39 @@ var renderChatMessageContent2 = (content) => {
|
|
|
2275
2319
|
throw new Error("Invalid ImageBlockParam type");
|
|
2276
2320
|
}).join("\n\n");
|
|
2277
2321
|
};
|
|
2322
|
+
function cleanChatCompletionRequest2(chatCompletionRequest) {
|
|
2323
|
+
const { messages, ...rest } = chatCompletionRequest;
|
|
2324
|
+
return {
|
|
2325
|
+
...rest,
|
|
2326
|
+
messages: messages.map((message) => {
|
|
2327
|
+
if (message.role !== "user") {
|
|
2328
|
+
return message;
|
|
2329
|
+
}
|
|
2330
|
+
if (typeof message.content === "string") {
|
|
2331
|
+
return message;
|
|
2332
|
+
}
|
|
2333
|
+
return {
|
|
2334
|
+
...message,
|
|
2335
|
+
content: message.content.map((part) => {
|
|
2336
|
+
if (typeof part === "string") {
|
|
2337
|
+
return part;
|
|
2338
|
+
} else if (part.type === "text") {
|
|
2339
|
+
return part;
|
|
2340
|
+
} else if ("source" in part && typeof part.source === "object") {
|
|
2341
|
+
return {
|
|
2342
|
+
...part,
|
|
2343
|
+
source: {
|
|
2344
|
+
...part.source,
|
|
2345
|
+
data: part.source.data.slice(0, 22) + "..."
|
|
2346
|
+
}
|
|
2347
|
+
};
|
|
2348
|
+
}
|
|
2349
|
+
return part;
|
|
2350
|
+
})
|
|
2351
|
+
};
|
|
2352
|
+
})
|
|
2353
|
+
};
|
|
2354
|
+
}
|
|
2278
2355
|
|
|
2279
2356
|
// src/lib/anthropic/ClaudeImageBlock.tsx
|
|
2280
2357
|
var ClaudeImageBlockParam = (_props) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gammatech/aijsx",
|
|
3
|
-
"version": "0.5.0-dev.2024-
|
|
3
|
+
"version": "0.5.0-dev.2024-04-04",
|
|
4
4
|
"description": "Rewrite of aijsx",
|
|
5
5
|
"author": "Jordan Garcia",
|
|
6
6
|
"license": "MIT",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"check-types": "tsc --skipLibCheck --noEmit"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@anthropic-ai/sdk": "0.
|
|
21
|
+
"@anthropic-ai/sdk": "0.19.1",
|
|
22
22
|
"@anthropic-ai/tokenizer": "^0.0.4",
|
|
23
23
|
"fast-xml-parser": "^4.3.4",
|
|
24
24
|
"js-tiktoken": "^1.0.8",
|