supercompat 3.15.6 → 3.16.0
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 +1160 -115
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +15 -1
- package/dist/index.d.ts +15 -1
- package/dist/index.js +1136 -95
- package/dist/index.js.map +1 -1
- package/dist/supercompat.cjs +0 -9
- package/dist/supercompat.cjs.map +1 -1
- package/dist/supercompat.js +0 -9
- package/dist/supercompat.js.map +1 -1
- package/package.json +1 -1
package/dist/supercompat.cjs
CHANGED
|
@@ -340,18 +340,13 @@ 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));
|
|
345
343
|
for(var key in requestHandlers2){
|
|
346
344
|
var regex = new RegExp(key);
|
|
347
345
|
var matches = regex.test(pathname);
|
|
348
|
-
console.log("[findRequestHandler] Testing pattern:", key, "- Matches:", matches);
|
|
349
346
|
if (matches) {
|
|
350
|
-
console.log("[findRequestHandler] Found handler!");
|
|
351
347
|
return requestHandlers2[key];
|
|
352
348
|
}
|
|
353
349
|
}
|
|
354
|
-
console.log("[findRequestHandler] No handler found for pathname:", pathname);
|
|
355
350
|
};
|
|
356
351
|
// src/supercompatFetch/originalFetch.ts
|
|
357
352
|
var originalFetch = function(param) {
|
|
@@ -414,13 +409,11 @@ var supercompatFetch = function(param) {
|
|
|
414
409
|
var _ref, _args, url, options, pathHandler, method, requestHandler;
|
|
415
410
|
return _ts_generator(this, function(_state) {
|
|
416
411
|
_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);
|
|
418
412
|
pathHandler = findRequestHandler({
|
|
419
413
|
url: url,
|
|
420
414
|
requestHandlers: requestHandlers2
|
|
421
415
|
});
|
|
422
416
|
if (!pathHandler) {
|
|
423
|
-
console.log("[supercompatFetch] No handler found, using originalFetch");
|
|
424
417
|
return [
|
|
425
418
|
2,
|
|
426
419
|
originalFetch({
|
|
@@ -432,7 +425,6 @@ var supercompatFetch = function(param) {
|
|
|
432
425
|
method = (_ref = options === null || options === void 0 ? void 0 : options.method) !== null && _ref !== void 0 ? _ref : "";
|
|
433
426
|
requestHandler = pathHandler[method.toLowerCase()];
|
|
434
427
|
if (!requestHandler) {
|
|
435
|
-
console.log("[supercompatFetch] Handler found but no method handler, using originalFetch");
|
|
436
428
|
return [
|
|
437
429
|
2,
|
|
438
430
|
originalFetch({
|
|
@@ -441,7 +433,6 @@ var supercompatFetch = function(param) {
|
|
|
441
433
|
})
|
|
442
434
|
];
|
|
443
435
|
}
|
|
444
|
-
console.log("[supercompatFetch] Handler found, calling it");
|
|
445
436
|
return [
|
|
446
437
|
2,
|
|
447
438
|
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","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"]}
|
|
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","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":"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;QACzB,IAAMgC,UAAUF,MAAMG,IAAA,CAAKL;QAE3B,IAAII,SAAS;YACX,OAAOR,gBAAAA,CAAgBxB,IAAG;QAC5B;IACF;AACF;AHsEA,wCAAwC;AIvFjC,IAAMkC,gBAAgB;QAC3BC,aAAAA,MACAjB,eAAAA;;YAKIA,gBACqBiB,OAAhBR,KAAKS,SAENC,eASAC;;;;2BAZJpB,iBAAAA,OAAOA,MAAA,cAAPA,qCAAAA,eAAeqB,KAAA;;;;oBACMJ,yBAAAA,UAAhBR,MAAgBQ,UAAXC,UAAWD;oBAED;;wBAAMjB,OAAOA,MAAA,CAAOsB,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,OAApB5B,OAAOA,MAAA,CAAO6B,MAAM;oBAE3DT,aAAa,wCACdF;wBACHQ,SAASP;;oBAGX;;wBAAOnB,OAAOA,MAAA,CAAOqB,KAAA,CAAMZ,KAAKW;;;oBAGhC;;wBAAOC,YAAAA,KAAAA,GAAM,qBAAGJ;;;;;;;;IAEpB;;AJkFA,gCAAgC;AKpGzB,IAAMa,mBAAmB;QAC9B9B,eAAAA,QACAF,gBAAAA,SACAC,mBAAAA;IAEA,IAAMO,mBAAkBA,gBAAmB;QACzCN,QAAAA;QACAF,SAAAA;QACAC,YAAAA;IACF;IAEA,OAAO;yCAAUkB;YAAAA;;;sBACQA,OAAhBR,KAAKS,SAENa,aAYAR,QAEAS;;gBAhBiBf,yBAAAA,UAAhBR,MAAgBQ,UAAXC,UAAWD;gBAEjBc,cAAcvB,mBAAmB;oBACrCC,KAAAA;oBACAH,iBAAAA;gBACF;gBAEA,IAAI,CAACyB,aAAa;oBAChB;;wBAAOf,cAAc;4BACnBhB,QAAAA;4BACAiB,MAAAA;wBACF;;gBACF;gBAEMM,iBAASL,oBAAAA,8BAAAA,QAASK,MAAA,uCAAU;gBAE5BS,iBAAiBD,WAAA,CAAYR,OAAOC,WAAA,GAAa;gBAEvD,IAAI,CAACQ,gBAAgB;oBACnB;;wBAAOhB,cAAc;4BACnBhB,QAAAA;4BACAiB,MAAAA;wBACF;;gBACF;gBAEA;;oBAAOe,qBAAAA,KAAAA,GAAe,qBAAGf;;;QAC3B;;AACF;ALgGA,6CAA6C;AMlJtC,IAAMgB,sBAAsB;QACjCC,gBAAAA;WAIAA,QAAQC,OAAA,CAAQ,cAAc;;ANkJhC,qBAAqB;ACnJd,IAAM5C,cAAc;QACzBS,eAAAA,QACAF,gBAAAA,SACAC,mBAAAA;IAEA,IAAIC,OAAOoC,IAAA,KAAS,gBAAgB;QAClC,OAAO,IAAI1C,cAAA2C,WAAA,CAAY;YACrBR,QAAQ7B,OAAOA,MAAA,CAAO6B,MAAA;YACtBS,YAAYtC,OAAOA,MAAA,CAAOsC,UAAA;YAC1BC,UAAUN,oBAAoB;gBAAEC,SAASlC,OAAOA,MAAA,CAAOkC,OAAA;YAAQ;YAC/Db,OAAOS,iBAAiB;gBACtB9B,QAAAA;gBACAF,SAAAA;gBACAC,YAAAA;YACF;QACF;IACF;IAEA,OAAO,IAAIL,cAAA8C,OAAAA,CAAO;QAChBX,QAAQ;QACRR,OAAOS,iBAAiB;YACtB9B,QAAAA;YACAF,SAAAA;YACAC,YAAAA;QACF;IACF;AACF;ADoJA,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 const matches = regex.test(pathname);\n if (matches) {\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 const matches = regex.test(pathname)\n\n if (matches) {\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"]}
|
package/dist/supercompat.js
CHANGED
|
@@ -270,18 +270,13 @@ 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));
|
|
275
273
|
for(var key in requestHandlers2){
|
|
276
274
|
var regex = new RegExp(key);
|
|
277
275
|
var matches = regex.test(pathname);
|
|
278
|
-
console.log("[findRequestHandler] Testing pattern:", key, "- Matches:", matches);
|
|
279
276
|
if (matches) {
|
|
280
|
-
console.log("[findRequestHandler] Found handler!");
|
|
281
277
|
return requestHandlers2[key];
|
|
282
278
|
}
|
|
283
279
|
}
|
|
284
|
-
console.log("[findRequestHandler] No handler found for pathname:", pathname);
|
|
285
280
|
};
|
|
286
281
|
// src/supercompatFetch/originalFetch.ts
|
|
287
282
|
var originalFetch = function(param) {
|
|
@@ -344,13 +339,11 @@ var supercompatFetch = function(param) {
|
|
|
344
339
|
var _ref, _args, url, options, pathHandler, method, requestHandler;
|
|
345
340
|
return _ts_generator(this, function(_state) {
|
|
346
341
|
_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);
|
|
348
342
|
pathHandler = findRequestHandler({
|
|
349
343
|
url: url,
|
|
350
344
|
requestHandlers: requestHandlers2
|
|
351
345
|
});
|
|
352
346
|
if (!pathHandler) {
|
|
353
|
-
console.log("[supercompatFetch] No handler found, using originalFetch");
|
|
354
347
|
return [
|
|
355
348
|
2,
|
|
356
349
|
originalFetch({
|
|
@@ -362,7 +355,6 @@ var supercompatFetch = function(param) {
|
|
|
362
355
|
method = (_ref = options === null || options === void 0 ? void 0 : options.method) !== null && _ref !== void 0 ? _ref : "";
|
|
363
356
|
requestHandler = pathHandler[method.toLowerCase()];
|
|
364
357
|
if (!requestHandler) {
|
|
365
|
-
console.log("[supercompatFetch] Handler found but no method handler, using originalFetch");
|
|
366
358
|
return [
|
|
367
359
|
2,
|
|
368
360
|
originalFetch({
|
|
@@ -371,7 +363,6 @@ var supercompatFetch = function(param) {
|
|
|
371
363
|
})
|
|
372
364
|
];
|
|
373
365
|
}
|
|
374
|
-
console.log("[supercompatFetch] Handler found, calling it");
|
|
375
366
|
return [
|
|
376
367
|
2,
|
|
377
368
|
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","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"]}
|
|
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","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 for (const key in requestHandlers2) {\n const regex = new RegExp(key);\n const matches = regex.test(pathname);\n if (matches) {\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 const matches = regex.test(pathname)\n\n if (matches) {\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"]}
|