Team Ai
Datasetpublic

Brunobkr/llama.cpp_AlgMor24_github

ΩFFFΣLLIa • llama.cpp • AlgMor24 ██████╗ ███████╗███████╗███████╗██╗ ██╗ ██╗ █████╗ ██╔═══██╗██╔════╝██╔════╝██╔════╝██║ ██║ ██║██╔══██╗ ██║ ██║█████╗ █████╗ █████╗ ██║ ██║ ██║███████║ ██║ ██║██╔══╝ ██╔══╝ ██╔══╝ ██║ ██║ ██║██╔══██║ ╚██████╔╝██║ ██║ ███████╗███████╗███████╗██║██║ ██║ ╚═════╝ ╚═╝ ╚═╝ ╚══════╝╚══════╝╚══════╝╚═╝╚═╝ ╚═╝ High-Performance LLM / VLM Inference & Autonomous Agentic Ecosystem… See the full description on the dataset page: https://huggingface.co/datasets/Brunobkr/llama.cpp_AlgMor24_github.

sourceHugging Faceupdated 2mo agoView on Hugging Face
0likes3.1kdownloads
BroadcastCacheUpdate.ts216 linesDownload Raw Back to src
1/*2  Copyright 2018 Google LLC3 4  Use of this source code is governed by an MIT-style5  license that can be found in the LICENSE file or at6  https://opensource.org/licenses/MIT.7*/8 9import {assert} from 'workbox-core/_private/assert.js';10import {timeout} from 'workbox-core/_private/timeout.js';11import {resultingClientExists} from 'workbox-core/_private/resultingClientExists.js';12import {CacheDidUpdateCallbackParam} from 'workbox-core/types.js';13import {logger} from 'workbox-core/_private/logger.js';14import {responsesAreSame} from './responsesAreSame.js';15import {16  CACHE_UPDATED_MESSAGE_META,17  CACHE_UPDATED_MESSAGE_TYPE,18  DEFAULT_HEADERS_TO_CHECK,19  NOTIFY_ALL_CLIENTS,20} from './utils/constants.js';21 22import './_version.js';23 24// UA-sniff Safari: https://stackoverflow.com/questions/7944460/detect-safari-browser25// TODO(philipwalton): remove once this Safari bug fix has been released.26// https://bugs.webkit.org/show_bug.cgi?id=20116927const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);28 29// Give TypeScript the correct global.30declare let self: ServiceWorkerGlobalScope;31 32export interface BroadcastCacheUpdateOptions {33  headersToCheck?: string[];34  generatePayload?: (35    options: CacheDidUpdateCallbackParam,36  ) => Record<string, any>;37  notifyAllClients?: boolean;38}39 40/**41 * Generates the default payload used in update messages. By default the42 * payload includes the `cacheName` and `updatedURL` fields.43 *44 * @return Object45 * @private46 */47function defaultPayloadGenerator(48  data: CacheDidUpdateCallbackParam,49): Record<string, any> {50  return {51    cacheName: data.cacheName,52    updatedURL: data.request.url,53  };54}55 56/**57 * Uses the `postMessage()` API to inform any open windows/tabs when a cached58 * response has been updated.59 *60 * For efficiency's sake, the underlying response bodies are not compared;61 * only specific response headers are checked.62 *63 * @memberof workbox-broadcast-update64 */65class BroadcastCacheUpdate {66  private readonly _headersToCheck: string[];67  private readonly _generatePayload: (68    options: CacheDidUpdateCallbackParam,69  ) => Record<string, any>;70  private readonly _notifyAllClients: boolean;71 72  /**73   * Construct a BroadcastCacheUpdate instance with a specific `channelName` to74   * broadcast messages on75   *76   * @param {Object} [options]77   * @param {Array<string>} [options.headersToCheck=['content-length', 'etag', 'last-modified']]78   *     A list of headers that will be used to determine whether the responses79   *     differ.80   * @param {string} [options.generatePayload] A function whose return value81   *     will be used as the `payload` field in any cache update messages sent82   *     to the window clients.83   * @param {boolean} [options.notifyAllClients=true] If true (the default) then84   *     all open clients will receive a message. If false, then only the client85   *     that make the original request will be notified of the update.86   */87  constructor({88    generatePayload,89    headersToCheck,90    notifyAllClients,91  }: BroadcastCacheUpdateOptions = {}) {92    this._headersToCheck = headersToCheck || DEFAULT_HEADERS_TO_CHECK;93    this._generatePayload = generatePayload || defaultPayloadGenerator;94    this._notifyAllClients = notifyAllClients ?? NOTIFY_ALL_CLIENTS;95  }96 97  /**98   * Compares two [Responses](https://developer.mozilla.org/en-US/docs/Web/API/Response)99   * and sends a message (via `postMessage()`) to all window clients if the100   * responses differ. Neither of the Responses can be101   * [opaque](https://developer.chrome.com/docs/workbox/caching-resources-during-runtime/#opaque-responses).102   *103   * The message that's posted has the following format (where `payload` can104   * be customized via the `generatePayload` option the instance is created105   * with):106   *107   * ```108   * {109   *   type: 'CACHE_UPDATED',110   *   meta: 'workbox-broadcast-update',111   *   payload: {112   *     cacheName: 'the-cache-name',113   *     updatedURL: 'https://example.com/'114   *   }115   * }116   * ```117   *118   * @param {Object} options119   * @param {Response} [options.oldResponse] Cached response to compare.120   * @param {Response} options.newResponse Possibly updated response to compare.121   * @param {Request} options.request The request.122   * @param {string} options.cacheName Name of the cache the responses belong123   *     to. This is included in the broadcast message.124   * @param {Event} options.event event The event that triggered125   *     this possible cache update.126   * @return {Promise} Resolves once the update is sent.127   */128  async notifyIfUpdated(options: CacheDidUpdateCallbackParam): Promise<void> {129    if (process.env.NODE_ENV !== 'production') {130      assert!.isType(options.cacheName, 'string', {131        moduleName: 'workbox-broadcast-update',132        className: 'BroadcastCacheUpdate',133        funcName: 'notifyIfUpdated',134        paramName: 'cacheName',135      });136      assert!.isInstance(options.newResponse, Response, {137        moduleName: 'workbox-broadcast-update',138        className: 'BroadcastCacheUpdate',139        funcName: 'notifyIfUpdated',140        paramName: 'newResponse',141      });142      assert!.isInstance(options.request, Request, {143        moduleName: 'workbox-broadcast-update',144        className: 'BroadcastCacheUpdate',145        funcName: 'notifyIfUpdated',146        paramName: 'request',147      });148    }149 150    // Without two responses there is nothing to compare.151    if (!options.oldResponse) {152      return;153    }154 155    if (156      !responsesAreSame(157        options.oldResponse,158        options.newResponse,159        this._headersToCheck,160      )161    ) {162      if (process.env.NODE_ENV !== 'production') {163        logger.log(164          `Newer response found (and cached) for:`,165          options.request.url,166        );167      }168 169      const messageData = {170        type: CACHE_UPDATED_MESSAGE_TYPE,171        meta: CACHE_UPDATED_MESSAGE_META,172        payload: this._generatePayload(options),173      };174 175      // For navigation requests, wait until the new window client exists176      // before sending the message177      if (options.request.mode === 'navigate') {178        let resultingClientId: string | undefined;179        if (options.event instanceof FetchEvent) {180          resultingClientId = options.event.resultingClientId;181        }182 183        const resultingWin = await resultingClientExists(resultingClientId);184 185        // Safari does not currently implement postMessage buffering and186        // there's no good way to feature detect that, so to increase the187        // chances of the message being delivered in Safari, we add a timeout.188        // We also do this if `resultingClientExists()` didn't return a client,189        // which means it timed out, so it's worth waiting a bit longer.190        if (!resultingWin || isSafari) {191          // 3500 is chosen because (according to CrUX data) 80% of mobile192          // websites hit the DOMContentLoaded event in less than 3.5 seconds.193          // And presumably sites implementing service worker are on the194          // higher end of the performance spectrum.195          await timeout(3500);196        }197      }198 199      if (this._notifyAllClients) {200        const windows = await self.clients.matchAll({type: 'window'});201        for (const win of windows) {202          win.postMessage(messageData);203        }204      } else {205        // See https://github.com/GoogleChrome/workbox/issues/2895206        if (options.event instanceof FetchEvent) {207          const client = await self.clients.get(options.event.clientId);208          client?.postMessage(messageData);209        }210      }211    }212  }213}214 215export {BroadcastCacheUpdate};216 
Brunobkr/llama.cpp_AlgMor24_github · Team Ai