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.
@@ -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))
@@ -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":"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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 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"]}
@@ -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))
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qBAAqB;ACArB,OAAOA,UAAUC,WAAA,QAAmB,SAAA;ADGpC,0CAA0C;AEH1C,SAASC,MAAA,EAAQC,MAAA,QAAc,SAAA;AAI/B,IAAMC,yBAAyB;QAC7BC,gBAAAA,SACAC,mBAAAA,YACAC,eAAAA;IAMA,IAAI,CAACF,SAAS,OAAO,CAAC;IACtB,IAAI,CAACC,YAAY,OAAO,CAAC;IAEzB,IAAME,gBAAgBC,YAAY;QAChCF,QAAAA;IACF;IAEA,IAAMG,SAASL,QAAQ;QACrBC,YAAY,wCACPA;YACHK,WAAWR,OAAOG,WAAWK,SAAA,EAAW;gBAAEJ,QAAQC;YAAc;;QAElED,QAAQC;QACRI,gBAAgBL;IAClB;IACA,OAAOG,OAAOG,eAAA;AAChB;AAEO,IAAMA,kBAAkB;QAC7BN,eAAAA,QACAF,gBAAAA,SACAC,mBAAAA;WAMAJ,OACEK,OAAOM,eAAA,EACPT,uBAAuB;QACrBC,SAAAA;QACAC,YAAAA;QACAC,QAAAA;IACF;;AFRJ,6CAA6C;AGtCtC,IAAMO,qBAAqB;QAChCC,YAAAA,KACAF,yBAAAA;IAKA,IAAMG,WAAW,IAAIC,IAAIF,KAAKC,QAAA;IAC9BE,QAAQC,GAAA,CAAI,0DAA0DH;IACtEE,QAAQC,GAAA,CAAI,4CAA4CC,OAAOC,IAAA,CAAKR;IAEpE,IAAA,IAAWS,OAAOT,iBAAiB;QACjC,IAAMU,QAAQ,IAAIC,OAAOF;QACzB,IAAMG,UAAUF,MAAMG,IAAA,CAAKV;QAC3BE,QAAQC,GAAA,CAAI,yCAAyCG,KAAK,cAAcG;QAExE,IAAIA,SAAS;YACXP,QAAQC,GAAA,CAAI;YACZ,OAAON,gBAAAA,CAAgBS,IAAG;QAC5B;IACF;IAEAJ,QAAQC,GAAA,CAAI,uDAAuDH;AACrE;AHmCA,wCAAwC;AI1DjC,IAAMW,gBAAgB;QAC3BC,aAAAA,MACArB,eAAAA;;YAKIA,gBACqBqB,OAAhBb,KAAKc,SAENC,eASAC;;;;2BAZJxB,iBAAAA,OAAOA,MAAA,cAAPA,qCAAAA,eAAeyB,KAAA;;;;oBACMJ,yBAAAA,UAAhBb,MAAgBa,UAAXC,UAAWD;oBAED;;wBAAMrB,OAAOA,MAAA,CAAO0B,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,OAApBhC,OAAOA,MAAA,CAAOiC,MAAM;oBAE3DT,aAAa,wCACdF;wBACHQ,SAASP;;oBAGX;;wBAAOvB,OAAOA,MAAA,CAAOyB,KAAA,CAAMjB,KAAKgB;;;oBAGhC;;wBAAOC,YAAAA,KAAAA,GAAM,qBAAGJ;;;;;;;;IAEpB;;AJqDA,gCAAgC;AKvEzB,IAAMa,mBAAmB;QAC9BlC,eAAAA,QACAF,gBAAAA,SACAC,mBAAAA;IAEA,IAAMO,mBAAkBA,gBAAmB;QACzCN,QAAAA;QACAF,SAAAA;QACAC,YAAAA;IACF;IAEA,OAAO;yCAAUsB;YAAAA;;;sBACQA,OAAhBb,KAAKc,SAKNa,aAaAR,QAEAS;;gBApBiBf,yBAAAA,UAAhBb,MAAgBa,UAAXC,UAAWD;gBAGvBV,QAAQC,GAAA,CAAI,+BAA+BU,CAAAA,oBAAAA,8BAAAA,QAASK,MAAA,KAAU,OAAOnB;gBAE/D2B,cAAc5B,mBAAmB;oBACrCC,KAAAA;oBACAF,iBAAAA;gBACF;gBAEA,IAAI,CAAC6B,aAAa;oBAChBxB,QAAQC,GAAA,CAAI;oBACZ;;wBAAOQ,cAAc;4BACnBpB,QAAAA;4BACAqB,MAAAA;wBACF;;gBACF;gBAEMM,iBAASL,oBAAAA,8BAAAA,QAASK,MAAA,uCAAU;gBAE5BS,iBAAiBD,WAAA,CAAYR,OAAOC,WAAA,GAAa;gBAEvD,IAAI,CAACQ,gBAAgB;oBACnBzB,QAAQC,GAAA,CAAI;oBACZ;;wBAAOQ,cAAc;4BACnBpB,QAAAA;4BACAqB,MAAAA;wBACF;;gBACF;gBAEAV,QAAQC,GAAA,CAAI;gBACZ;;oBAAOwB,qBAAAA,KAAAA,GAAe,qBAAGf;;;QAC3B;;AACF;ALiEA,6CAA6C;AMzHtC,IAAMgB,sBAAsB;QACjCC,gBAAAA;WAIAA,QAAQC,OAAA,CAAQ,cAAc;;ANyHhC,qBAAqB;AC1Hd,IAAMrC,cAAc;QACzBF,eAAAA,QACAF,gBAAAA,SACAC,mBAAAA;IAEA,IAAIC,OAAOwC,IAAA,KAAS,gBAAgB;QAClC,OAAO,IAAI9C,YAAY;YACrBuC,QAAQjC,OAAOA,MAAA,CAAOiC,MAAA;YACtBQ,YAAYzC,OAAOA,MAAA,CAAOyC,UAAA;YAC1BC,UAAUL,oBAAoB;gBAAEC,SAAStC,OAAOA,MAAA,CAAOsC,OAAA;YAAQ;YAC/Db,OAAOS,iBAAiB;gBACtBlC,QAAAA;gBACAF,SAAAA;gBACAC,YAAAA;YACF;QACF;IACF;IAEA,OAAO,IAAIN,OAAO;QAChBwC,QAAQ;QACRR,OAAOS,iBAAiB;YACtBlC,QAAAA;YACAF,SAAAA;YACAC,YAAAA;QACF;IACF;AACF;AD2HA,SACEG,WAAW,GACX","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"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "supercompat",
3
- "version": "3.15.6",
3
+ "version": "3.16.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",