openai-cache 1.0.26 → 1.0.28
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.
|
@@ -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,gBAAgB,yBAAyB;IAEhE;;;;;;;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;
|
|
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,gBAAgB,yBAAyB;IAEhE;;;;;;;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;IAgJpB;;;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
|
@@ -78,7 +78,6 @@ export default class OpenAICache {
|
|
|
78
78
|
const url = typeof input === "string" ? input : input instanceof Request ? input.url : input.toString();
|
|
79
79
|
// Normalize HTTP method
|
|
80
80
|
const method = (init?.method || "GET").toUpperCase();
|
|
81
|
-
// debugger
|
|
82
81
|
// Generate body hash payload
|
|
83
82
|
const bodyForHash = OpenAICache._serializeBodyForHash(init?.body);
|
|
84
83
|
// If body type unsupported, skip caching
|
|
@@ -88,11 +87,11 @@ export default class OpenAICache {
|
|
|
88
87
|
}
|
|
89
88
|
return fetch(input, init);
|
|
90
89
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
90
|
+
///////////////////////////////////////////////////////////////////////////////
|
|
91
|
+
///////////////////////////////////////////////////////////////////////////////
|
|
92
|
+
//
|
|
93
|
+
///////////////////////////////////////////////////////////////////////////////
|
|
94
|
+
///////////////////////////////////////////////////////////////////////////////
|
|
96
95
|
// Log a warning if cache is disabled via environment variable, but only once to avoid spamming the console
|
|
97
96
|
if (process.env.OPENAI_CACHE === "disabled" && this.disabledCacheWarningLogged === false) {
|
|
98
97
|
if (this._verboseLevel > 0) {
|
|
@@ -100,6 +99,16 @@ export default class OpenAICache {
|
|
|
100
99
|
}
|
|
101
100
|
this.disabledCacheWarningLogged = true;
|
|
102
101
|
}
|
|
102
|
+
///////////////////////////////////////////////////////////////////////////////
|
|
103
|
+
///////////////////////////////////////////////////////////////////////////////
|
|
104
|
+
//
|
|
105
|
+
///////////////////////////////////////////////////////////////////////////////
|
|
106
|
+
///////////////////////////////////////////////////////////////////////////////
|
|
107
|
+
// Build cache key and file path
|
|
108
|
+
const cacheKey = Crypto.createHash("sha256")
|
|
109
|
+
.update(`${method}:${url}:${bodyForHash}`)
|
|
110
|
+
.digest("hex");
|
|
111
|
+
// console.log("cacheKey", cacheKey, bodyForHash);
|
|
103
112
|
const cachedValue = await this._cache.get(cacheKey);
|
|
104
113
|
if (cachedValue !== undefined && process.env.OPENAI_CACHE !== "disabled") {
|
|
105
114
|
const bodyEncoding = cachedValue.bodyEncoding ?? "utf8";
|
|
@@ -109,10 +118,15 @@ export default class OpenAICache {
|
|
|
109
118
|
if (this._verboseLevel > 1) {
|
|
110
119
|
console.log(Chalk.green(`Cache hit for streamed ${method} ${url}`));
|
|
111
120
|
}
|
|
112
|
-
|
|
121
|
+
const newResponse = new Response(cachedBodyBuffer, {
|
|
113
122
|
status: cachedValue.status,
|
|
114
123
|
headers: cachedValue.headers,
|
|
115
124
|
});
|
|
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
|
+
return newResponse;
|
|
116
130
|
}
|
|
117
131
|
if (this._verboseLevel > 1) {
|
|
118
132
|
console.log(Chalk.green(`Cache hit for non-streamed ${method} ${url}`));
|
|
@@ -125,6 +139,9 @@ export default class OpenAICache {
|
|
|
125
139
|
// honor this._markResponseEnabled option to indicate cache hit
|
|
126
140
|
const contentTypeIsJson = newResponse.headers.get("content-type")?.includes("application/json") ? true : false;
|
|
127
141
|
if (this._markResponseEnabled && contentTypeIsJson) {
|
|
142
|
+
newResponse.headers.set(OpenAICache.MarkResponseName, "true");
|
|
143
|
+
console.log(Chalk.blue(`Marking cached response with header`), Array.from(newResponse.headers.entries()));
|
|
144
|
+
// TODO remove the 'MARKER in body json'
|
|
128
145
|
try {
|
|
129
146
|
// decode JSON from cachedBodyBuffer
|
|
130
147
|
const bodyJson = JSON.parse(cachedBodyBuffer.toString());
|
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,gBAAgB,GAAG,qBAAqB,CAAC;IAEhE;;;;;;;OAOG;IACH,YAAY,KAAiB,EAAE,EAC9B,mBAAmB,GAAG,KAAK,EAC3B,YAAY,GAAG,CAAC,MAIb,EAAE;QACL,IAAI,CAAC,MAAM,GAAG,KAAK,IAAI,IAAI,SAAS,EAAE,CAAC;QACvC,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;QAChD,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACnC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,UAAU;QACtB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED;;;;;;;;OAQG;IACI,UAAU;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,MAAM,CAAC,KAAiB,EAAE,IAAgB;QACvD,qDAAqD;QACrD,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,YAAY,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACxG,wBAAwB;QACxB,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAErD,
|
|
1
|
+
{"version":3,"file":"openai_cache.js","sourceRoot":"","sources":["../src/openai_cache.ts"],"names":[],"mappings":"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"}
|