supercompat 3.15.3 → 3.15.5
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.cjs +569 -171
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +569 -170
- package/dist/index.js.map +1 -1
- package/dist/supercompat.cjs +11 -1
- package/dist/supercompat.cjs.map +1 -1
- package/dist/supercompat.js +11 -1
- package/dist/supercompat.js.map +1 -1
- package/package.json +1 -1
package/dist/supercompat.cjs
CHANGED
|
@@ -340,12 +340,18 @@ var requestHandlers = function(param) {
|
|
|
340
340
|
var findRequestHandler = function(param) {
|
|
341
341
|
var url = param.url, requestHandlers2 = param.requestHandlers;
|
|
342
342
|
var pathname = new URL(url).pathname;
|
|
343
|
+
console.log("[findRequestHandler] Looking for handler for pathname:", pathname);
|
|
344
|
+
console.log("[findRequestHandler] Available patterns:", Object.keys(requestHandlers2));
|
|
343
345
|
for(var key in requestHandlers2){
|
|
344
346
|
var regex = new RegExp(key);
|
|
345
|
-
|
|
347
|
+
var matches = regex.test(pathname);
|
|
348
|
+
console.log("[findRequestHandler] Testing pattern:", key, "- Matches:", matches);
|
|
349
|
+
if (matches) {
|
|
350
|
+
console.log("[findRequestHandler] Found handler!");
|
|
346
351
|
return requestHandlers2[key];
|
|
347
352
|
}
|
|
348
353
|
}
|
|
354
|
+
console.log("[findRequestHandler] No handler found for pathname:", pathname);
|
|
349
355
|
};
|
|
350
356
|
// src/supercompatFetch/originalFetch.ts
|
|
351
357
|
var originalFetch = function(param) {
|
|
@@ -408,11 +414,13 @@ var supercompatFetch = function(param) {
|
|
|
408
414
|
var _ref, _args, url, options, pathHandler, method, requestHandler;
|
|
409
415
|
return _ts_generator(this, function(_state) {
|
|
410
416
|
_args = _sliced_to_array(args, 2), url = _args[0], options = _args[1];
|
|
417
|
+
console.log("[supercompatFetch] Request:", (options === null || options === void 0 ? void 0 : options.method) || "GET", url);
|
|
411
418
|
pathHandler = findRequestHandler({
|
|
412
419
|
url: url,
|
|
413
420
|
requestHandlers: requestHandlers2
|
|
414
421
|
});
|
|
415
422
|
if (!pathHandler) {
|
|
423
|
+
console.log("[supercompatFetch] No handler found, using originalFetch");
|
|
416
424
|
return [
|
|
417
425
|
2,
|
|
418
426
|
originalFetch({
|
|
@@ -424,6 +432,7 @@ var supercompatFetch = function(param) {
|
|
|
424
432
|
method = (_ref = options === null || options === void 0 ? void 0 : options.method) !== null && _ref !== void 0 ? _ref : "";
|
|
425
433
|
requestHandler = pathHandler[method.toLowerCase()];
|
|
426
434
|
if (!requestHandler) {
|
|
435
|
+
console.log("[supercompatFetch] Handler found but no method handler, using originalFetch");
|
|
427
436
|
return [
|
|
428
437
|
2,
|
|
429
438
|
originalFetch({
|
|
@@ -432,6 +441,7 @@ var supercompatFetch = function(param) {
|
|
|
432
441
|
})
|
|
433
442
|
];
|
|
434
443
|
}
|
|
444
|
+
console.log("[supercompatFetch] Handler found, calling it");
|
|
435
445
|
return [
|
|
436
446
|
2,
|
|
437
447
|
requestHandler.apply(void 0, _to_consumable_array(args))
|
package/dist/supercompat.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/domas/Developer/supercorp/supercompat/packages/supercompat/dist/supercompat.cjs","../src/supercompat.ts","../src/supercompatFetch/requestHandlers.ts","../src/supercompatFetch/findRequestHandler.ts","../src/supercompatFetch/originalFetch.ts","../src/supercompatFetch/index.ts","../src/lib/azureOpenai/endpointFromBaseUrl.ts"],"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","supercompat_exports","supercompat","module","exports","import_openai","require","import_radash","storageRequestHandlers","storage","runAdapter","client","wrappedClient","result","handleRun","partob","originalClient","requestHandlers","assign","findRequestHandler","url","pathname","URL","regex","RegExp","test","originalFetch","args","options","clientHeaders","newOptions","fetch","buildHeaders","method","toLowerCase","bodyHeaders","headers","retryCount","set","apiKey","supercompatFetch","pathHandler","requestHandler","endpointFromBaseUrl","baseURL","replace","type","AzureOpenAI","apiVersion","endpoint","OpenAI"],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAIA,WAAWC,OAAOC,MAAM;AAC5B,IAAIC,YAAYF,OAAOG,cAAc;AACrC,IAAIC,mBAAmBJ,OAAOK,wBAAwB;AACtD,IAAIC,oBAAoBN,OAAOO,mBAAmB;AAClD,IAAIC,eAAeR,OAAOS,cAAc;AACxC,IAAIC,eAAeV,OAAOW,SAAS,CAACC,cAAc;AAClD,IAAIC,WAAW,SAACC,QAAQC;IACtB,IAAK,IAAIC,QAAQD,IACfb,UAAUY,QAAQE,MAAM;QAAEC,KAAKF,GAAG,CAACC,KAAK;QAAEE,YAAY;IAAK;AAC/D;AACA,IAAIC,cAAc,SAACC,IAAIC,MAAMC,QAAQC;IACnC,IAAIF,QAAQ,CAAA,OAAOA,qCAAP,SAAOA,KAAG,MAAM,YAAY,OAAOA,SAAS,YAAY;YAC7D,kCAAA,2BAAA;;;gBAAA,IAAIG,MAAJ;gBACH,IAAI,CAACd,aAAae,IAAI,CAACL,IAAII,QAAQA,QAAQF,QACzCpB,UAAUkB,IAAII,KAAK;oBAAEP,KAAK;+BAAMI,IAAI,CAACG,IAAI;;oBAAEN,YAAY,CAAEK,CAAAA,OAAOnB,iBAAiBiB,MAAMG,IAAG,KAAMD,KAAKL,UAAU;gBAAC;;YAFpH,QAAK,YAAWZ,kBAAkBe,0BAA7B,SAAA,6BAAA,QAAA,yBAAA;;YAAA;YAAA;;;qBAAA,6BAAA;oBAAA;;;oBAAA;0BAAA;;;;IAGP;IACA,OAAOD;AACT;AACA,IAAIM,UAAU,SAACC,KAAKC,YAAYd;WAAYA,SAASa,OAAO,OAAO5B,SAASS,aAAamB,QAAQ,CAAC,GAAGR,YACnG,sEAAsE;IACtE,iEAAiE;IACjE,sEAAsE;IACtE,qEAAqE;IACrES,cAAc,CAACD,OAAO,CAACA,IAAIE,UAAU,GAAG3B,UAAUY,QAAQ,WAAW;QAAEgB,OAAOH;QAAKT,YAAY;IAAK,KAAKJ,QACzGa;;AAEF,IAAII,eAAe,SAACJ;WAAQR,YAAYjB,UAAU,CAAC,GAAG,cAAc;QAAE4B,OAAO;IAAK,IAAIH;;AAEtF,qBAAqB;AC7BrB,IAAAK,sBAAA,CAAA;AAAAnB,SAAAmB,qBAAA;IAAAC,aAAA;eAAAA;;AAAA;AAAAC,OAAAC,OAAA,GAAAJ,aAAAC;AAAA,IAAAI,gBAAoCV,QAAAW,QAAA,WAAA;ADqCpC,0CAA0C;AErC1C,IAAAC,gBAA+BD,QAAA;AAI/B,IAAME,yBAAyB;QAC7BC,gBAAAA,SACAC,mBAAAA,YACAC,eAAAA;IAMA,IAAI,CAACF,SAAS,OAAO,CAAC;IACtB,IAAI,CAACC,YAAY,OAAO,CAAC;IAEzB,IAAME,gBAAgBV,YAAY;QAChCS,QAAAA;IACF;IAEA,IAAME,SAASJ,QAAQ;QACrBC,YAAY,wCACPA;YACHI,WAAA,CAAA,GAAWP,cAAAQ,MAAA,EAAOL,WAAWI,SAAA,EAAW;gBAAEH,QAAQC;YAAc;;QAElED,QAAQC;QACRI,gBAAgBL;IAClB;IACA,OAAOE,OAAOI,eAAA;AAChB;AAEO,IAAMA,kBAAkB;QAC7BN,eAAAA,QACAF,gBAAAA,SACAC,mBAAAA;WACF,CAAA,GAKEH,cAAAW,MAAA,EACEP,OAAOM,eAAA,EACPT,uBAAuB;QACrBC,SAAAA;QACAC,YAAAA;QACAC,QAAAA;IACF;;AF0BJ,6CAA6C;AGxEtC,IAAMQ,qBAAqB;QAChCC,YAAAA,KACAH,yBAAAA;IAKA,IAAMI,WAAW,IAAIC,IAAIF,KAAKC,QAAA;IAE9B,IAAA,IAAW5B,OAAOwB,iBAAiB;QACjC,IAAMM,QAAQ,IAAIC,OAAO/B;QAEzB,IAAI8B,MAAME,IAAA,CAAKJ,WAAW;YACxB,OAAOJ,gBAAAA,CAAgBxB,IAAG;QAC5B;IACF;AACF;AHsEA,wCAAwC;AItFjC,IAAMiC,gBAAgB;QAC3BC,aAAAA,MACAhB,eAAAA;;YAKIA,gBACqBgB,OAAhBP,KAAKQ,SAENC,eASAC;;;;2BAZJnB,iBAAAA,OAAOA,MAAA,cAAPA,qCAAAA,eAAeoB,KAAA;;;;oBACMJ,yBAAAA,UAAhBP,MAAgBO,UAAXC,UAAWD;oBAED;;wBAAMhB,OAAOA,MAAA,CAAOqB,YAAA,CAAa;4BACrDJ,SAAS,CAAC;4BACVK,QAAQN,IAAA,CAAK,EAAC,CAAEM,MAAA,CAAOC,WAAA;4BACvBC,aAAaR,IAAA,CAAK,EAAC,CAAES,OAAA;4BACrBC,YAAY;wBACd;;;oBALMR,gBAAgB;oBAOtBA,cAAcS,GAAA,CAAI,iBAAiB,UAA8B,OAApB3B,OAAOA,MAAA,CAAO4B,MAAM;oBAE3DT,aAAa,wCACdF;wBACHQ,SAASP;;oBAGX;;wBAAOlB,OAAOA,MAAA,CAAOoB,KAAA,CAAMX,KAAKU;;;oBAGhC;;wBAAOC,YAAAA,KAAAA,GAAM,qBAAGJ;;;;;;;;IAEpB;;AJiFA,gCAAgC;AKnGzB,IAAMa,mBAAmB;QAC9B7B,eAAAA,QACAF,gBAAAA,SACAC,mBAAAA;IAEA,IAAMO,mBAAkBA,gBAAmB;QACzCN,QAAAA;QACAF,SAAAA;QACAC,YAAAA;IACF;IAEA,OAAO;yCAAUiB;YAAAA;;;sBACQA,OAAhBP,KAAKQ,SAENa,aAYAR,QAEAS;;gBAhBiBf,yBAAAA,UAAhBP,MAAgBO,UAAXC,UAAWD;gBAEjBc,cAActB,mBAAmB;oBACrCC,KAAAA;oBACAH,iBAAAA;gBACF;gBAEA,IAAI,CAACwB,aAAa;oBAChB;;wBAAOf,cAAc;4BACnBf,QAAAA;4BACAgB,MAAAA;wBACF;;gBACF;gBAEMM,iBAASL,oBAAAA,8BAAAA,QAASK,MAAA,uCAAU;gBAE5BS,iBAAiBD,WAAA,CAAYR,OAAOC,WAAA,GAAa;gBAEvD,IAAI,CAACQ,gBAAgB;oBACnB;;wBAAOhB,cAAc;4BACnBf,QAAAA;4BACAgB,MAAAA;wBACF;;gBACF;gBAEA;;oBAAOe,qBAAAA,KAAAA,GAAe,qBAAGf;;;QAC3B;;AACF;AL+FA,6CAA6C;AMjJtC,IAAMgB,sBAAsB;QACjCC,gBAAAA;WAIAA,QAAQC,OAAA,CAAQ,cAAc;;ANiJhC,qBAAqB;AClJd,IAAM3C,cAAc;QACzBS,eAAAA,QACAF,gBAAAA,SACAC,mBAAAA;IAEA,IAAIC,OAAOmC,IAAA,KAAS,gBAAgB;QAClC,OAAO,IAAIzC,cAAA0C,WAAA,CAAY;YACrBR,QAAQ5B,OAAOA,MAAA,CAAO4B,MAAA;YACtBS,YAAYrC,OAAOA,MAAA,CAAOqC,UAAA;YAC1BC,UAAUN,oBAAoB;gBAAEC,SAASjC,OAAOA,MAAA,CAAOiC,OAAA;YAAQ;YAC/Db,OAAOS,iBAAiB;gBACtB7B,QAAAA;gBACAF,SAAAA;gBACAC,YAAAA;YACF;QACF;IACF;IAEA,OAAO,IAAIL,cAAA6C,OAAAA,CAAO;QAChBX,QAAQ;QACRR,OAAOS,iBAAiB;YACtB7B,QAAAA;YACAF,SAAAA;YACAC,YAAAA;QACF;IACF;AACF;ADmJA,6DAA6D;AAC7D,KAAMP,CAAAA,OAAOC,OAAO,GAAG;IACrBF,aAAAA;AACF,CAAA","sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/supercompat.ts\nvar supercompat_exports = {};\n__export(supercompat_exports, {\n supercompat: () => supercompat\n});\nmodule.exports = __toCommonJS(supercompat_exports);\nvar import_openai = __toESM(require(\"openai\"), 1);\n\n// src/supercompatFetch/requestHandlers.ts\nvar import_radash = require(\"radash\");\nvar storageRequestHandlers = ({\n storage,\n runAdapter,\n client\n}) => {\n if (!storage) return {};\n if (!runAdapter) return {};\n const wrappedClient = supercompat({\n client\n });\n const result = storage({\n runAdapter: {\n ...runAdapter,\n handleRun: (0, import_radash.partob)(runAdapter.handleRun, { client: wrappedClient })\n },\n client: wrappedClient,\n originalClient: client\n });\n return result.requestHandlers;\n};\nvar requestHandlers = ({\n client,\n storage,\n runAdapter\n}) => (0, import_radash.assign)(\n client.requestHandlers,\n storageRequestHandlers({\n storage,\n runAdapter,\n client\n })\n);\n\n// src/supercompatFetch/findRequestHandler.ts\nvar findRequestHandler = ({\n url,\n requestHandlers: requestHandlers2\n}) => {\n const pathname = new URL(url).pathname;\n for (const key in requestHandlers2) {\n const regex = new RegExp(key);\n if (regex.test(pathname)) {\n return requestHandlers2[key];\n }\n }\n};\n\n// src/supercompatFetch/originalFetch.ts\nvar originalFetch = async ({\n args,\n client\n}) => {\n if (client.client?.fetch) {\n const [url, options] = args;\n const clientHeaders = await client.client.buildHeaders({\n options: {},\n method: args[1].method.toLowerCase(),\n bodyHeaders: args[1].headers,\n retryCount: 0\n });\n clientHeaders.set(\"Authorization\", `Bearer ${client.client.apiKey}`);\n const newOptions = {\n ...options,\n headers: clientHeaders\n };\n return client.client.fetch(url, newOptions);\n } else {\n return fetch(...args);\n }\n};\n\n// src/supercompatFetch/index.ts\nvar supercompatFetch = ({\n client,\n storage,\n runAdapter\n}) => {\n const requestHandlers2 = requestHandlers({\n client,\n storage,\n runAdapter\n });\n return async (...args) => {\n const [url, options] = args;\n const pathHandler = findRequestHandler({\n url,\n requestHandlers: requestHandlers2\n });\n if (!pathHandler) {\n return originalFetch({\n client,\n args\n });\n }\n const method = options?.method ?? \"\";\n const requestHandler = pathHandler[method.toLowerCase()];\n if (!requestHandler) {\n return originalFetch({\n client,\n args\n });\n }\n return requestHandler(...args);\n };\n};\n\n// src/lib/azureOpenai/endpointFromBaseUrl.ts\nvar endpointFromBaseUrl = ({\n baseURL\n}) => baseURL.replace(/\\/+openai$/, \"\");\n\n// src/supercompat.ts\nvar supercompat = ({\n client,\n storage,\n runAdapter\n}) => {\n if (client.type === \"AZURE_OPENAI\") {\n return new import_openai.AzureOpenAI({\n apiKey: client.client.apiKey,\n apiVersion: client.client.apiVersion,\n endpoint: endpointFromBaseUrl({ baseURL: client.client.baseURL }),\n fetch: supercompatFetch({\n client,\n storage,\n runAdapter\n })\n });\n }\n return new import_openai.default({\n apiKey: \"SUPERCOMPAT_PLACEHOLDER_OPENAI_KEY\",\n fetch: supercompatFetch({\n client,\n storage,\n runAdapter\n })\n });\n};\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n supercompat\n});\n","import OpenAI, { AzureOpenAI } from 'openai'\nimport { supercompatFetch, type Args } from './supercompatFetch'\nimport { endpointFromBaseUrl } from '@/lib/azureOpenai/endpointFromBaseUrl'\n\nexport const supercompat = ({\n client,\n storage,\n runAdapter,\n}: Args) => {\n if (client.type === 'AZURE_OPENAI') {\n return new AzureOpenAI({\n apiKey: client.client.apiKey,\n apiVersion: client.client.apiVersion,\n endpoint: endpointFromBaseUrl({ baseURL: client.client.baseURL }),\n fetch: supercompatFetch({\n client,\n storage,\n runAdapter,\n }),\n })\n }\n\n return new OpenAI({\n apiKey: 'SUPERCOMPAT_PLACEHOLDER_OPENAI_KEY',\n fetch: supercompatFetch({\n client,\n storage,\n runAdapter,\n }),\n })\n}\n","import { assign, partob } from 'radash'\nimport { RunAdapter, StorageAdapterArgs } from '@/types'\nimport { supercompat } from '@/supercompat'\n\nconst storageRequestHandlers = ({\n storage,\n runAdapter,\n client,\n}: {\n storage?: (arg0: StorageAdapterArgs) => any\n runAdapter?: RunAdapter\n client: any\n}) => {\n if (!storage) return {}\n if (!runAdapter) return {}\n\n const wrappedClient = supercompat({\n client,\n })\n\n const result = storage({\n runAdapter: {\n ...runAdapter,\n handleRun: partob(runAdapter.handleRun, { client: wrappedClient }),\n },\n client: wrappedClient,\n originalClient: client,\n })\n return result.requestHandlers\n}\n\nexport const requestHandlers = ({\n client,\n storage,\n runAdapter,\n}: {\n client: any\n storage?: (arg0: StorageAdapterArgs) => any\n runAdapter?: RunAdapter\n}) => (\n assign(\n client.requestHandlers,\n storageRequestHandlers({\n storage,\n runAdapter,\n client,\n })\n )\n)\n","export const findRequestHandler = ({\n url,\n requestHandlers,\n}: {\n url: string\n requestHandlers: any\n}) => {\n const pathname = new URL(url).pathname\n\n for (const key in requestHandlers) {\n const regex = new RegExp(key)\n\n if (regex.test(pathname)) {\n return requestHandlers[key]\n }\n }\n}\n","export const originalFetch = async ({\n args,\n client,\n}: {\n args: any[]\n client: any\n}) => {\n if (client.client?.fetch) {\n const [url, options] = args\n\n const clientHeaders = await client.client.buildHeaders({\n options: {},\n method: args[1].method.toLowerCase(),\n bodyHeaders: args[1].headers,\n retryCount: 0,\n })\n\n clientHeaders.set('Authorization', `Bearer ${client.client.apiKey}`)\n\n const newOptions = {\n ...options,\n headers: clientHeaders,\n }\n\n return client.client.fetch(url, newOptions)\n } else {\n // @ts-ignore-next-line\n return fetch(...args)\n }\n}\n","import { RunAdapter, StorageAdapterArgs } from '@/types'\nimport { requestHandlers as getRequestHandlers } from './requestHandlers'\nimport { findRequestHandler } from './findRequestHandler'\nimport { originalFetch } from './originalFetch'\n\nexport type Args = {\n client: any\n storage?: (arg0: StorageAdapterArgs) => any\n runAdapter?: RunAdapter\n}\n\nexport const supercompatFetch = ({\n client,\n storage,\n runAdapter,\n}: Args) => {\n const requestHandlers = getRequestHandlers({\n client,\n storage,\n runAdapter,\n })\n\n return async (...args: any[]) => {\n const [url, options] = args\n\n const pathHandler = findRequestHandler({\n url,\n requestHandlers,\n })\n\n if (!pathHandler) {\n return originalFetch({\n client,\n args,\n })\n }\n\n const method = options?.method ?? ''\n\n const requestHandler = pathHandler[method.toLowerCase()]\n\n if (!requestHandler) {\n return originalFetch({\n client,\n args,\n })\n }\n\n return requestHandler(...args)\n }\n}\n","export const endpointFromBaseUrl = ({\n baseURL\n}: {\n baseURL: string\n}) => (\n baseURL.replace(/\\/+openai$/, '')\n)\n"]}
|
|
1
|
+
{"version":3,"sources":["/Users/domas/Developer/supercorp/supercompat/packages/supercompat/dist/supercompat.cjs","../src/supercompat.ts","../src/supercompatFetch/requestHandlers.ts","../src/supercompatFetch/findRequestHandler.ts","../src/supercompatFetch/originalFetch.ts","../src/supercompatFetch/index.ts","../src/lib/azureOpenai/endpointFromBaseUrl.ts"],"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","supercompat_exports","supercompat","module","exports","import_openai","require","import_radash","storageRequestHandlers","storage","runAdapter","client","wrappedClient","result","handleRun","partob","originalClient","requestHandlers","assign","findRequestHandler","url","pathname","URL","console","log","keys","regex","RegExp","matches","test","originalFetch","args","options","clientHeaders","newOptions","fetch","buildHeaders","method","toLowerCase","bodyHeaders","headers","retryCount","set","apiKey","supercompatFetch","pathHandler","requestHandler","endpointFromBaseUrl","baseURL","replace","type","AzureOpenAI","apiVersion","endpoint","OpenAI"],"mappings":"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","sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/supercompat.ts\nvar supercompat_exports = {};\n__export(supercompat_exports, {\n supercompat: () => supercompat\n});\nmodule.exports = __toCommonJS(supercompat_exports);\nvar import_openai = __toESM(require(\"openai\"), 1);\n\n// src/supercompatFetch/requestHandlers.ts\nvar import_radash = require(\"radash\");\nvar storageRequestHandlers = ({\n storage,\n runAdapter,\n client\n}) => {\n if (!storage) return {};\n if (!runAdapter) return {};\n const wrappedClient = supercompat({\n client\n });\n const result = storage({\n runAdapter: {\n ...runAdapter,\n handleRun: (0, import_radash.partob)(runAdapter.handleRun, { client: wrappedClient })\n },\n client: wrappedClient,\n originalClient: client\n });\n return result.requestHandlers;\n};\nvar requestHandlers = ({\n client,\n storage,\n runAdapter\n}) => (0, import_radash.assign)(\n client.requestHandlers,\n storageRequestHandlers({\n storage,\n runAdapter,\n client\n })\n);\n\n// src/supercompatFetch/findRequestHandler.ts\nvar findRequestHandler = ({\n url,\n requestHandlers: requestHandlers2\n}) => {\n const pathname = new URL(url).pathname;\n console.log(\"[findRequestHandler] Looking for handler for pathname:\", pathname);\n console.log(\"[findRequestHandler] Available patterns:\", Object.keys(requestHandlers2));\n for (const key in requestHandlers2) {\n const regex = new RegExp(key);\n const matches = regex.test(pathname);\n console.log(\"[findRequestHandler] Testing pattern:\", key, \"- Matches:\", matches);\n if (matches) {\n console.log(\"[findRequestHandler] Found handler!\");\n return requestHandlers2[key];\n }\n }\n console.log(\"[findRequestHandler] No handler found for pathname:\", pathname);\n};\n\n// src/supercompatFetch/originalFetch.ts\nvar originalFetch = async ({\n args,\n client\n}) => {\n if (client.client?.fetch) {\n const [url, options] = args;\n const clientHeaders = await client.client.buildHeaders({\n options: {},\n method: args[1].method.toLowerCase(),\n bodyHeaders: args[1].headers,\n retryCount: 0\n });\n clientHeaders.set(\"Authorization\", `Bearer ${client.client.apiKey}`);\n const newOptions = {\n ...options,\n headers: clientHeaders\n };\n return client.client.fetch(url, newOptions);\n } else {\n return fetch(...args);\n }\n};\n\n// src/supercompatFetch/index.ts\nvar supercompatFetch = ({\n client,\n storage,\n runAdapter\n}) => {\n const requestHandlers2 = requestHandlers({\n client,\n storage,\n runAdapter\n });\n return async (...args) => {\n const [url, options] = args;\n console.log(\"[supercompatFetch] Request:\", options?.method || \"GET\", url);\n const pathHandler = findRequestHandler({\n url,\n requestHandlers: requestHandlers2\n });\n if (!pathHandler) {\n console.log(\"[supercompatFetch] No handler found, using originalFetch\");\n return originalFetch({\n client,\n args\n });\n }\n const method = options?.method ?? \"\";\n const requestHandler = pathHandler[method.toLowerCase()];\n if (!requestHandler) {\n console.log(\"[supercompatFetch] Handler found but no method handler, using originalFetch\");\n return originalFetch({\n client,\n args\n });\n }\n console.log(\"[supercompatFetch] Handler found, calling it\");\n return requestHandler(...args);\n };\n};\n\n// src/lib/azureOpenai/endpointFromBaseUrl.ts\nvar endpointFromBaseUrl = ({\n baseURL\n}) => baseURL.replace(/\\/+openai$/, \"\");\n\n// src/supercompat.ts\nvar supercompat = ({\n client,\n storage,\n runAdapter\n}) => {\n if (client.type === \"AZURE_OPENAI\") {\n return new import_openai.AzureOpenAI({\n apiKey: client.client.apiKey,\n apiVersion: client.client.apiVersion,\n endpoint: endpointFromBaseUrl({ baseURL: client.client.baseURL }),\n fetch: supercompatFetch({\n client,\n storage,\n runAdapter\n })\n });\n }\n return new import_openai.default({\n apiKey: \"SUPERCOMPAT_PLACEHOLDER_OPENAI_KEY\",\n fetch: supercompatFetch({\n client,\n storage,\n runAdapter\n })\n });\n};\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n supercompat\n});\n","import OpenAI, { AzureOpenAI } from 'openai'\nimport { supercompatFetch, type Args } from './supercompatFetch'\nimport { endpointFromBaseUrl } from '@/lib/azureOpenai/endpointFromBaseUrl'\n\nexport const supercompat = ({\n client,\n storage,\n runAdapter,\n}: Args) => {\n if (client.type === 'AZURE_OPENAI') {\n return new AzureOpenAI({\n apiKey: client.client.apiKey,\n apiVersion: client.client.apiVersion,\n endpoint: endpointFromBaseUrl({ baseURL: client.client.baseURL }),\n fetch: supercompatFetch({\n client,\n storage,\n runAdapter,\n }),\n })\n }\n\n return new OpenAI({\n apiKey: 'SUPERCOMPAT_PLACEHOLDER_OPENAI_KEY',\n fetch: supercompatFetch({\n client,\n storage,\n runAdapter,\n }),\n })\n}\n","import { assign, partob } from 'radash'\nimport { RunAdapter, StorageAdapterArgs } from '@/types'\nimport { supercompat } from '@/supercompat'\n\nconst storageRequestHandlers = ({\n storage,\n runAdapter,\n client,\n}: {\n storage?: (arg0: StorageAdapterArgs) => any\n runAdapter?: RunAdapter\n client: any\n}) => {\n if (!storage) return {}\n if (!runAdapter) return {}\n\n const wrappedClient = supercompat({\n client,\n })\n\n const result = storage({\n runAdapter: {\n ...runAdapter,\n handleRun: partob(runAdapter.handleRun, { client: wrappedClient }),\n },\n client: wrappedClient,\n originalClient: client,\n })\n return result.requestHandlers\n}\n\nexport const requestHandlers = ({\n client,\n storage,\n runAdapter,\n}: {\n client: any\n storage?: (arg0: StorageAdapterArgs) => any\n runAdapter?: RunAdapter\n}) => (\n assign(\n client.requestHandlers,\n storageRequestHandlers({\n storage,\n runAdapter,\n client,\n })\n )\n)\n","export const findRequestHandler = ({\n url,\n requestHandlers,\n}: {\n url: string\n requestHandlers: any\n}) => {\n const pathname = new URL(url).pathname\n console.log('[findRequestHandler] Looking for handler for pathname:', pathname)\n console.log('[findRequestHandler] Available patterns:', Object.keys(requestHandlers))\n\n for (const key in requestHandlers) {\n const regex = new RegExp(key)\n const matches = regex.test(pathname)\n console.log('[findRequestHandler] Testing pattern:', key, '- Matches:', matches)\n\n if (matches) {\n console.log('[findRequestHandler] Found handler!')\n return requestHandlers[key]\n }\n }\n\n console.log('[findRequestHandler] No handler found for pathname:', pathname)\n}\n","export const originalFetch = async ({\n args,\n client,\n}: {\n args: any[]\n client: any\n}) => {\n if (client.client?.fetch) {\n const [url, options] = args\n\n const clientHeaders = await client.client.buildHeaders({\n options: {},\n method: args[1].method.toLowerCase(),\n bodyHeaders: args[1].headers,\n retryCount: 0,\n })\n\n clientHeaders.set('Authorization', `Bearer ${client.client.apiKey}`)\n\n const newOptions = {\n ...options,\n headers: clientHeaders,\n }\n\n return client.client.fetch(url, newOptions)\n } else {\n // @ts-ignore-next-line\n return fetch(...args)\n }\n}\n","import { RunAdapter, StorageAdapterArgs } from '@/types'\nimport { requestHandlers as getRequestHandlers } from './requestHandlers'\nimport { findRequestHandler } from './findRequestHandler'\nimport { originalFetch } from './originalFetch'\n\nexport type Args = {\n client: any\n storage?: (arg0: StorageAdapterArgs) => any\n runAdapter?: RunAdapter\n}\n\nexport const supercompatFetch = ({\n client,\n storage,\n runAdapter,\n}: Args) => {\n const requestHandlers = getRequestHandlers({\n client,\n storage,\n runAdapter,\n })\n\n return async (...args: any[]) => {\n const [url, options] = args\n\n // Debug: log all requests\n console.log('[supercompatFetch] Request:', options?.method || 'GET', url)\n\n const pathHandler = findRequestHandler({\n url,\n requestHandlers,\n })\n\n if (!pathHandler) {\n console.log('[supercompatFetch] No handler found, using originalFetch')\n return originalFetch({\n client,\n args,\n })\n }\n\n const method = options?.method ?? ''\n\n const requestHandler = pathHandler[method.toLowerCase()]\n\n if (!requestHandler) {\n console.log('[supercompatFetch] Handler found but no method handler, using originalFetch')\n return originalFetch({\n client,\n args,\n })\n }\n\n console.log('[supercompatFetch] Handler found, calling it')\n return requestHandler(...args)\n }\n}\n","export const endpointFromBaseUrl = ({\n baseURL\n}: {\n baseURL: string\n}) => (\n baseURL.replace(/\\/+openai$/, '')\n)\n"]}
|
package/dist/supercompat.js
CHANGED
|
@@ -270,12 +270,18 @@ var requestHandlers = function(param) {
|
|
|
270
270
|
var findRequestHandler = function(param) {
|
|
271
271
|
var url = param.url, requestHandlers2 = param.requestHandlers;
|
|
272
272
|
var pathname = new URL(url).pathname;
|
|
273
|
+
console.log("[findRequestHandler] Looking for handler for pathname:", pathname);
|
|
274
|
+
console.log("[findRequestHandler] Available patterns:", Object.keys(requestHandlers2));
|
|
273
275
|
for(var key in requestHandlers2){
|
|
274
276
|
var regex = new RegExp(key);
|
|
275
|
-
|
|
277
|
+
var matches = regex.test(pathname);
|
|
278
|
+
console.log("[findRequestHandler] Testing pattern:", key, "- Matches:", matches);
|
|
279
|
+
if (matches) {
|
|
280
|
+
console.log("[findRequestHandler] Found handler!");
|
|
276
281
|
return requestHandlers2[key];
|
|
277
282
|
}
|
|
278
283
|
}
|
|
284
|
+
console.log("[findRequestHandler] No handler found for pathname:", pathname);
|
|
279
285
|
};
|
|
280
286
|
// src/supercompatFetch/originalFetch.ts
|
|
281
287
|
var originalFetch = function(param) {
|
|
@@ -338,11 +344,13 @@ var supercompatFetch = function(param) {
|
|
|
338
344
|
var _ref, _args, url, options, pathHandler, method, requestHandler;
|
|
339
345
|
return _ts_generator(this, function(_state) {
|
|
340
346
|
_args = _sliced_to_array(args, 2), url = _args[0], options = _args[1];
|
|
347
|
+
console.log("[supercompatFetch] Request:", (options === null || options === void 0 ? void 0 : options.method) || "GET", url);
|
|
341
348
|
pathHandler = findRequestHandler({
|
|
342
349
|
url: url,
|
|
343
350
|
requestHandlers: requestHandlers2
|
|
344
351
|
});
|
|
345
352
|
if (!pathHandler) {
|
|
353
|
+
console.log("[supercompatFetch] No handler found, using originalFetch");
|
|
346
354
|
return [
|
|
347
355
|
2,
|
|
348
356
|
originalFetch({
|
|
@@ -354,6 +362,7 @@ var supercompatFetch = function(param) {
|
|
|
354
362
|
method = (_ref = options === null || options === void 0 ? void 0 : options.method) !== null && _ref !== void 0 ? _ref : "";
|
|
355
363
|
requestHandler = pathHandler[method.toLowerCase()];
|
|
356
364
|
if (!requestHandler) {
|
|
365
|
+
console.log("[supercompatFetch] Handler found but no method handler, using originalFetch");
|
|
357
366
|
return [
|
|
358
367
|
2,
|
|
359
368
|
originalFetch({
|
|
@@ -362,6 +371,7 @@ var supercompatFetch = function(param) {
|
|
|
362
371
|
})
|
|
363
372
|
];
|
|
364
373
|
}
|
|
374
|
+
console.log("[supercompatFetch] Handler found, calling it");
|
|
365
375
|
return [
|
|
366
376
|
2,
|
|
367
377
|
requestHandler.apply(void 0, _to_consumable_array(args))
|
package/dist/supercompat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/domas/Developer/supercorp/supercompat/packages/supercompat/dist/supercompat.js","../src/supercompat.ts","../src/supercompatFetch/requestHandlers.ts","../src/supercompatFetch/findRequestHandler.ts","../src/supercompatFetch/originalFetch.ts","../src/supercompatFetch/index.ts","../src/lib/azureOpenai/endpointFromBaseUrl.ts"],"names":["OpenAI","AzureOpenAI","assign","partob","storageRequestHandlers","storage","runAdapter","client","wrappedClient","supercompat","result","handleRun","originalClient","requestHandlers","findRequestHandler","url","pathname","URL","key","regex","RegExp","test","originalFetch","args","options","clientHeaders","newOptions","fetch","buildHeaders","method","toLowerCase","bodyHeaders","headers","retryCount","set","apiKey","supercompatFetch","pathHandler","requestHandler","endpointFromBaseUrl","baseURL","replace","type","apiVersion","endpoint"],"mappings":"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","sourcesContent":["// src/supercompat.ts\nimport OpenAI, { AzureOpenAI } from \"openai\";\n\n// src/supercompatFetch/requestHandlers.ts\nimport { assign, partob } from \"radash\";\nvar storageRequestHandlers = ({\n storage,\n runAdapter,\n client\n}) => {\n if (!storage) return {};\n if (!runAdapter) return {};\n const wrappedClient = supercompat({\n client\n });\n const result = storage({\n runAdapter: {\n ...runAdapter,\n handleRun: partob(runAdapter.handleRun, { client: wrappedClient })\n },\n client: wrappedClient,\n originalClient: client\n });\n return result.requestHandlers;\n};\nvar requestHandlers = ({\n client,\n storage,\n runAdapter\n}) => assign(\n client.requestHandlers,\n storageRequestHandlers({\n storage,\n runAdapter,\n client\n })\n);\n\n// src/supercompatFetch/findRequestHandler.ts\nvar findRequestHandler = ({\n url,\n requestHandlers: requestHandlers2\n}) => {\n const pathname = new URL(url).pathname;\n for (const key in requestHandlers2) {\n const regex = new RegExp(key);\n if (regex.test(pathname)) {\n return requestHandlers2[key];\n }\n }\n};\n\n// src/supercompatFetch/originalFetch.ts\nvar originalFetch = async ({\n args,\n client\n}) => {\n if (client.client?.fetch) {\n const [url, options] = args;\n const clientHeaders = await client.client.buildHeaders({\n options: {},\n method: args[1].method.toLowerCase(),\n bodyHeaders: args[1].headers,\n retryCount: 0\n });\n clientHeaders.set(\"Authorization\", `Bearer ${client.client.apiKey}`);\n const newOptions = {\n ...options,\n headers: clientHeaders\n };\n return client.client.fetch(url, newOptions);\n } else {\n return fetch(...args);\n }\n};\n\n// src/supercompatFetch/index.ts\nvar supercompatFetch = ({\n client,\n storage,\n runAdapter\n}) => {\n const requestHandlers2 = requestHandlers({\n client,\n storage,\n runAdapter\n });\n return async (...args) => {\n const [url, options] = args;\n const pathHandler = findRequestHandler({\n url,\n requestHandlers: requestHandlers2\n });\n if (!pathHandler) {\n return originalFetch({\n client,\n args\n });\n }\n const method = options?.method ?? \"\";\n const requestHandler = pathHandler[method.toLowerCase()];\n if (!requestHandler) {\n return originalFetch({\n client,\n args\n });\n }\n return requestHandler(...args);\n };\n};\n\n// src/lib/azureOpenai/endpointFromBaseUrl.ts\nvar endpointFromBaseUrl = ({\n baseURL\n}) => baseURL.replace(/\\/+openai$/, \"\");\n\n// src/supercompat.ts\nvar supercompat = ({\n client,\n storage,\n runAdapter\n}) => {\n if (client.type === \"AZURE_OPENAI\") {\n return new AzureOpenAI({\n apiKey: client.client.apiKey,\n apiVersion: client.client.apiVersion,\n endpoint: endpointFromBaseUrl({ baseURL: client.client.baseURL }),\n fetch: supercompatFetch({\n client,\n storage,\n runAdapter\n })\n });\n }\n return new OpenAI({\n apiKey: \"SUPERCOMPAT_PLACEHOLDER_OPENAI_KEY\",\n fetch: supercompatFetch({\n client,\n storage,\n runAdapter\n })\n });\n};\nexport {\n supercompat\n};\n","import OpenAI, { AzureOpenAI } from 'openai'\nimport { supercompatFetch, type Args } from './supercompatFetch'\nimport { endpointFromBaseUrl } from '@/lib/azureOpenai/endpointFromBaseUrl'\n\nexport const supercompat = ({\n client,\n storage,\n runAdapter,\n}: Args) => {\n if (client.type === 'AZURE_OPENAI') {\n return new AzureOpenAI({\n apiKey: client.client.apiKey,\n apiVersion: client.client.apiVersion,\n endpoint: endpointFromBaseUrl({ baseURL: client.client.baseURL }),\n fetch: supercompatFetch({\n client,\n storage,\n runAdapter,\n }),\n })\n }\n\n return new OpenAI({\n apiKey: 'SUPERCOMPAT_PLACEHOLDER_OPENAI_KEY',\n fetch: supercompatFetch({\n client,\n storage,\n runAdapter,\n }),\n })\n}\n","import { assign, partob } from 'radash'\nimport { RunAdapter, StorageAdapterArgs } from '@/types'\nimport { supercompat } from '@/supercompat'\n\nconst storageRequestHandlers = ({\n storage,\n runAdapter,\n client,\n}: {\n storage?: (arg0: StorageAdapterArgs) => any\n runAdapter?: RunAdapter\n client: any\n}) => {\n if (!storage) return {}\n if (!runAdapter) return {}\n\n const wrappedClient = supercompat({\n client,\n })\n\n const result = storage({\n runAdapter: {\n ...runAdapter,\n handleRun: partob(runAdapter.handleRun, { client: wrappedClient }),\n },\n client: wrappedClient,\n originalClient: client,\n })\n return result.requestHandlers\n}\n\nexport const requestHandlers = ({\n client,\n storage,\n runAdapter,\n}: {\n client: any\n storage?: (arg0: StorageAdapterArgs) => any\n runAdapter?: RunAdapter\n}) => (\n assign(\n client.requestHandlers,\n storageRequestHandlers({\n storage,\n runAdapter,\n client,\n })\n )\n)\n","export const findRequestHandler = ({\n url,\n requestHandlers,\n}: {\n url: string\n requestHandlers: any\n}) => {\n const pathname = new URL(url).pathname\n\n for (const key in requestHandlers) {\n const regex = new RegExp(key)\n\n if (regex.test(pathname)) {\n return requestHandlers[key]\n }\n }\n}\n","export const originalFetch = async ({\n args,\n client,\n}: {\n args: any[]\n client: any\n}) => {\n if (client.client?.fetch) {\n const [url, options] = args\n\n const clientHeaders = await client.client.buildHeaders({\n options: {},\n method: args[1].method.toLowerCase(),\n bodyHeaders: args[1].headers,\n retryCount: 0,\n })\n\n clientHeaders.set('Authorization', `Bearer ${client.client.apiKey}`)\n\n const newOptions = {\n ...options,\n headers: clientHeaders,\n }\n\n return client.client.fetch(url, newOptions)\n } else {\n // @ts-ignore-next-line\n return fetch(...args)\n }\n}\n","import { RunAdapter, StorageAdapterArgs } from '@/types'\nimport { requestHandlers as getRequestHandlers } from './requestHandlers'\nimport { findRequestHandler } from './findRequestHandler'\nimport { originalFetch } from './originalFetch'\n\nexport type Args = {\n client: any\n storage?: (arg0: StorageAdapterArgs) => any\n runAdapter?: RunAdapter\n}\n\nexport const supercompatFetch = ({\n client,\n storage,\n runAdapter,\n}: Args) => {\n const requestHandlers = getRequestHandlers({\n client,\n storage,\n runAdapter,\n })\n\n return async (...args: any[]) => {\n const [url, options] = args\n\n const pathHandler = findRequestHandler({\n url,\n requestHandlers,\n })\n\n if (!pathHandler) {\n return originalFetch({\n client,\n args,\n })\n }\n\n const method = options?.method ?? ''\n\n const requestHandler = pathHandler[method.toLowerCase()]\n\n if (!requestHandler) {\n return originalFetch({\n client,\n args,\n })\n }\n\n return requestHandler(...args)\n }\n}\n","export const endpointFromBaseUrl = ({\n baseURL\n}: {\n baseURL: string\n}) => (\n baseURL.replace(/\\/+openai$/, '')\n)\n"]}
|
|
1
|
+
{"version":3,"sources":["/Users/domas/Developer/supercorp/supercompat/packages/supercompat/dist/supercompat.js","../src/supercompat.ts","../src/supercompatFetch/requestHandlers.ts","../src/supercompatFetch/findRequestHandler.ts","../src/supercompatFetch/originalFetch.ts","../src/supercompatFetch/index.ts","../src/lib/azureOpenai/endpointFromBaseUrl.ts"],"names":["OpenAI","AzureOpenAI","assign","partob","storageRequestHandlers","storage","runAdapter","client","wrappedClient","supercompat","result","handleRun","originalClient","requestHandlers","findRequestHandler","url","pathname","URL","console","log","Object","keys","key","regex","RegExp","matches","test","originalFetch","args","options","clientHeaders","newOptions","fetch","buildHeaders","method","toLowerCase","bodyHeaders","headers","retryCount","set","apiKey","supercompatFetch","pathHandler","requestHandler","endpointFromBaseUrl","baseURL","replace","type","apiVersion","endpoint"],"mappings":"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","sourcesContent":["// src/supercompat.ts\nimport OpenAI, { AzureOpenAI } from \"openai\";\n\n// src/supercompatFetch/requestHandlers.ts\nimport { assign, partob } from \"radash\";\nvar storageRequestHandlers = ({\n storage,\n runAdapter,\n client\n}) => {\n if (!storage) return {};\n if (!runAdapter) return {};\n const wrappedClient = supercompat({\n client\n });\n const result = storage({\n runAdapter: {\n ...runAdapter,\n handleRun: partob(runAdapter.handleRun, { client: wrappedClient })\n },\n client: wrappedClient,\n originalClient: client\n });\n return result.requestHandlers;\n};\nvar requestHandlers = ({\n client,\n storage,\n runAdapter\n}) => assign(\n client.requestHandlers,\n storageRequestHandlers({\n storage,\n runAdapter,\n client\n })\n);\n\n// src/supercompatFetch/findRequestHandler.ts\nvar findRequestHandler = ({\n url,\n requestHandlers: requestHandlers2\n}) => {\n const pathname = new URL(url).pathname;\n console.log(\"[findRequestHandler] Looking for handler for pathname:\", pathname);\n console.log(\"[findRequestHandler] Available patterns:\", Object.keys(requestHandlers2));\n for (const key in requestHandlers2) {\n const regex = new RegExp(key);\n const matches = regex.test(pathname);\n console.log(\"[findRequestHandler] Testing pattern:\", key, \"- Matches:\", matches);\n if (matches) {\n console.log(\"[findRequestHandler] Found handler!\");\n return requestHandlers2[key];\n }\n }\n console.log(\"[findRequestHandler] No handler found for pathname:\", pathname);\n};\n\n// src/supercompatFetch/originalFetch.ts\nvar originalFetch = async ({\n args,\n client\n}) => {\n if (client.client?.fetch) {\n const [url, options] = args;\n const clientHeaders = await client.client.buildHeaders({\n options: {},\n method: args[1].method.toLowerCase(),\n bodyHeaders: args[1].headers,\n retryCount: 0\n });\n clientHeaders.set(\"Authorization\", `Bearer ${client.client.apiKey}`);\n const newOptions = {\n ...options,\n headers: clientHeaders\n };\n return client.client.fetch(url, newOptions);\n } else {\n return fetch(...args);\n }\n};\n\n// src/supercompatFetch/index.ts\nvar supercompatFetch = ({\n client,\n storage,\n runAdapter\n}) => {\n const requestHandlers2 = requestHandlers({\n client,\n storage,\n runAdapter\n });\n return async (...args) => {\n const [url, options] = args;\n console.log(\"[supercompatFetch] Request:\", options?.method || \"GET\", url);\n const pathHandler = findRequestHandler({\n url,\n requestHandlers: requestHandlers2\n });\n if (!pathHandler) {\n console.log(\"[supercompatFetch] No handler found, using originalFetch\");\n return originalFetch({\n client,\n args\n });\n }\n const method = options?.method ?? \"\";\n const requestHandler = pathHandler[method.toLowerCase()];\n if (!requestHandler) {\n console.log(\"[supercompatFetch] Handler found but no method handler, using originalFetch\");\n return originalFetch({\n client,\n args\n });\n }\n console.log(\"[supercompatFetch] Handler found, calling it\");\n return requestHandler(...args);\n };\n};\n\n// src/lib/azureOpenai/endpointFromBaseUrl.ts\nvar endpointFromBaseUrl = ({\n baseURL\n}) => baseURL.replace(/\\/+openai$/, \"\");\n\n// src/supercompat.ts\nvar supercompat = ({\n client,\n storage,\n runAdapter\n}) => {\n if (client.type === \"AZURE_OPENAI\") {\n return new AzureOpenAI({\n apiKey: client.client.apiKey,\n apiVersion: client.client.apiVersion,\n endpoint: endpointFromBaseUrl({ baseURL: client.client.baseURL }),\n fetch: supercompatFetch({\n client,\n storage,\n runAdapter\n })\n });\n }\n return new OpenAI({\n apiKey: \"SUPERCOMPAT_PLACEHOLDER_OPENAI_KEY\",\n fetch: supercompatFetch({\n client,\n storage,\n runAdapter\n })\n });\n};\nexport {\n supercompat\n};\n","import OpenAI, { AzureOpenAI } from 'openai'\nimport { supercompatFetch, type Args } from './supercompatFetch'\nimport { endpointFromBaseUrl } from '@/lib/azureOpenai/endpointFromBaseUrl'\n\nexport const supercompat = ({\n client,\n storage,\n runAdapter,\n}: Args) => {\n if (client.type === 'AZURE_OPENAI') {\n return new AzureOpenAI({\n apiKey: client.client.apiKey,\n apiVersion: client.client.apiVersion,\n endpoint: endpointFromBaseUrl({ baseURL: client.client.baseURL }),\n fetch: supercompatFetch({\n client,\n storage,\n runAdapter,\n }),\n })\n }\n\n return new OpenAI({\n apiKey: 'SUPERCOMPAT_PLACEHOLDER_OPENAI_KEY',\n fetch: supercompatFetch({\n client,\n storage,\n runAdapter,\n }),\n })\n}\n","import { assign, partob } from 'radash'\nimport { RunAdapter, StorageAdapterArgs } from '@/types'\nimport { supercompat } from '@/supercompat'\n\nconst storageRequestHandlers = ({\n storage,\n runAdapter,\n client,\n}: {\n storage?: (arg0: StorageAdapterArgs) => any\n runAdapter?: RunAdapter\n client: any\n}) => {\n if (!storage) return {}\n if (!runAdapter) return {}\n\n const wrappedClient = supercompat({\n client,\n })\n\n const result = storage({\n runAdapter: {\n ...runAdapter,\n handleRun: partob(runAdapter.handleRun, { client: wrappedClient }),\n },\n client: wrappedClient,\n originalClient: client,\n })\n return result.requestHandlers\n}\n\nexport const requestHandlers = ({\n client,\n storage,\n runAdapter,\n}: {\n client: any\n storage?: (arg0: StorageAdapterArgs) => any\n runAdapter?: RunAdapter\n}) => (\n assign(\n client.requestHandlers,\n storageRequestHandlers({\n storage,\n runAdapter,\n client,\n })\n )\n)\n","export const findRequestHandler = ({\n url,\n requestHandlers,\n}: {\n url: string\n requestHandlers: any\n}) => {\n const pathname = new URL(url).pathname\n console.log('[findRequestHandler] Looking for handler for pathname:', pathname)\n console.log('[findRequestHandler] Available patterns:', Object.keys(requestHandlers))\n\n for (const key in requestHandlers) {\n const regex = new RegExp(key)\n const matches = regex.test(pathname)\n console.log('[findRequestHandler] Testing pattern:', key, '- Matches:', matches)\n\n if (matches) {\n console.log('[findRequestHandler] Found handler!')\n return requestHandlers[key]\n }\n }\n\n console.log('[findRequestHandler] No handler found for pathname:', pathname)\n}\n","export const originalFetch = async ({\n args,\n client,\n}: {\n args: any[]\n client: any\n}) => {\n if (client.client?.fetch) {\n const [url, options] = args\n\n const clientHeaders = await client.client.buildHeaders({\n options: {},\n method: args[1].method.toLowerCase(),\n bodyHeaders: args[1].headers,\n retryCount: 0,\n })\n\n clientHeaders.set('Authorization', `Bearer ${client.client.apiKey}`)\n\n const newOptions = {\n ...options,\n headers: clientHeaders,\n }\n\n return client.client.fetch(url, newOptions)\n } else {\n // @ts-ignore-next-line\n return fetch(...args)\n }\n}\n","import { RunAdapter, StorageAdapterArgs } from '@/types'\nimport { requestHandlers as getRequestHandlers } from './requestHandlers'\nimport { findRequestHandler } from './findRequestHandler'\nimport { originalFetch } from './originalFetch'\n\nexport type Args = {\n client: any\n storage?: (arg0: StorageAdapterArgs) => any\n runAdapter?: RunAdapter\n}\n\nexport const supercompatFetch = ({\n client,\n storage,\n runAdapter,\n}: Args) => {\n const requestHandlers = getRequestHandlers({\n client,\n storage,\n runAdapter,\n })\n\n return async (...args: any[]) => {\n const [url, options] = args\n\n // Debug: log all requests\n console.log('[supercompatFetch] Request:', options?.method || 'GET', url)\n\n const pathHandler = findRequestHandler({\n url,\n requestHandlers,\n })\n\n if (!pathHandler) {\n console.log('[supercompatFetch] No handler found, using originalFetch')\n return originalFetch({\n client,\n args,\n })\n }\n\n const method = options?.method ?? ''\n\n const requestHandler = pathHandler[method.toLowerCase()]\n\n if (!requestHandler) {\n console.log('[supercompatFetch] Handler found but no method handler, using originalFetch')\n return originalFetch({\n client,\n args,\n })\n }\n\n console.log('[supercompatFetch] Handler found, calling it')\n return requestHandler(...args)\n }\n}\n","export const endpointFromBaseUrl = ({\n baseURL\n}: {\n baseURL: string\n}) => (\n baseURL.replace(/\\/+openai$/, '')\n)\n"]}
|