openai-cache 1.0.28 → 1.0.33
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/openai_cache.d.ts +2 -2
- package/dist/openai_cache.d.ts.map +1 -1
- package/dist/openai_cache.js +14 -26
- package/dist/openai_cache.js.map +1 -1
- package/package.json +9 -8
package/dist/openai_cache.d.ts
CHANGED
|
@@ -29,14 +29,14 @@ export default class OpenAICache {
|
|
|
29
29
|
private readonly _markResponseEnabled;
|
|
30
30
|
private readonly _verboseLevel;
|
|
31
31
|
private disabledCacheWarningLogged;
|
|
32
|
-
static readonly
|
|
32
|
+
static readonly MARK_RESPONSE_NAME = "x_from_openai_cache";
|
|
33
33
|
/**
|
|
34
34
|
* Creates a new instance of OpenAICache.
|
|
35
35
|
*
|
|
36
36
|
* @param cache cacheable instance
|
|
37
37
|
* @param options.markResponseEnabled whether to mark cached responses with an additional property in the JSON body (default: true).
|
|
38
38
|
* This can be useful for downstream logic that needs to differentiate between live and cached responses, but it does modify
|
|
39
|
-
* the original response body so it is optional. so the response is {
|
|
39
|
+
* the original response body so it is optional. so the response is { x_from_openai_cache: true, ...originalResponseBody }
|
|
40
40
|
*/
|
|
41
41
|
constructor(cache?: Cacheable, { markResponseEnabled, verboseLevel, }?: {
|
|
42
42
|
markResponseEnabled?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai_cache.d.ts","sourceRoot":"","sources":["../src/openai_cache.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAUtC,KAAK,OAAO,GAAG,OAAO,UAAU,CAAC,KAAK,CAAC;AACvC,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAExC,KAAK,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;AAelD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,OAAO,OAAO,WAAW;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAU;IAC/C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,0BAA0B,CAAkB;IACpD,gBAAuB,
|
|
1
|
+
{"version":3,"file":"openai_cache.d.ts","sourceRoot":"","sources":["../src/openai_cache.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAUtC,KAAK,OAAO,GAAG,OAAO,UAAU,CAAC,KAAK,CAAC;AACvC,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAExC,KAAK,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;AAelD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,OAAO,OAAO,WAAW;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAU;IAC/C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,0BAA0B,CAAkB;IACpD,gBAAuB,kBAAkB,yBAAyB;IAElE;;;;;;;OAOG;gBACS,KAAK,CAAC,EAAE,SAAS,EAAE,EAC9B,mBAA2B,EAC3B,YAAgB,GAChB,GAAE;QACF,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,YAAY,CAAC,EAAE,MAAM,CAAA;KAChB;IAMN;;OAEG;IACU,UAAU;IAIvB;;;;;;;;OAQG;IACI,UAAU,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC,aAAa,CAAC;IAIpF;;;;;;OAMG;YACW,MAAM;IAsIpB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAwC3C;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAehC,OAAO,CAAC,MAAM,CAAC,oBAAoB;IASnC,OAAO,CAAC,MAAM,CAAC,qBAAqB;CAmBpC"}
|
package/dist/openai_cache.js
CHANGED
|
@@ -34,14 +34,14 @@ export default class OpenAICache {
|
|
|
34
34
|
_markResponseEnabled;
|
|
35
35
|
_verboseLevel;
|
|
36
36
|
disabledCacheWarningLogged = false;
|
|
37
|
-
static
|
|
37
|
+
static MARK_RESPONSE_NAME = "x_from_openai_cache";
|
|
38
38
|
/**
|
|
39
39
|
* Creates a new instance of OpenAICache.
|
|
40
40
|
*
|
|
41
41
|
* @param cache cacheable instance
|
|
42
42
|
* @param options.markResponseEnabled whether to mark cached responses with an additional property in the JSON body (default: true).
|
|
43
43
|
* This can be useful for downstream logic that needs to differentiate between live and cached responses, but it does modify
|
|
44
|
-
* the original response body so it is optional. so the response is {
|
|
44
|
+
* the original response body so it is optional. so the response is { x_from_openai_cache: true, ...originalResponseBody }
|
|
45
45
|
*/
|
|
46
46
|
constructor(cache, { markResponseEnabled = false, verboseLevel = 0, } = {}) {
|
|
47
47
|
this._cache = cache ?? new Cacheable();
|
|
@@ -118,18 +118,20 @@ export default class OpenAICache {
|
|
|
118
118
|
if (this._verboseLevel > 1) {
|
|
119
119
|
console.log(Chalk.green(`Cache hit for streamed ${method} ${url}`));
|
|
120
120
|
}
|
|
121
|
+
const headersCopy = new Headers(cachedValue.headers);
|
|
122
|
+
// honor this._markResponseEnabled option to indicate cache hit
|
|
123
|
+
if (this._markResponseEnabled) {
|
|
124
|
+
headersCopy.set(OpenAICache.MARK_RESPONSE_NAME, "true");
|
|
125
|
+
// console.log(Chalk.blue(`Marking cached response with header - content-type: ${headersCopy.get("content-type")}`), Array.from(headersCopy.entries()));
|
|
126
|
+
}
|
|
121
127
|
const newResponse = new Response(cachedBodyBuffer, {
|
|
122
128
|
status: cachedValue.status,
|
|
123
|
-
headers:
|
|
129
|
+
headers: headersCopy,
|
|
124
130
|
});
|
|
125
|
-
if (this._markResponseEnabled) {
|
|
126
|
-
newResponse.headers.set(OpenAICache.MarkResponseName, "true");
|
|
127
|
-
console.log(Chalk.blue(`Marking cached response with header`), Array.from(newResponse.headers.entries()));
|
|
128
|
-
}
|
|
129
131
|
return newResponse;
|
|
130
132
|
}
|
|
131
133
|
if (this._verboseLevel > 1) {
|
|
132
|
-
console.log(Chalk.green(`Cache hit for non-streamed ${method} ${url}`));
|
|
134
|
+
console.log(Chalk.green(`Cache hit for non - streamed ${method} ${url} `));
|
|
133
135
|
}
|
|
134
136
|
// Return cached response
|
|
135
137
|
let newResponse = new Response(cachedBodyBuffer, {
|
|
@@ -139,22 +141,8 @@ export default class OpenAICache {
|
|
|
139
141
|
// honor this._markResponseEnabled option to indicate cache hit
|
|
140
142
|
const contentTypeIsJson = newResponse.headers.get("content-type")?.includes("application/json") ? true : false;
|
|
141
143
|
if (this._markResponseEnabled && contentTypeIsJson) {
|
|
142
|
-
newResponse.headers.set(OpenAICache.
|
|
143
|
-
console.log(Chalk.blue(`Marking cached response with header`), Array.from(newResponse.headers.entries()));
|
|
144
|
-
// TODO remove the 'MARKER in body json'
|
|
145
|
-
try {
|
|
146
|
-
// decode JSON from cachedBodyBuffer
|
|
147
|
-
const bodyJson = JSON.parse(cachedBodyBuffer.toString());
|
|
148
|
-
// Set the magic property to indicate this response is from cache
|
|
149
|
-
bodyJson.X_FROM_OPENAI_CACHE = true;
|
|
150
|
-
// Rebuild response with modified body
|
|
151
|
-
const modifiedBodyBuffer = Buffer.from(JSON.stringify(bodyJson));
|
|
152
|
-
newResponse = new Response(modifiedBodyBuffer, { status: cachedValue.status, headers: cachedValue.headers, });
|
|
153
|
-
}
|
|
154
|
-
catch (error) {
|
|
155
|
-
// If parsing fails, return the original cached response without modification
|
|
156
|
-
console.warn("Failed to parse cached response body as JSON for header modification:", error);
|
|
157
|
-
}
|
|
144
|
+
newResponse.headers.set(OpenAICache.MARK_RESPONSE_NAME, "true");
|
|
145
|
+
// console.log(Chalk.blue(`Marking cached response with header - content - type: ${newResponse.headers.get("content-type")} `), Array.from(newResponse.headers.entries()));
|
|
158
146
|
}
|
|
159
147
|
// Return cached response (body already buffered)
|
|
160
148
|
return newResponse;
|
|
@@ -164,7 +152,7 @@ export default class OpenAICache {
|
|
|
164
152
|
// For streaming SSE responses, pipe through to enable progressive streaming + background caching
|
|
165
153
|
if (OpenAICache._isStreamingResponse(response.headers)) {
|
|
166
154
|
if (this._verboseLevel > 1) {
|
|
167
|
-
console.log(Chalk.yellow(`Cache miss for streamed ${method} ${url} - caching in background as it streams in`));
|
|
155
|
+
console.log(Chalk.yellow(`Cache miss for streamed ${method} ${url} - caching in background as it streams in `));
|
|
168
156
|
}
|
|
169
157
|
if (!response.ok || !response.body) {
|
|
170
158
|
return response;
|
|
@@ -172,7 +160,7 @@ export default class OpenAICache {
|
|
|
172
160
|
return OpenAICache._createCachingStreamResponse(response, this._cache, cacheKey);
|
|
173
161
|
}
|
|
174
162
|
if (this._verboseLevel > 1) {
|
|
175
|
-
console.log(Chalk.yellow(`Cache miss for non-streamed ${method} ${url} - caching in background`));
|
|
163
|
+
console.log(Chalk.yellow(`Cache miss for non - streamed ${method} ${url} - caching in background`));
|
|
176
164
|
}
|
|
177
165
|
const clonedResponse = response.clone();
|
|
178
166
|
// Materialize response body for caching
|
package/dist/openai_cache.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai_cache.js","sourceRoot":"","sources":["../src/openai_cache.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAsB1B,+EAA+E;AAC/E,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAC/E,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,OAAO,OAAO,WAAW;IACd,MAAM,CAAY;IAClB,oBAAoB,CAAU;IAC9B,aAAa,CAAS;IAC/B,0BAA0B,GAAY,KAAK,CAAC;IAC7C,MAAM,CAAU,
|
|
1
|
+
{"version":3,"file":"openai_cache.js","sourceRoot":"","sources":["../src/openai_cache.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openai-cache",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.33",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/openai_cache.js",
|
|
6
6
|
"types": "dist/openai_cache.d.ts",
|
|
@@ -16,11 +16,11 @@
|
|
|
16
16
|
"LICENSE"
|
|
17
17
|
],
|
|
18
18
|
"scripts": {
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
19
|
+
"sample:image_generation": "tsx examples/image_generation_example.ts",
|
|
20
|
+
"sample:image_understanding": "tsx examples/image_understanding_example.ts",
|
|
21
|
+
"sample:openai_cache": "tsx examples/openai_cache_example.ts",
|
|
22
|
+
"sample:tts": "tsx examples/tts_example.ts",
|
|
23
|
+
"open_cache:clean": "rm -f ./examples/.openai_cache.sqlite",
|
|
24
24
|
"build": "tsc -p tsconfig.json",
|
|
25
25
|
"clean": "rm -rf dist",
|
|
26
26
|
"typecheck": "tsc --noEmit",
|
|
@@ -64,7 +64,8 @@
|
|
|
64
64
|
"zod": "^4.3.6"
|
|
65
65
|
},
|
|
66
66
|
"dependencies": {
|
|
67
|
-
"cacheable": "^2.3.
|
|
68
|
-
"chalk": "^5.6.2"
|
|
67
|
+
"cacheable": "^2.3.4",
|
|
68
|
+
"chalk": "^5.6.2",
|
|
69
|
+
"openai-cache": "^1.0.29"
|
|
69
70
|
}
|
|
70
71
|
}
|