@discomedia/utils 1.0.43 → 1.0.45

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 CHANGED
@@ -1086,6 +1086,7 @@ function isOpenRouterModel(model) {
1086
1086
  'openai/gpt-5',
1087
1087
  'openai/gpt-5-mini',
1088
1088
  'openai/gpt-5-nano',
1089
+ 'openai/gpt-5.1',
1089
1090
  'openai/gpt-oss-120b',
1090
1091
  'z.ai/glm-4.5',
1091
1092
  'z.ai/glm-4.5-air',
@@ -2451,7 +2452,7 @@ const safeJSON = (text) => {
2451
2452
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2452
2453
  const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
2453
2454
 
2454
- const VERSION = '6.7.0'; // x-release-please-version
2455
+ const VERSION = '6.9.1'; // x-release-please-version
2455
2456
 
2456
2457
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2457
2458
  const isRunningInBrowser = () => {
@@ -9430,6 +9431,10 @@ const openAiModelCosts = {
9430
9431
  inputCost: 0.05 / 1_000_000,
9431
9432
  outputCost: 0.4 / 1_000_000,
9432
9433
  },
9434
+ 'gpt-5.1': {
9435
+ inputCost: 1.25 / 1_000_000,
9436
+ outputCost: 10 / 1_000_000,
9437
+ },
9433
9438
  'o4-mini': {
9434
9439
  inputCost: 1.1 / 1_000_000,
9435
9440
  outputCost: 4.4 / 1_000_000,
@@ -9890,6 +9895,7 @@ const isSupportedModel = (model) => {
9890
9895
  'gpt-5',
9891
9896
  'gpt-5-mini',
9892
9897
  'gpt-5-nano',
9898
+ 'gpt-5.1',
9893
9899
  'o4-mini',
9894
9900
  'o3',
9895
9901
  ].includes(model);
@@ -9902,7 +9908,7 @@ const isSupportedModel = (model) => {
9902
9908
  function supportsTemperature(model) {
9903
9909
  // Reasoning models don't support temperature
9904
9910
  // GPT-5 models also do not support temperature
9905
- const reasoningAndGPT5Models = ['o1', 'o1-mini', 'o3-mini', 'o4-mini', 'o3', 'gpt-5', 'gpt-5-mini', 'gpt-5-nano'];
9911
+ const reasoningAndGPT5Models = ['o1', 'o1-mini', 'o3-mini', 'o4-mini', 'o3', 'gpt-5', 'gpt-5-mini', 'gpt-5-nano', 'gpt-5.1'];
9906
9912
  return !reasoningAndGPT5Models.includes(model);
9907
9913
  }
9908
9914
  /**
@@ -9920,7 +9926,7 @@ function isReasoningModel(model) {
9920
9926
  * @returns True if the model is a GPT-5 model, false otherwise.
9921
9927
  */
9922
9928
  function isGPT5Model(model) {
9923
- const gpt5Models = ['gpt-5', 'gpt-5-mini', 'gpt-5-nano'];
9929
+ const gpt5Models = ['gpt-5', 'gpt-5-mini', 'gpt-5-nano', 'gpt-5.1'];
9924
9930
  return gpt5Models.includes(model);
9925
9931
  }
9926
9932
  /**
@@ -16959,7 +16965,7 @@ class AlpacaMarketDataAPI extends require$$0$3.EventEmitter {
16959
16965
  */
16960
16966
  async getHistoricalBars(params) {
16961
16967
  const symbols = params.symbols;
16962
- const symbolsStr = symbols.join(',');
16968
+ symbols.join(',');
16963
16969
  let allBars = {};
16964
16970
  let pageToken = null;
16965
16971
  let hasMorePages = true;
@@ -16970,7 +16976,7 @@ class AlpacaMarketDataAPI extends require$$0$3.EventEmitter {
16970
16976
  symbols.forEach((symbol) => {
16971
16977
  allBars[symbol] = [];
16972
16978
  });
16973
- log(`Starting historical bars fetch for ${symbolsStr.length} symbols (${params.timeframe}, ${params.start || 'no start'} to ${params.end || 'no end'})`);
16979
+ log(`Starting historical bars fetch for ${symbols.length} symbols (${params.timeframe}, ${params.start || 'no start'} to ${params.end || 'no end'})`);
16974
16980
  while (hasMorePages) {
16975
16981
  pageCount++;
16976
16982
  const requestParams = {
@@ -16981,7 +16987,7 @@ class AlpacaMarketDataAPI extends require$$0$3.EventEmitter {
16981
16987
  };
16982
16988
  const response = await this.makeRequest('/stocks/bars', 'GET', requestParams);
16983
16989
  if (!response.bars) {
16984
- log(`No bars data found in response for ${symbolsStr.length} symbols`, { type: 'warn' });
16990
+ log(`No bars data found in response for ${symbols.length} symbols`, { type: 'warn' });
16985
16991
  break;
16986
16992
  }
16987
16993
  // Track currency from first response
@@ -17023,10 +17029,10 @@ class AlpacaMarketDataAPI extends require$$0$3.EventEmitter {
17023
17029
  }
17024
17030
  }
17025
17031
  // Final summary
17026
- const symbolsJoined = Object.entries(allBars)
17032
+ const symbolCounts = Object.entries(allBars)
17027
17033
  .map(([symbol, bars]) => `${symbol}: ${bars.length}`)
17028
17034
  .join(', ');
17029
- log(`Bars fetch complete: ${totalBarsCount.toLocaleString()} total bars across ${pageCount} pages for ${symbolsJoined.length} symbols'}`);
17035
+ log(`Bars fetch complete: ${totalBarsCount.toLocaleString()} total bars across ${pageCount} pages for ${symbols.length} symbols (${symbolCounts})`);
17030
17036
  return {
17031
17037
  bars: allBars,
17032
17038
  next_page_token: null, // Always null since we fetch all pages
@@ -17297,7 +17303,7 @@ class AlpacaMarketDataAPI extends require$$0$3.EventEmitter {
17297
17303
  */
17298
17304
  async getHistoricalOptionsBars(params) {
17299
17305
  const symbols = params.symbols;
17300
- const symbolsStr = symbols.join(',');
17306
+ symbols.join(',');
17301
17307
  let allBars = {};
17302
17308
  let pageToken = null;
17303
17309
  let hasMorePages = true;
@@ -17307,7 +17313,7 @@ class AlpacaMarketDataAPI extends require$$0$3.EventEmitter {
17307
17313
  symbols.forEach((symbol) => {
17308
17314
  allBars[symbol] = [];
17309
17315
  });
17310
- log(`Starting historical options bars fetch for ${symbolsStr.length} symbols (${params.timeframe}, ${params.start || 'no start'} to ${params.end || 'no end'})`);
17316
+ log(`Starting historical options bars fetch for ${symbols.length} symbols (${params.timeframe}, ${params.start || 'no start'} to ${params.end || 'no end'})`);
17311
17317
  while (hasMorePages) {
17312
17318
  pageCount++;
17313
17319
  const requestParams = {
@@ -17316,7 +17322,7 @@ class AlpacaMarketDataAPI extends require$$0$3.EventEmitter {
17316
17322
  };
17317
17323
  const response = await this.makeRequest('/options/bars', 'GET', requestParams, 'v1beta1');
17318
17324
  if (!response.bars) {
17319
- log(`No options bars data found in response for ${symbolsStr.length} symbols`, { type: 'warn' });
17325
+ log(`No options bars data found in response for ${symbols.length} symbols`, { type: 'warn' });
17320
17326
  break;
17321
17327
  }
17322
17328
  // Combine bars for each symbol
@@ -17346,7 +17352,7 @@ class AlpacaMarketDataAPI extends require$$0$3.EventEmitter {
17346
17352
  const dateRangeStr = earliestTimestamp && latestTimestamp
17347
17353
  ? `${earliestTimestamp.toLocaleDateString('en-US', { timeZone: 'America/New_York' })} to ${latestTimestamp.toLocaleDateString('en-US', { timeZone: 'America/New_York' })}`
17348
17354
  : 'unknown range';
17349
- log(`Page ${pageCount}: Fetched ${pageBarsCount.toLocaleString()} option bars (total: ${totalBarsCount.toLocaleString()}) for ${symbolsStr}, date range: ${dateRangeStr}${hasMorePages ? ', more pages available' : ', complete'}`, {
17355
+ log(`Page ${pageCount}: Fetched ${pageBarsCount.toLocaleString()} option bars (total: ${totalBarsCount.toLocaleString()}) for ${symbols.length} symbols, date range: ${dateRangeStr}${hasMorePages ? ', more pages available' : ', complete'}`, {
17350
17356
  type: 'debug',
17351
17357
  });
17352
17358
  // Prevent infinite loops
@@ -17375,7 +17381,7 @@ class AlpacaMarketDataAPI extends require$$0$3.EventEmitter {
17375
17381
  */
17376
17382
  async getHistoricalOptionsTrades(params) {
17377
17383
  const symbols = params.symbols;
17378
- const symbolsStr = symbols.join(',');
17384
+ symbols.join(',');
17379
17385
  let allTrades = {};
17380
17386
  let pageToken = null;
17381
17387
  let hasMorePages = true;
@@ -17385,7 +17391,7 @@ class AlpacaMarketDataAPI extends require$$0$3.EventEmitter {
17385
17391
  symbols.forEach((symbol) => {
17386
17392
  allTrades[symbol] = [];
17387
17393
  });
17388
- log(`Starting historical options trades fetch for ${symbolsStr.length} symbols (${params.start || 'no start'} to ${params.end || 'no end'})`);
17394
+ log(`Starting historical options trades fetch for ${symbols.length} symbols (${params.start || 'no start'} to ${params.end || 'no end'})`);
17389
17395
  while (hasMorePages) {
17390
17396
  pageCount++;
17391
17397
  const requestParams = {
@@ -17394,7 +17400,7 @@ class AlpacaMarketDataAPI extends require$$0$3.EventEmitter {
17394
17400
  };
17395
17401
  const response = await this.makeRequest('/options/trades', 'GET', requestParams, 'v1beta1');
17396
17402
  if (!response.trades) {
17397
- log(`No options trades data found in response for ${symbolsStr.length} symbols`, { type: 'warn' });
17403
+ log(`No options trades data found in response for ${symbols.length} symbols`, { type: 'warn' });
17398
17404
  break;
17399
17405
  }
17400
17406
  // Combine trades for each symbol
@@ -17424,7 +17430,7 @@ class AlpacaMarketDataAPI extends require$$0$3.EventEmitter {
17424
17430
  const dateRangeStr = earliestTimestamp && latestTimestamp
17425
17431
  ? `${earliestTimestamp.toLocaleDateString('en-US', { timeZone: 'America/New_York' })} to ${latestTimestamp.toLocaleDateString('en-US', { timeZone: 'America/New_York' })}`
17426
17432
  : 'unknown range';
17427
- log(`Page ${pageCount}: Fetched ${pageTradesCount.toLocaleString()} option trades (total: ${totalTradesCount.toLocaleString()}) for ${symbolsStr.length} symbols, date range: ${dateRangeStr}${hasMorePages ? ', more pages available' : ', complete'}`, {
17433
+ log(`Page ${pageCount}: Fetched ${pageTradesCount.toLocaleString()} option trades (total: ${totalTradesCount.toLocaleString()}) for ${symbols.length} symbols, date range: ${dateRangeStr}${hasMorePages ? ', more pages available' : ', complete'}`, {
17428
17434
  type: 'debug',
17429
17435
  });
17430
17436
  // Prevent infinite loops