supercompat 2.6.1 → 2.7.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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../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":["requestHandlers","OpenAI"],"mappings":"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","sourcesContent":["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.client.constructor.name === 'AzureOpenAI') {\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'\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 result = storage({ runAdapter: partob(runAdapter, { client }) })\n return result.requestHandlers\n}\n\nexport const requestHandlers = ({\n client,\n storage,\n runAdapter,\n}: {\n client: any\n storage?: (arg0: StorageAdapterArgs) => any\n runAdapter?: RunAdapter\n}) => (\n assign(\n client.requestHandlers,\n storageRequestHandlers({\n storage,\n runAdapter,\n client,\n })\n )\n)\n","export const findRequestHandler = ({\n url,\n requestHandlers,\n}: {\n url: string\n requestHandlers: any\n}) => {\n const pathname = new URL(url).pathname\n\n for (const key in requestHandlers) {\n const regex = new RegExp(key)\n\n if (regex.test(pathname)) {\n return requestHandlers[key]\n }\n }\n}\n","export const originalFetch = ({\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 headers = {\n ...options.headers,\n authorization: client.client.defaultHeaders().Authorization,\n }\n\n return client.client.fetch(url, {\n ...options,\n headers,\n })\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 requestHandler = pathHandler[options?.method]\n\n if (!requestHandler) {\n return originalFetch({\n client,\n args,\n })\n }\n\n return requestHandler(...args)\n }\n}\n","export const endpointFromBaseUrl = ({\n baseURL\n}: {\n baseURL: string\n}) => (\n baseURL.replace(/\\/+openai$/, '')\n)\n"]}
1
+ {"version":3,"sources":["../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":["requestHandlers","OpenAI"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAoC;;;ACApC,oBAA+B;AAG/B,IAAM,yBAAyB,CAAC;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AACF,MAIM;AACJ,MAAI,CAAC,QAAS,QAAO,CAAC;AACtB,MAAI,CAAC,WAAY,QAAO,CAAC;AAEzB,QAAM,SAAS,QAAQ,EAAE,gBAAY,sBAAO,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC;AACrE,SAAO,OAAO;AAChB;AAEO,IAAM,kBAAkB,CAAC;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AACF,UAKE;AAAA,EACE,OAAO;AAAA,EACP,uBAAuB;AAAA,IACrB;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACH;;;ACnCK,IAAM,qBAAqB,CAAC;AAAA,EACjC;AAAA,EACA,iBAAAA;AACF,MAGM;AACJ,QAAM,WAAW,IAAI,IAAI,GAAG,EAAE;AAE9B,aAAW,OAAOA,kBAAiB;AACjC,UAAM,QAAQ,IAAI,OAAO,GAAG;AAE5B,QAAI,MAAM,KAAK,QAAQ,GAAG;AACxB,aAAOA,iBAAgB,GAAG;AAAA,IAC5B;AAAA,EACF;AACF;;;AChBO,IAAM,gBAAgB,CAAC;AAAA,EAC5B;AAAA,EACA;AACF,MAGM;AACJ,MAAI,OAAO,QAAQ,OAAO;AACxB,UAAM,CAAC,KAAK,OAAO,IAAI;AAEvB,UAAM,UAAU;AAAA,MACd,GAAG,QAAQ;AAAA,MACX,eAAe,OAAO,OAAO,eAAe,EAAE;AAAA,IAChD;AAEA,WAAO,OAAO,OAAO,MAAM,KAAK;AAAA,MAC9B,GAAG;AAAA,MACH;AAAA,IACF,CAAC;AAAA,EACH,OAAO;AAEL,WAAO,MAAM,GAAG,IAAI;AAAA,EACtB;AACF;;;ACZO,IAAM,mBAAmB,CAAC;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AACF,MAAY;AACV,QAAMA,mBAAkB,gBAAmB;AAAA,IACzC;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,SAAO,UAAU,SAAgB;AAC/B,UAAM,CAAC,KAAK,OAAO,IAAI;AAEvB,UAAM,cAAc,mBAAmB;AAAA,MACrC;AAAA,MACA,iBAAAA;AAAA,IACF,CAAC;AAED,QAAI,CAAC,aAAa;AAChB,aAAO,cAAc;AAAA,QACnB;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAEA,UAAM,iBAAiB,YAAY,SAAS,MAAM;AAElD,QAAI,CAAC,gBAAgB;AACnB,aAAO,cAAc;AAAA,QACnB;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAEA,WAAO,eAAe,GAAG,IAAI;AAAA,EAC/B;AACF;;;AChDO,IAAM,sBAAsB,CAAC;AAAA,EAClC;AACF,MAGE,QAAQ,QAAQ,cAAc,EAAE;;;ALD3B,IAAM,cAAc,CAAC;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AACF,MAAY;AACV,MAAI,OAAO,SAAS,gBAAgB;AAClC,WAAO,IAAI,0BAAY;AAAA,MACrB,QAAQ,OAAO,OAAO;AAAA,MACtB,YAAY,OAAO,OAAO;AAAA,MAC1B,UAAU,oBAAoB,EAAE,SAAS,OAAO,OAAO,QAAQ,CAAC;AAAA,MAChE,OAAO,iBAAiB;AAAA,QACtB;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAEA,SAAO,IAAI,cAAAC,QAAO;AAAA,IAChB,QAAQ;AAAA,IACR,OAAO,iBAAiB;AAAA,MACtB;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH","sourcesContent":["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'\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 result = storage({ runAdapter: partob(runAdapter, { client }) })\n return result.requestHandlers\n}\n\nexport const requestHandlers = ({\n client,\n storage,\n runAdapter,\n}: {\n client: any\n storage?: (arg0: StorageAdapterArgs) => any\n runAdapter?: RunAdapter\n}) => (\n assign(\n client.requestHandlers,\n storageRequestHandlers({\n storage,\n runAdapter,\n client,\n })\n )\n)\n","export const findRequestHandler = ({\n url,\n requestHandlers,\n}: {\n url: string\n requestHandlers: any\n}) => {\n const pathname = new URL(url).pathname\n\n for (const key in requestHandlers) {\n const regex = new RegExp(key)\n\n if (regex.test(pathname)) {\n return requestHandlers[key]\n }\n }\n}\n","export const originalFetch = ({\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 headers = {\n ...options.headers,\n authorization: client.client.defaultHeaders().Authorization,\n }\n\n return client.client.fetch(url, {\n ...options,\n headers,\n })\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 requestHandler = pathHandler[options?.method]\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"]}
@@ -336,7 +336,7 @@ var endpointFromBaseUrl = function(param) {
336
336
  // src/supercompat.ts
337
337
  var supercompat = function(param) {
338
338
  var client = param.client, storage = param.storage, runAdapter = param.runAdapter;
339
- if (client.client.constructor.name === "AzureOpenAI") {
339
+ if (client.type === "AZURE_OPENAI") {
340
340
  return new AzureOpenAI({
341
341
  apiKey: client.client.apiKey,
342
342
  apiVersion: client.client.apiVersion,
@@ -1 +1 @@
1
- {"version":3,"sources":["../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":["requestHandlers"],"mappings":";AAAA,OAAO,UAAU,mBAAmB;;;ACApC,SAAS,QAAQ,cAAc;AAG/B,IAAM,yBAAyB,CAAC;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AACF,MAIM;AACJ,MAAI,CAAC,QAAS,QAAO,CAAC;AACtB,MAAI,CAAC,WAAY,QAAO,CAAC;AAEzB,QAAM,SAAS,QAAQ,EAAE,YAAY,OAAO,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC;AACrE,SAAO,OAAO;AAChB;AAEO,IAAM,kBAAkB,CAAC;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AACF,MAKE;AAAA,EACE,OAAO;AAAA,EACP,uBAAuB;AAAA,IACrB;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACH;;;ACnCK,IAAM,qBAAqB,CAAC;AAAA,EACjC;AAAA,EACA,iBAAAA;AACF,MAGM;AACJ,QAAM,WAAW,IAAI,IAAI,GAAG,EAAE;AAE9B,aAAW,OAAOA,kBAAiB;AACjC,UAAM,QAAQ,IAAI,OAAO,GAAG;AAE5B,QAAI,MAAM,KAAK,QAAQ,GAAG;AACxB,aAAOA,iBAAgB,GAAG;AAAA,IAC5B;AAAA,EACF;AACF;;;AChBO,IAAM,gBAAgB,CAAC;AAAA,EAC5B;AAAA,EACA;AACF,MAGM;AACJ,MAAI,OAAO,QAAQ,OAAO;AACxB,UAAM,CAAC,KAAK,OAAO,IAAI;AAEvB,UAAM,UAAU;AAAA,MACd,GAAG,QAAQ;AAAA,MACX,eAAe,OAAO,OAAO,eAAe,EAAE;AAAA,IAChD;AAEA,WAAO,OAAO,OAAO,MAAM,KAAK;AAAA,MAC9B,GAAG;AAAA,MACH;AAAA,IACF,CAAC;AAAA,EACH,OAAO;AAEL,WAAO,MAAM,GAAG,IAAI;AAAA,EACtB;AACF;;;ACZO,IAAM,mBAAmB,CAAC;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AACF,MAAY;AACV,QAAMA,mBAAkB,gBAAmB;AAAA,IACzC;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,SAAO,UAAU,SAAgB;AAC/B,UAAM,CAAC,KAAK,OAAO,IAAI;AAEvB,UAAM,cAAc,mBAAmB;AAAA,MACrC;AAAA,MACA,iBAAAA;AAAA,IACF,CAAC;AAED,QAAI,CAAC,aAAa;AAChB,aAAO,cAAc;AAAA,QACnB;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAEA,UAAM,iBAAiB,YAAY,SAAS,MAAM;AAElD,QAAI,CAAC,gBAAgB;AACnB,aAAO,cAAc;AAAA,QACnB;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAEA,WAAO,eAAe,GAAG,IAAI;AAAA,EAC/B;AACF;;;AChDO,IAAM,sBAAsB,CAAC;AAAA,EAClC;AACF,MAGE,QAAQ,QAAQ,cAAc,EAAE;;;ALD3B,IAAM,cAAc,CAAC;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AACF,MAAY;AACV,MAAI,OAAO,OAAO,YAAY,SAAS,eAAe;AACpD,WAAO,IAAI,YAAY;AAAA,MACrB,QAAQ,OAAO,OAAO;AAAA,MACtB,YAAY,OAAO,OAAO;AAAA,MAC1B,UAAU,oBAAoB,EAAE,SAAS,OAAO,OAAO,QAAQ,CAAC;AAAA,MAChE,OAAO,iBAAiB;AAAA,QACtB;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAEA,SAAO,IAAI,OAAO;AAAA,IAChB,QAAQ;AAAA,IACR,OAAO,iBAAiB;AAAA,MACtB;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH","sourcesContent":["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.client.constructor.name === 'AzureOpenAI') {\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'\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 result = storage({ runAdapter: partob(runAdapter, { client }) })\n return result.requestHandlers\n}\n\nexport const requestHandlers = ({\n client,\n storage,\n runAdapter,\n}: {\n client: any\n storage?: (arg0: StorageAdapterArgs) => any\n runAdapter?: RunAdapter\n}) => (\n assign(\n client.requestHandlers,\n storageRequestHandlers({\n storage,\n runAdapter,\n client,\n })\n )\n)\n","export const findRequestHandler = ({\n url,\n requestHandlers,\n}: {\n url: string\n requestHandlers: any\n}) => {\n const pathname = new URL(url).pathname\n\n for (const key in requestHandlers) {\n const regex = new RegExp(key)\n\n if (regex.test(pathname)) {\n return requestHandlers[key]\n }\n }\n}\n","export const originalFetch = ({\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 headers = {\n ...options.headers,\n authorization: client.client.defaultHeaders().Authorization,\n }\n\n return client.client.fetch(url, {\n ...options,\n headers,\n })\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 requestHandler = pathHandler[options?.method]\n\n if (!requestHandler) {\n return originalFetch({\n client,\n args,\n })\n }\n\n return requestHandler(...args)\n }\n}\n","export const endpointFromBaseUrl = ({\n baseURL\n}: {\n baseURL: string\n}) => (\n baseURL.replace(/\\/+openai$/, '')\n)\n"]}
1
+ {"version":3,"sources":["../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":["requestHandlers"],"mappings":";AAAA,OAAO,UAAU,mBAAmB;;;ACApC,SAAS,QAAQ,cAAc;AAG/B,IAAM,yBAAyB,CAAC;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AACF,MAIM;AACJ,MAAI,CAAC,QAAS,QAAO,CAAC;AACtB,MAAI,CAAC,WAAY,QAAO,CAAC;AAEzB,QAAM,SAAS,QAAQ,EAAE,YAAY,OAAO,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC;AACrE,SAAO,OAAO;AAChB;AAEO,IAAM,kBAAkB,CAAC;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AACF,MAKE;AAAA,EACE,OAAO;AAAA,EACP,uBAAuB;AAAA,IACrB;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACH;;;ACnCK,IAAM,qBAAqB,CAAC;AAAA,EACjC;AAAA,EACA,iBAAAA;AACF,MAGM;AACJ,QAAM,WAAW,IAAI,IAAI,GAAG,EAAE;AAE9B,aAAW,OAAOA,kBAAiB;AACjC,UAAM,QAAQ,IAAI,OAAO,GAAG;AAE5B,QAAI,MAAM,KAAK,QAAQ,GAAG;AACxB,aAAOA,iBAAgB,GAAG;AAAA,IAC5B;AAAA,EACF;AACF;;;AChBO,IAAM,gBAAgB,CAAC;AAAA,EAC5B;AAAA,EACA;AACF,MAGM;AACJ,MAAI,OAAO,QAAQ,OAAO;AACxB,UAAM,CAAC,KAAK,OAAO,IAAI;AAEvB,UAAM,UAAU;AAAA,MACd,GAAG,QAAQ;AAAA,MACX,eAAe,OAAO,OAAO,eAAe,EAAE;AAAA,IAChD;AAEA,WAAO,OAAO,OAAO,MAAM,KAAK;AAAA,MAC9B,GAAG;AAAA,MACH;AAAA,IACF,CAAC;AAAA,EACH,OAAO;AAEL,WAAO,MAAM,GAAG,IAAI;AAAA,EACtB;AACF;;;ACZO,IAAM,mBAAmB,CAAC;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AACF,MAAY;AACV,QAAMA,mBAAkB,gBAAmB;AAAA,IACzC;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,SAAO,UAAU,SAAgB;AAC/B,UAAM,CAAC,KAAK,OAAO,IAAI;AAEvB,UAAM,cAAc,mBAAmB;AAAA,MACrC;AAAA,MACA,iBAAAA;AAAA,IACF,CAAC;AAED,QAAI,CAAC,aAAa;AAChB,aAAO,cAAc;AAAA,QACnB;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAEA,UAAM,iBAAiB,YAAY,SAAS,MAAM;AAElD,QAAI,CAAC,gBAAgB;AACnB,aAAO,cAAc;AAAA,QACnB;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAEA,WAAO,eAAe,GAAG,IAAI;AAAA,EAC/B;AACF;;;AChDO,IAAM,sBAAsB,CAAC;AAAA,EAClC;AACF,MAGE,QAAQ,QAAQ,cAAc,EAAE;;;ALD3B,IAAM,cAAc,CAAC;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AACF,MAAY;AACV,MAAI,OAAO,SAAS,gBAAgB;AAClC,WAAO,IAAI,YAAY;AAAA,MACrB,QAAQ,OAAO,OAAO;AAAA,MACtB,YAAY,OAAO,OAAO;AAAA,MAC1B,UAAU,oBAAoB,EAAE,SAAS,OAAO,OAAO,QAAQ,CAAC;AAAA,MAChE,OAAO,iBAAiB;AAAA,QACtB;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAEA,SAAO,IAAI,OAAO;AAAA,IAChB,QAAQ;AAAA,IACR,OAAO,iBAAiB;AAAA,MACtB;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH","sourcesContent":["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'\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 result = storage({ runAdapter: partob(runAdapter, { client }) })\n return result.requestHandlers\n}\n\nexport const requestHandlers = ({\n client,\n storage,\n runAdapter,\n}: {\n client: any\n storage?: (arg0: StorageAdapterArgs) => any\n runAdapter?: RunAdapter\n}) => (\n assign(\n client.requestHandlers,\n storageRequestHandlers({\n storage,\n runAdapter,\n client,\n })\n )\n)\n","export const findRequestHandler = ({\n url,\n requestHandlers,\n}: {\n url: string\n requestHandlers: any\n}) => {\n const pathname = new URL(url).pathname\n\n for (const key in requestHandlers) {\n const regex = new RegExp(key)\n\n if (regex.test(pathname)) {\n return requestHandlers[key]\n }\n }\n}\n","export const originalFetch = ({\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 headers = {\n ...options.headers,\n authorization: client.client.defaultHeaders().Authorization,\n }\n\n return client.client.fetch(url, {\n ...options,\n headers,\n })\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 requestHandler = pathHandler[options?.method]\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": "2.6.1",
3
+ "version": "2.7.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",