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.
03.1k
1"use strict";2var __create = Object.create;3var __defProp = Object.defineProperty;4var __getOwnPropDesc = Object.getOwnPropertyDescriptor;5var __getOwnPropNames = Object.getOwnPropertyNames;6var __getProtoOf = Object.getPrototypeOf;7var __hasOwnProp = Object.prototype.hasOwnProperty;8var __export = (target, all) => {9 for (var name in all)10 __defProp(target, name, { get: all[name], enumerable: true });11};12var __copyProps = (to, from, except, desc) => {13 if (from && typeof from === "object" || typeof from === "function") {14 for (let key of __getOwnPropNames(from))15 if (!__hasOwnProp.call(to, key) && key !== except)16 __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });17 }18 return to;19};20var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(21 // If the importer is in node compatibility mode or this is not an ESM22 // file that has been converted to a CommonJS file using a Babel-23 // compatible transform (i.e. "__esModule" has not been set), then set24 // "default" to the CommonJS "module.exports" for node compatibility.25 isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,26 mod27));28var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);29 30// lib/npm/node.ts31var node_exports = {};32__export(node_exports, {33 analyzeMetafile: () => analyzeMetafile,34 analyzeMetafileSync: () => analyzeMetafileSync,35 build: () => build,36 buildSync: () => buildSync,37 context: () => context,38 default: () => node_default,39 formatMessages: () => formatMessages,40 formatMessagesSync: () => formatMessagesSync,41 initialize: () => initialize,42 stop: () => stop,43 transform: () => transform,44 transformSync: () => transformSync,45 version: () => version46});47module.exports = __toCommonJS(node_exports);48 49// lib/shared/stdio_protocol.ts50function encodePacket(packet) {51 let visit = (value) => {52 if (value === null) {53 bb.write8(0);54 } else if (typeof value === "boolean") {55 bb.write8(1);56 bb.write8(+value);57 } else if (typeof value === "number") {58 bb.write8(2);59 bb.write32(value | 0);60 } else if (typeof value === "string") {61 bb.write8(3);62 bb.write(encodeUTF8(value));63 } else if (value instanceof Uint8Array) {64 bb.write8(4);65 bb.write(value);66 } else if (value instanceof Array) {67 bb.write8(5);68 bb.write32(value.length);69 for (let item of value) {70 visit(item);71 }72 } else {73 let keys = Object.keys(value);74 bb.write8(6);75 bb.write32(keys.length);76 for (let key of keys) {77 bb.write(encodeUTF8(key));78 visit(value[key]);79 }80 }81 };82 let bb = new ByteBuffer();83 bb.write32(0);84 bb.write32(packet.id << 1 | +!packet.isRequest);85 visit(packet.value);86 writeUInt32LE(bb.buf, bb.len - 4, 0);87 return bb.buf.subarray(0, bb.len);88}89function decodePacket(bytes) {90 let visit = () => {91 switch (bb.read8()) {92 case 0:93 return null;94 case 1:95 return !!bb.read8();96 case 2:97 return bb.read32();98 case 3:99 return decodeUTF8(bb.read());100 case 4:101 return bb.read();102 case 5: {103 let count = bb.read32();104 let value2 = [];105 for (let i = 0; i < count; i++) {106 value2.push(visit());107 }108 return value2;109 }110 case 6: {111 let count = bb.read32();112 let value2 = {};113 for (let i = 0; i < count; i++) {114 value2[decodeUTF8(bb.read())] = visit();115 }116 return value2;117 }118 default:119 throw new Error("Invalid packet");120 }121 };122 let bb = new ByteBuffer(bytes);123 let id = bb.read32();124 let isRequest = (id & 1) === 0;125 id >>>= 1;126 let value = visit();127 if (bb.ptr !== bytes.length) {128 throw new Error("Invalid packet");129 }130 return { id, isRequest, value };131}132var ByteBuffer = class {133 constructor(buf = new Uint8Array(1024)) {134 this.buf = buf;135 this.len = 0;136 this.ptr = 0;137 }138 _write(delta) {139 if (this.len + delta > this.buf.length) {140 let clone = new Uint8Array((this.len + delta) * 2);141 clone.set(this.buf);142 this.buf = clone;143 }144 this.len += delta;145 return this.len - delta;146 }147 write8(value) {148 let offset = this._write(1);149 this.buf[offset] = value;150 }151 write32(value) {152 let offset = this._write(4);153 writeUInt32LE(this.buf, value, offset);154 }155 write(bytes) {156 let offset = this._write(4 + bytes.length);157 writeUInt32LE(this.buf, bytes.length, offset);158 this.buf.set(bytes, offset + 4);159 }160 _read(delta) {161 if (this.ptr + delta > this.buf.length) {162 throw new Error("Invalid packet");163 }164 this.ptr += delta;165 return this.ptr - delta;166 }167 read8() {168 return this.buf[this._read(1)];169 }170 read32() {171 return readUInt32LE(this.buf, this._read(4));172 }173 read() {174 let length = this.read32();175 let bytes = new Uint8Array(length);176 let ptr = this._read(bytes.length);177 bytes.set(this.buf.subarray(ptr, ptr + length));178 return bytes;179 }180};181var encodeUTF8;182var decodeUTF8;183var encodeInvariant;184if (typeof TextEncoder !== "undefined" && typeof TextDecoder !== "undefined") {185 let encoder = new TextEncoder();186 let decoder = new TextDecoder();187 encodeUTF8 = (text) => encoder.encode(text);188 decodeUTF8 = (bytes) => decoder.decode(bytes);189 encodeInvariant = 'new TextEncoder().encode("")';190} else if (typeof Buffer !== "undefined") {191 encodeUTF8 = (text) => Buffer.from(text);192 decodeUTF8 = (bytes) => {193 let { buffer, byteOffset, byteLength } = bytes;194 return Buffer.from(buffer, byteOffset, byteLength).toString();195 };196 encodeInvariant = 'Buffer.from("")';197} else {198 throw new Error("No UTF-8 codec found");199}200if (!(encodeUTF8("") instanceof Uint8Array))201 throw new Error(`Invariant violation: "${encodeInvariant} instanceof Uint8Array" is incorrectly false202 203This indicates that your JavaScript environment is broken. You cannot use204esbuild in this environment because esbuild relies on this invariant. This205is not a problem with esbuild. You need to fix your environment instead.206`);207function readUInt32LE(buffer, offset) {208 return (buffer[offset++] | buffer[offset++] << 8 | buffer[offset++] << 16 | buffer[offset++] << 24) >>> 0;209}210function writeUInt32LE(buffer, value, offset) {211 buffer[offset++] = value;212 buffer[offset++] = value >> 8;213 buffer[offset++] = value >> 16;214 buffer[offset++] = value >> 24;215}216 217// lib/shared/uint8array_json_parser.ts218var fromCharCode = String.fromCharCode;219function throwSyntaxError(bytes, index, message) {220 const c = bytes[index];221 let line = 1;222 let column = 0;223 for (let i = 0; i < index; i++) {224 if (bytes[i] === 10 /* Newline */) {225 line++;226 column = 0;227 } else {228 column++;229 }230 }231 throw new SyntaxError(232 message ? message : index === bytes.length ? "Unexpected end of input while parsing JSON" : c >= 32 && c <= 126 ? `Unexpected character ${fromCharCode(c)} in JSON at position ${index} (line ${line}, column ${column})` : `Unexpected byte 0x${c.toString(16)} in JSON at position ${index} (line ${line}, column ${column})`233 );234}235function JSON_parse(bytes) {236 if (!(bytes instanceof Uint8Array)) {237 throw new Error(`JSON input must be a Uint8Array`);238 }239 const propertyStack = [];240 const objectStack = [];241 const stateStack = [];242 const length = bytes.length;243 let property = null;244 let state = 0 /* TopLevel */;245 let object;246 let i = 0;247 while (i < length) {248 let c = bytes[i++];249 if (c <= 32 /* Space */) {250 continue;251 }252 let value;253 if (state === 2 /* Object */ && property === null && c !== 34 /* Quote */ && c !== 125 /* CloseBrace */) {254 throwSyntaxError(bytes, --i);255 }256 switch (c) {257 // True258 case 116 /* LowerT */: {259 if (bytes[i++] !== 114 /* LowerR */ || bytes[i++] !== 117 /* LowerU */ || bytes[i++] !== 101 /* LowerE */) {260 throwSyntaxError(bytes, --i);261 }262 value = true;263 break;264 }265 // False266 case 102 /* LowerF */: {267 if (bytes[i++] !== 97 /* LowerA */ || bytes[i++] !== 108 /* LowerL */ || bytes[i++] !== 115 /* LowerS */ || bytes[i++] !== 101 /* LowerE */) {268 throwSyntaxError(bytes, --i);269 }270 value = false;271 break;272 }273 // Null274 case 110 /* LowerN */: {275 if (bytes[i++] !== 117 /* LowerU */ || bytes[i++] !== 108 /* LowerL */ || bytes[i++] !== 108 /* LowerL */) {276 throwSyntaxError(bytes, --i);277 }278 value = null;279 break;280 }281 // Number begin282 case 45 /* Minus */:283 case 46 /* Dot */:284 case 48 /* Digit0 */:285 case 49 /* Digit1 */:286 case 50 /* Digit2 */:287 case 51 /* Digit3 */:288 case 52 /* Digit4 */:289 case 53 /* Digit5 */:290 case 54 /* Digit6 */:291 case 55 /* Digit7 */:292 case 56 /* Digit8 */:293 case 57 /* Digit9 */: {294 let index = i;295 value = fromCharCode(c);296 c = bytes[i];297 while (true) {298 switch (c) {299 case 43 /* Plus */:300 case 45 /* Minus */:301 case 46 /* Dot */:302 case 48 /* Digit0 */:303 case 49 /* Digit1 */:304 case 50 /* Digit2 */:305 case 51 /* Digit3 */:306 case 52 /* Digit4 */:307 case 53 /* Digit5 */:308 case 54 /* Digit6 */:309 case 55 /* Digit7 */:310 case 56 /* Digit8 */:311 case 57 /* Digit9 */:312 case 101 /* LowerE */:313 case 69 /* UpperE */: {314 value += fromCharCode(c);315 c = bytes[++i];316 continue;317 }318 }319 break;320 }321 value = +value;322 if (isNaN(value)) {323 throwSyntaxError(bytes, --index, "Invalid number");324 }325 break;326 }327 // String begin328 case 34 /* Quote */: {329 value = "";330 while (true) {331 if (i >= length) {332 throwSyntaxError(bytes, length);333 }334 c = bytes[i++];335 if (c === 34 /* Quote */) {336 break;337 } else if (c === 92 /* Backslash */) {338 switch (bytes[i++]) {339 // Normal escape sequence340 case 34 /* Quote */:341 value += '"';342 break;343 case 47 /* Slash */:344 value += "/";345 break;346 case 92 /* Backslash */:347 value += "\\";348 break;349 case 98 /* LowerB */:350 value += "\b";351 break;352 case 102 /* LowerF */:353 value += "\f";354 break;355 case 110 /* LowerN */:356 value += "\n";357 break;358 case 114 /* LowerR */:359 value += "\r";360 break;361 case 116 /* LowerT */:362 value += " ";363 break;364 // Unicode escape sequence365 case 117 /* LowerU */: {366 let code = 0;367 for (let j = 0; j < 4; j++) {368 c = bytes[i++];369 code <<= 4;370 if (c >= 48 /* Digit0 */ && c <= 57 /* Digit9 */) code |= c - 48 /* Digit0 */;371 else if (c >= 97 /* LowerA */ && c <= 102 /* LowerF */) code |= c + (10 - 97 /* LowerA */);372 else if (c >= 65 /* UpperA */ && c <= 70 /* UpperF */) code |= c + (10 - 65 /* UpperA */);373 else throwSyntaxError(bytes, --i);374 }375 value += fromCharCode(code);376 break;377 }378 // Invalid escape sequence379 default:380 throwSyntaxError(bytes, --i);381 break;382 }383 } else if (c <= 127) {384 value += fromCharCode(c);385 } else if ((c & 224) === 192) {386 value += fromCharCode((c & 31) << 6 | bytes[i++] & 63);387 } else if ((c & 240) === 224) {388 value += fromCharCode((c & 15) << 12 | (bytes[i++] & 63) << 6 | bytes[i++] & 63);389 } else if ((c & 248) == 240) {390 let codePoint = (c & 7) << 18 | (bytes[i++] & 63) << 12 | (bytes[i++] & 63) << 6 | bytes[i++] & 63;391 if (codePoint > 65535) {392 codePoint -= 65536;393 value += fromCharCode(codePoint >> 10 & 1023 | 55296);394 codePoint = 56320 | codePoint & 1023;395 }396 value += fromCharCode(codePoint);397 }398 }399 value[0];400 break;401 }402 // Array begin403 case 91 /* OpenBracket */: {404 value = [];405 propertyStack.push(property);406 objectStack.push(object);407 stateStack.push(state);408 property = null;409 object = value;410 state = 1 /* Array */;411 continue;412 }413 // Object begin414 case 123 /* OpenBrace */: {415 value = {};416 propertyStack.push(property);417 objectStack.push(object);418 stateStack.push(state);419 property = null;420 object = value;421 state = 2 /* Object */;422 continue;423 }424 // Array end425 case 93 /* CloseBracket */: {426 if (state !== 1 /* Array */) {427 throwSyntaxError(bytes, --i);428 }429 value = object;430 property = propertyStack.pop();431 object = objectStack.pop();432 state = stateStack.pop();433 break;434 }435 // Object end436 case 125 /* CloseBrace */: {437 if (state !== 2 /* Object */) {438 throwSyntaxError(bytes, --i);439 }440 value = object;441 property = propertyStack.pop();442 object = objectStack.pop();443 state = stateStack.pop();444 break;445 }446 default: {447 throwSyntaxError(bytes, --i);448 }449 }450 c = bytes[i];451 while (c <= 32 /* Space */) {452 c = bytes[++i];453 }454 switch (state) {455 case 0 /* TopLevel */: {456 if (i === length) {457 return value;458 }459 break;460 }461 case 1 /* Array */: {462 object.push(value);463 if (c === 44 /* Comma */) {464 i++;465 continue;466 }467 if (c === 93 /* CloseBracket */) {468 continue;469 }470 break;471 }472 case 2 /* Object */: {473 if (property === null) {474 property = value;475 if (c === 58 /* Colon */) {476 i++;477 continue;478 }479 } else {480 object[property] = value;481 property = null;482 if (c === 44 /* Comma */) {483 i++;484 continue;485 }486 if (c === 125 /* CloseBrace */) {487 continue;488 }489 }490 break;491 }492 }493 break;494 }495 throwSyntaxError(bytes, i);496}497 498// lib/shared/common.ts499var quote = JSON.stringify;500var buildLogLevelDefault = "warning";501var transformLogLevelDefault = "silent";502function validateAndJoinStringArray(values, what) {503 const toJoin = [];504 for (const value of values) {505 validateStringValue(value, what);506 if (value.indexOf(",") >= 0) throw new Error(`Invalid ${what}: ${value}`);507 toJoin.push(value);508 }509 return toJoin.join(",");510}511var canBeAnything = () => null;512var mustBeBoolean = (value) => typeof value === "boolean" ? null : "a boolean";513var mustBeString = (value) => typeof value === "string" ? null : "a string";514var mustBeRegExp = (value) => value instanceof RegExp ? null : "a RegExp object";515var mustBeInteger = (value) => typeof value === "number" && value === (value | 0) ? null : "an integer";516var mustBeValidPortNumber = (value) => typeof value === "number" && value === (value | 0) && value >= 0 && value <= 65535 ? null : "a valid port number";517var mustBeFunction = (value) => typeof value === "function" ? null : "a function";518var mustBeArray = (value) => Array.isArray(value) ? null : "an array";519var mustBeArrayOfStrings = (value) => Array.isArray(value) && value.every((x) => typeof x === "string") ? null : "an array of strings";520var mustBeObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value) ? null : "an object";521var mustBeEntryPoints = (value) => typeof value === "object" && value !== null ? null : "an array or an object";522var mustBeWebAssemblyModule = (value) => value instanceof WebAssembly.Module ? null : "a WebAssembly.Module";523var mustBeObjectOrNull = (value) => typeof value === "object" && !Array.isArray(value) ? null : "an object or null";524var mustBeStringOrBoolean = (value) => typeof value === "string" || typeof value === "boolean" ? null : "a string or a boolean";525var mustBeStringOrObject = (value) => typeof value === "string" || typeof value === "object" && value !== null && !Array.isArray(value) ? null : "a string or an object";526var mustBeStringOrArrayOfStrings = (value) => typeof value === "string" || Array.isArray(value) && value.every((x) => typeof x === "string") ? null : "a string or an array of strings";527var mustBeStringOrUint8Array = (value) => typeof value === "string" || value instanceof Uint8Array ? null : "a string or a Uint8Array";528var mustBeStringOrURL = (value) => typeof value === "string" || value instanceof URL ? null : "a string or a URL";529function getFlag(object, keys, key, mustBeFn) {530 let value = object[key];531 keys[key + ""] = true;532 if (value === void 0) return void 0;533 let mustBe = mustBeFn(value);534 if (mustBe !== null) throw new Error(`${quote(key)} must be ${mustBe}`);535 return value;536}537function checkForInvalidFlags(object, keys, where) {538 for (let key in object) {539 if (!(key in keys)) {540 throw new Error(`Invalid option ${where}: ${quote(key)}`);541 }542 }543}544function validateInitializeOptions(options) {545 let keys = /* @__PURE__ */ Object.create(null);546 let wasmURL = getFlag(options, keys, "wasmURL", mustBeStringOrURL);547 let wasmModule = getFlag(options, keys, "wasmModule", mustBeWebAssemblyModule);548 let worker = getFlag(options, keys, "worker", mustBeBoolean);549 checkForInvalidFlags(options, keys, "in initialize() call");550 return {551 wasmURL,552 wasmModule,553 worker554 };555}556function validateMangleCache(mangleCache) {557 let validated;558 if (mangleCache !== void 0) {559 validated = /* @__PURE__ */ Object.create(null);560 for (let key in mangleCache) {561 let value = mangleCache[key];562 if (typeof value === "string" || value === false) {563 validated[key] = value;564 } else {565 throw new Error(`Expected ${quote(key)} in mangle cache to map to either a string or false`);566 }567 }568 }569 return validated;570}571function pushLogFlags(flags, options, keys, isTTY2, logLevelDefault) {572 let color = getFlag(options, keys, "color", mustBeBoolean);573 let logLevel = getFlag(options, keys, "logLevel", mustBeString);574 let logLimit = getFlag(options, keys, "logLimit", mustBeInteger);575 if (color !== void 0) flags.push(`--color=${color}`);576 else if (isTTY2) flags.push(`--color=true`);577 flags.push(`--log-level=${logLevel || logLevelDefault}`);578 flags.push(`--log-limit=${logLimit || 0}`);579}580function validateStringValue(value, what, key) {581 if (typeof value !== "string") {582 throw new Error(`Expected value for ${what}${key !== void 0 ? " " + quote(key) : ""} to be a string, got ${typeof value} instead`);583 }584 return value;585}586function pushCommonFlags(flags, options, keys) {587 let legalComments = getFlag(options, keys, "legalComments", mustBeString);588 let sourceRoot = getFlag(options, keys, "sourceRoot", mustBeString);589 let sourcesContent = getFlag(options, keys, "sourcesContent", mustBeBoolean);590 let target = getFlag(options, keys, "target", mustBeStringOrArrayOfStrings);591 let format = getFlag(options, keys, "format", mustBeString);592 let globalName = getFlag(options, keys, "globalName", mustBeString);593 let mangleProps = getFlag(options, keys, "mangleProps", mustBeRegExp);594 let reserveProps = getFlag(options, keys, "reserveProps", mustBeRegExp);595 let mangleQuoted = getFlag(options, keys, "mangleQuoted", mustBeBoolean);596 let minify = getFlag(options, keys, "minify", mustBeBoolean);597 let minifySyntax = getFlag(options, keys, "minifySyntax", mustBeBoolean);598 let minifyWhitespace = getFlag(options, keys, "minifyWhitespace", mustBeBoolean);599 let minifyIdentifiers = getFlag(options, keys, "minifyIdentifiers", mustBeBoolean);600 let lineLimit = getFlag(options, keys, "lineLimit", mustBeInteger);601 let drop = getFlag(options, keys, "drop", mustBeArrayOfStrings);602 let dropLabels = getFlag(options, keys, "dropLabels", mustBeArrayOfStrings);603 let charset = getFlag(options, keys, "charset", mustBeString);604 let treeShaking = getFlag(options, keys, "treeShaking", mustBeBoolean);605 let ignoreAnnotations = getFlag(options, keys, "ignoreAnnotations", mustBeBoolean);606 let jsx = getFlag(options, keys, "jsx", mustBeString);607 let jsxFactory = getFlag(options, keys, "jsxFactory", mustBeString);608 let jsxFragment = getFlag(options, keys, "jsxFragment", mustBeString);609 let jsxImportSource = getFlag(options, keys, "jsxImportSource", mustBeString);610 let jsxDev = getFlag(options, keys, "jsxDev", mustBeBoolean);611 let jsxSideEffects = getFlag(options, keys, "jsxSideEffects", mustBeBoolean);612 let define = getFlag(options, keys, "define", mustBeObject);613 let logOverride = getFlag(options, keys, "logOverride", mustBeObject);614 let supported = getFlag(options, keys, "supported", mustBeObject);615 let pure = getFlag(options, keys, "pure", mustBeArrayOfStrings);616 let keepNames = getFlag(options, keys, "keepNames", mustBeBoolean);617 let platform = getFlag(options, keys, "platform", mustBeString);618 let tsconfigRaw = getFlag(options, keys, "tsconfigRaw", mustBeStringOrObject);619 let absPaths = getFlag(options, keys, "absPaths", mustBeArrayOfStrings);620 if (legalComments) flags.push(`--legal-comments=${legalComments}`);621 if (sourceRoot !== void 0) flags.push(`--source-root=${sourceRoot}`);622 if (sourcesContent !== void 0) flags.push(`--sources-content=${sourcesContent}`);623 if (target) flags.push(`--target=${validateAndJoinStringArray(Array.isArray(target) ? target : [target], "target")}`);624 if (format) flags.push(`--format=${format}`);625 if (globalName) flags.push(`--global-name=${globalName}`);626 if (platform) flags.push(`--platform=${platform}`);627 if (tsconfigRaw) flags.push(`--tsconfig-raw=${typeof tsconfigRaw === "string" ? tsconfigRaw : JSON.stringify(tsconfigRaw)}`);628 if (minify) flags.push("--minify");629 if (minifySyntax) flags.push("--minify-syntax");630 if (minifyWhitespace) flags.push("--minify-whitespace");631 if (minifyIdentifiers) flags.push("--minify-identifiers");632 if (lineLimit) flags.push(`--line-limit=${lineLimit}`);633 if (charset) flags.push(`--charset=${charset}`);634 if (treeShaking !== void 0) flags.push(`--tree-shaking=${treeShaking}`);635 if (ignoreAnnotations) flags.push(`--ignore-annotations`);636 if (drop) for (let what of drop) flags.push(`--drop:${validateStringValue(what, "drop")}`);637 if (dropLabels) flags.push(`--drop-labels=${validateAndJoinStringArray(dropLabels, "drop label")}`);638 if (absPaths) flags.push(`--abs-paths=${validateAndJoinStringArray(absPaths, "abs paths")}`);639 if (mangleProps) flags.push(`--mangle-props=${jsRegExpToGoRegExp(mangleProps)}`);640 if (reserveProps) flags.push(`--reserve-props=${jsRegExpToGoRegExp(reserveProps)}`);641 if (mangleQuoted !== void 0) flags.push(`--mangle-quoted=${mangleQuoted}`);642 if (jsx) flags.push(`--jsx=${jsx}`);643 if (jsxFactory) flags.push(`--jsx-factory=${jsxFactory}`);644 if (jsxFragment) flags.push(`--jsx-fragment=${jsxFragment}`);645 if (jsxImportSource) flags.push(`--jsx-import-source=${jsxImportSource}`);646 if (jsxDev) flags.push(`--jsx-dev`);647 if (jsxSideEffects) flags.push(`--jsx-side-effects`);648 if (define) {649 for (let key in define) {650 if (key.indexOf("=") >= 0) throw new Error(`Invalid define: ${key}`);651 flags.push(`--define:${key}=${validateStringValue(define[key], "define", key)}`);652 }653 }654 if (logOverride) {655 for (let key in logOverride) {656 if (key.indexOf("=") >= 0) throw new Error(`Invalid log override: ${key}`);657 flags.push(`--log-override:${key}=${validateStringValue(logOverride[key], "log override", key)}`);658 }659 }660 if (supported) {661 for (let key in supported) {662 if (key.indexOf("=") >= 0) throw new Error(`Invalid supported: ${key}`);663 const value = supported[key];664 if (typeof value !== "boolean") throw new Error(`Expected value for supported ${quote(key)} to be a boolean, got ${typeof value} instead`);665 flags.push(`--supported:${key}=${value}`);666 }667 }668 if (pure) for (let fn of pure) flags.push(`--pure:${validateStringValue(fn, "pure")}`);669 if (keepNames) flags.push(`--keep-names`);670}671function flagsForBuildOptions(callName, options, isTTY2, logLevelDefault, writeDefault) {672 var _a2;673 let flags = [];674 let entries = [];675 let keys = /* @__PURE__ */ Object.create(null);676 let stdinContents = null;677 let stdinResolveDir = null;678 pushLogFlags(flags, options, keys, isTTY2, logLevelDefault);679 pushCommonFlags(flags, options, keys);680 let sourcemap = getFlag(options, keys, "sourcemap", mustBeStringOrBoolean);681 let bundle = getFlag(options, keys, "bundle", mustBeBoolean);682 let splitting = getFlag(options, keys, "splitting", mustBeBoolean);683 let preserveSymlinks = getFlag(options, keys, "preserveSymlinks", mustBeBoolean);684 let metafile = getFlag(options, keys, "metafile", mustBeBoolean);685 let outfile = getFlag(options, keys, "outfile", mustBeString);686 let outdir = getFlag(options, keys, "outdir", mustBeString);687 let outbase = getFlag(options, keys, "outbase", mustBeString);688 let tsconfig = getFlag(options, keys, "tsconfig", mustBeString);689 let resolveExtensions = getFlag(options, keys, "resolveExtensions", mustBeArrayOfStrings);690 let nodePathsInput = getFlag(options, keys, "nodePaths", mustBeArrayOfStrings);691 let mainFields = getFlag(options, keys, "mainFields", mustBeArrayOfStrings);692 let conditions = getFlag(options, keys, "conditions", mustBeArrayOfStrings);693 let external = getFlag(options, keys, "external", mustBeArrayOfStrings);694 let packages = getFlag(options, keys, "packages", mustBeString);695 let alias = getFlag(options, keys, "alias", mustBeObject);696 let loader = getFlag(options, keys, "loader", mustBeObject);697 let outExtension = getFlag(options, keys, "outExtension", mustBeObject);698 let publicPath = getFlag(options, keys, "publicPath", mustBeString);699 let entryNames = getFlag(options, keys, "entryNames", mustBeString);700 let chunkNames = getFlag(options, keys, "chunkNames", mustBeString);701 let assetNames = getFlag(options, keys, "assetNames", mustBeString);702 let inject = getFlag(options, keys, "inject", mustBeArrayOfStrings);703 let banner = getFlag(options, keys, "banner", mustBeObject);704 let footer = getFlag(options, keys, "footer", mustBeObject);705 let entryPoints = getFlag(options, keys, "entryPoints", mustBeEntryPoints);706 let absWorkingDir = getFlag(options, keys, "absWorkingDir", mustBeString);707 let stdin = getFlag(options, keys, "stdin", mustBeObject);708 let write = (_a2 = getFlag(options, keys, "write", mustBeBoolean)) != null ? _a2 : writeDefault;709 let allowOverwrite = getFlag(options, keys, "allowOverwrite", mustBeBoolean);710 let mangleCache = getFlag(options, keys, "mangleCache", mustBeObject);711 keys.plugins = true;712 checkForInvalidFlags(options, keys, `in ${callName}() call`);713 if (sourcemap) flags.push(`--sourcemap${sourcemap === true ? "" : `=${sourcemap}`}`);714 if (bundle) flags.push("--bundle");715 if (allowOverwrite) flags.push("--allow-overwrite");716 if (splitting) flags.push("--splitting");717 if (preserveSymlinks) flags.push("--preserve-symlinks");718 if (metafile) flags.push(`--metafile`);719 if (outfile) flags.push(`--outfile=${outfile}`);720 if (outdir) flags.push(`--outdir=${outdir}`);721 if (outbase) flags.push(`--outbase=${outbase}`);722 if (tsconfig) flags.push(`--tsconfig=${tsconfig}`);723 if (packages) flags.push(`--packages=${packages}`);724 if (resolveExtensions) flags.push(`--resolve-extensions=${validateAndJoinStringArray(resolveExtensions, "resolve extension")}`);725 if (publicPath) flags.push(`--public-path=${publicPath}`);726 if (entryNames) flags.push(`--entry-names=${entryNames}`);727 if (chunkNames) flags.push(`--chunk-names=${chunkNames}`);728 if (assetNames) flags.push(`--asset-names=${assetNames}`);729 if (mainFields) flags.push(`--main-fields=${validateAndJoinStringArray(mainFields, "main field")}`);730 if (conditions) flags.push(`--conditions=${validateAndJoinStringArray(conditions, "condition")}`);731 if (external) for (let name of external) flags.push(`--external:${validateStringValue(name, "external")}`);732 if (alias) {733 for (let old in alias) {734 if (old.indexOf("=") >= 0) throw new Error(`Invalid package name in alias: ${old}`);735 flags.push(`--alias:${old}=${validateStringValue(alias[old], "alias", old)}`);736 }737 }738 if (banner) {739 for (let type in banner) {740 if (type.indexOf("=") >= 0) throw new Error(`Invalid banner file type: ${type}`);741 flags.push(`--banner:${type}=${validateStringValue(banner[type], "banner", type)}`);742 }743 }744 if (footer) {745 for (let type in footer) {746 if (type.indexOf("=") >= 0) throw new Error(`Invalid footer file type: ${type}`);747 flags.push(`--footer:${type}=${validateStringValue(footer[type], "footer", type)}`);748 }749 }750 if (inject) for (let path3 of inject) flags.push(`--inject:${validateStringValue(path3, "inject")}`);751 if (loader) {752 for (let ext in loader) {753 if (ext.indexOf("=") >= 0) throw new Error(`Invalid loader extension: ${ext}`);754 flags.push(`--loader:${ext}=${validateStringValue(loader[ext], "loader", ext)}`);755 }756 }757 if (outExtension) {758 for (let ext in outExtension) {759 if (ext.indexOf("=") >= 0) throw new Error(`Invalid out extension: ${ext}`);760 flags.push(`--out-extension:${ext}=${validateStringValue(outExtension[ext], "out extension", ext)}`);761 }762 }763 if (entryPoints) {764 if (Array.isArray(entryPoints)) {765 for (let i = 0, n = entryPoints.length; i < n; i++) {766 let entryPoint = entryPoints[i];767 if (typeof entryPoint === "object" && entryPoint !== null) {768 let entryPointKeys = /* @__PURE__ */ Object.create(null);769 let input = getFlag(entryPoint, entryPointKeys, "in", mustBeString);770 let output = getFlag(entryPoint, entryPointKeys, "out", mustBeString);771 checkForInvalidFlags(entryPoint, entryPointKeys, "in entry point at index " + i);772 if (input === void 0) throw new Error('Missing property "in" for entry point at index ' + i);773 if (output === void 0) throw new Error('Missing property "out" for entry point at index ' + i);774 entries.push([output, input]);775 } else {776 entries.push(["", validateStringValue(entryPoint, "entry point at index " + i)]);777 }778 }779 } else {780 for (let key in entryPoints) {781 entries.push([key, validateStringValue(entryPoints[key], "entry point", key)]);782 }783 }784 }785 if (stdin) {786 let stdinKeys = /* @__PURE__ */ Object.create(null);787 let contents = getFlag(stdin, stdinKeys, "contents", mustBeStringOrUint8Array);788 let resolveDir = getFlag(stdin, stdinKeys, "resolveDir", mustBeString);789 let sourcefile = getFlag(stdin, stdinKeys, "sourcefile", mustBeString);790 let loader2 = getFlag(stdin, stdinKeys, "loader", mustBeString);791 checkForInvalidFlags(stdin, stdinKeys, 'in "stdin" object');792 if (sourcefile) flags.push(`--sourcefile=${sourcefile}`);793 if (loader2) flags.push(`--loader=${loader2}`);794 if (resolveDir) stdinResolveDir = resolveDir;795 if (typeof contents === "string") stdinContents = encodeUTF8(contents);796 else if (contents instanceof Uint8Array) stdinContents = contents;797 }798 let nodePaths = [];799 if (nodePathsInput) {800 for (let value of nodePathsInput) {801 value += "";802 nodePaths.push(value);803 }804 }805 return {806 entries,807 flags,808 write,809 stdinContents,810 stdinResolveDir,811 absWorkingDir,812 nodePaths,813 mangleCache: validateMangleCache(mangleCache)814 };815}816function flagsForTransformOptions(callName, options, isTTY2, logLevelDefault) {817 let flags = [];818 let keys = /* @__PURE__ */ Object.create(null);819 pushLogFlags(flags, options, keys, isTTY2, logLevelDefault);820 pushCommonFlags(flags, options, keys);821 let sourcemap = getFlag(options, keys, "sourcemap", mustBeStringOrBoolean);822 let sourcefile = getFlag(options, keys, "sourcefile", mustBeString);823 let loader = getFlag(options, keys, "loader", mustBeString);824 let banner = getFlag(options, keys, "banner", mustBeString);825 let footer = getFlag(options, keys, "footer", mustBeString);826 let mangleCache = getFlag(options, keys, "mangleCache", mustBeObject);827 checkForInvalidFlags(options, keys, `in ${callName}() call`);828 if (sourcemap) flags.push(`--sourcemap=${sourcemap === true ? "external" : sourcemap}`);829 if (sourcefile) flags.push(`--sourcefile=${sourcefile}`);830 if (loader) flags.push(`--loader=${loader}`);831 if (banner) flags.push(`--banner=${banner}`);832 if (footer) flags.push(`--footer=${footer}`);833 return {834 flags,835 mangleCache: validateMangleCache(mangleCache)836 };837}838function createChannel(streamIn) {839 const requestCallbacksByKey = {};840 const closeData = { didClose: false, reason: "" };841 let responseCallbacks = {};842 let nextRequestID = 0;843 let nextBuildKey = 0;844 let stdout = new Uint8Array(16 * 1024);845 let stdoutUsed = 0;846 let readFromStdout = (chunk) => {847 let limit = stdoutUsed + chunk.length;848 if (limit > stdout.length) {849 let swap = new Uint8Array(limit * 2);850 swap.set(stdout);851 stdout = swap;852 }853 stdout.set(chunk, stdoutUsed);854 stdoutUsed += chunk.length;855 let offset = 0;856 while (offset + 4 <= stdoutUsed) {857 let length = readUInt32LE(stdout, offset);858 if (offset + 4 + length > stdoutUsed) {859 break;860 }861 offset += 4;862 handleIncomingPacket(stdout.subarray(offset, offset + length));863 offset += length;864 }865 if (offset > 0) {866 stdout.copyWithin(0, offset, stdoutUsed);867 stdoutUsed -= offset;868 }869 };870 let afterClose = (error) => {871 closeData.didClose = true;872 if (error) closeData.reason = ": " + (error.message || error);873 const text = "The service was stopped" + closeData.reason;874 for (let id in responseCallbacks) {875 responseCallbacks[id](text, null);876 }877 responseCallbacks = {};878 };879 let sendRequest = (refs, value, callback) => {880 if (closeData.didClose) return callback("The service is no longer running" + closeData.reason, null);881 let id = nextRequestID++;882 responseCallbacks[id] = (error, response) => {883 try {884 callback(error, response);885 } finally {886 if (refs) refs.unref();887 }888 };889 if (refs) refs.ref();890 streamIn.writeToStdin(encodePacket({ id, isRequest: true, value }));891 };892 let sendResponse = (id, value) => {893 if (closeData.didClose) throw new Error("The service is no longer running" + closeData.reason);894 streamIn.writeToStdin(encodePacket({ id, isRequest: false, value }));895 };896 let handleRequest = async (id, request) => {897 try {898 if (request.command === "ping") {899 sendResponse(id, {});900 return;901 }902 if (typeof request.key === "number") {903 const requestCallbacks = requestCallbacksByKey[request.key];904 if (!requestCallbacks) {905 return;906 }907 const callback = requestCallbacks[request.command];908 if (callback) {909 await callback(id, request);910 return;911 }912 }913 throw new Error(`Invalid command: ` + request.command);914 } catch (e) {915 const errors = [extractErrorMessageV8(e, streamIn, null, void 0, "")];916 try {917 sendResponse(id, { errors });918 } catch {919 }920 }921 };922 let isFirstPacket = true;923 let handleIncomingPacket = (bytes) => {924 if (isFirstPacket) {925 isFirstPacket = false;926 let binaryVersion = String.fromCharCode(...bytes);927 if (binaryVersion !== "0.28.1") {928 throw new Error(`Cannot start service: Host version "${"0.28.1"}" does not match binary version ${quote(binaryVersion)}`);929 }930 return;931 }932 let packet = decodePacket(bytes);933 if (packet.isRequest) {934 handleRequest(packet.id, packet.value);935 } else {936 let callback = responseCallbacks[packet.id];937 delete responseCallbacks[packet.id];938 if (packet.value.error) callback(packet.value.error, {});939 else callback(null, packet.value);940 }941 };942 let buildOrContext = ({ callName, refs, options, isTTY: isTTY2, defaultWD: defaultWD2, callback }) => {943 let refCount = 0;944 const buildKey = nextBuildKey++;945 const requestCallbacks = {};946 const buildRefs = {947 ref() {948 if (++refCount === 1) {949 if (refs) refs.ref();950 }951 },952 unref() {953 if (--refCount === 0) {954 delete requestCallbacksByKey[buildKey];955 if (refs) refs.unref();956 }957 }958 };959 requestCallbacksByKey[buildKey] = requestCallbacks;960 buildRefs.ref();961 buildOrContextImpl(962 callName,963 buildKey,964 sendRequest,965 sendResponse,966 buildRefs,967 streamIn,968 requestCallbacks,969 options,970 isTTY2,971 defaultWD2,972 (err, res) => {973 try {974 callback(err, res);975 } finally {976 buildRefs.unref();977 }978 }979 );980 };981 let transform2 = ({ callName, refs, input, options, isTTY: isTTY2, fs: fs3, callback }) => {982 const details = createObjectStash();983 let start = (inputPath) => {984 try {985 if (typeof input !== "string" && !(input instanceof Uint8Array))986 throw new Error('The input to "transform" must be a string or a Uint8Array');987 let {988 flags,989 mangleCache990 } = flagsForTransformOptions(callName, options, isTTY2, transformLogLevelDefault);991 let request = {992 command: "transform",993 flags,994 inputFS: inputPath !== null,995 input: inputPath !== null ? encodeUTF8(inputPath) : typeof input === "string" ? encodeUTF8(input) : input996 };997 if (mangleCache) request.mangleCache = mangleCache;998 sendRequest(refs, request, (error, response) => {999 if (error) return callback(new Error(error), null);1000 let errors = replaceDetailsInMessages(response.errors, details);1001 let warnings = replaceDetailsInMessages(response.warnings, details);1002 let outstanding = 1;1003 let next = () => {1004 if (--outstanding === 0) {1005 let result = {1006 warnings,1007 code: response.code,1008 map: response.map,1009 mangleCache: void 0,1010 legalComments: void 01011 };1012 if ("legalComments" in response) result.legalComments = response == null ? void 0 : response.legalComments;1013 if (response.mangleCache) result.mangleCache = response == null ? void 0 : response.mangleCache;1014 callback(null, result);1015 }1016 };1017 if (errors.length > 0) return callback(failureErrorWithLog("Transform failed", errors, warnings), null);1018 if (response.codeFS) {1019 outstanding++;1020 fs3.readFile(response.code, (err, contents) => {1021 if (err !== null) {1022 callback(err, null);1023 } else {1024 response.code = contents;1025 next();1026 }1027 });1028 }1029 if (response.mapFS) {1030 outstanding++;1031 fs3.readFile(response.map, (err, contents) => {1032 if (err !== null) {1033 callback(err, null);1034 } else {1035 response.map = contents;1036 next();1037 }1038 });1039 }1040 next();1041 });1042 } catch (e) {1043 let flags = [];1044 try {1045 pushLogFlags(flags, options, {}, isTTY2, transformLogLevelDefault);1046 } catch {1047 }1048 const error = extractErrorMessageV8(e, streamIn, details, void 0, "");1049 sendRequest(refs, { command: "error", flags, error }, () => {1050 error.detail = details.load(error.detail);1051 callback(failureErrorWithLog("Transform failed", [error], []), null);1052 });1053 }1054 };1055 if ((typeof input === "string" || input instanceof Uint8Array) && input.length > 1024 * 1024) {1056 let next = start;1057 start = () => fs3.writeFile(input, next);1058 }1059 start(null);1060 };1061 let formatMessages2 = ({ callName, refs, messages, options, callback }) => {1062 if (!options) throw new Error(`Missing second argument in ${callName}() call`);1063 let keys = {};1064 let kind = getFlag(options, keys, "kind", mustBeString);1065 let color = getFlag(options, keys, "color", mustBeBoolean);1066 let terminalWidth = getFlag(options, keys, "terminalWidth", mustBeInteger);1067 checkForInvalidFlags(options, keys, `in ${callName}() call`);1068 if (kind === void 0) throw new Error(`Missing "kind" in ${callName}() call`);1069 if (kind !== "error" && kind !== "warning") throw new Error(`Expected "kind" to be "error" or "warning" in ${callName}() call`);1070 let request = {1071 command: "format-msgs",1072 messages: sanitizeMessages(messages, "messages", null, "", terminalWidth),1073 isWarning: kind === "warning"1074 };1075 if (color !== void 0) request.color = color;1076 if (terminalWidth !== void 0) request.terminalWidth = terminalWidth;1077 sendRequest(refs, request, (error, response) => {1078 if (error) return callback(new Error(error), null);1079 callback(null, response.messages);1080 });1081 };1082 let analyzeMetafile2 = ({ callName, refs, metafile, options, callback }) => {1083 if (options === void 0) options = {};1084 let keys = {};1085 let color = getFlag(options, keys, "color", mustBeBoolean);1086 let verbose = getFlag(options, keys, "verbose", mustBeBoolean);1087 checkForInvalidFlags(options, keys, `in ${callName}() call`);1088 let request = {1089 command: "analyze-metafile",1090 metafile1091 };1092 if (color !== void 0) request.color = color;1093 if (verbose !== void 0) request.verbose = verbose;1094 sendRequest(refs, request, (error, response) => {1095 if (error) return callback(new Error(error), null);1096 callback(null, response.result);1097 });1098 };1099 return {1100 readFromStdout,1101 afterClose,1102 service: {1103 buildOrContext,1104 transform: transform2,1105 formatMessages: formatMessages2,1106 analyzeMetafile: analyzeMetafile21107 }1108 };1109}1110function buildOrContextImpl(callName, buildKey, sendRequest, sendResponse, refs, streamIn, requestCallbacks, options, isTTY2, defaultWD2, callback) {1111 const details = createObjectStash();1112 const isContext = callName === "context";1113 const handleError = (e, pluginName) => {1114 const flags = [];1115 try {1116 pushLogFlags(flags, options, {}, isTTY2, buildLogLevelDefault);1117 } catch {1118 }1119 const message = extractErrorMessageV8(e, streamIn, details, void 0, pluginName);1120 sendRequest(refs, { command: "error", flags, error: message }, () => {1121 message.detail = details.load(message.detail);1122 callback(failureErrorWithLog(isContext ? "Context failed" : "Build failed", [message], []), null);1123 });1124 };1125 let plugins;1126 if (typeof options === "object") {1127 const value = options.plugins;1128 if (value !== void 0) {1129 if (!Array.isArray(value)) return handleError(new Error(`"plugins" must be an array`), "");1130 plugins = value;1131 }1132 }1133 if (plugins && plugins.length > 0) {1134 if (streamIn.isSync) return handleError(new Error("Cannot use plugins in synchronous API calls"), "");1135 handlePlugins(1136 buildKey,1137 sendRequest,1138 sendResponse,1139 refs,1140 streamIn,1141 requestCallbacks,1142 options,1143 plugins,1144 details1145 ).then(1146 (result) => {1147 if (!result.ok) return handleError(result.error, result.pluginName);1148 try {1149 buildOrContextContinue(result.requestPlugins, result.runOnEndCallbacks, result.scheduleOnDisposeCallbacks);1150 } catch (e) {1151 handleError(e, "");1152 }1153 },1154 (e) => handleError(e, "")1155 );1156 return;1157 }1158 try {1159 buildOrContextContinue(null, (result, done) => done([], []), () => {1160 });1161 } catch (e) {1162 handleError(e, "");1163 }1164 function buildOrContextContinue(requestPlugins, runOnEndCallbacks, scheduleOnDisposeCallbacks) {1165 const writeDefault = streamIn.hasFS;1166 const {1167 entries,1168 flags,1169 write,1170 stdinContents,1171 stdinResolveDir,1172 absWorkingDir,1173 nodePaths,1174 mangleCache1175 } = flagsForBuildOptions(callName, options, isTTY2, buildLogLevelDefault, writeDefault);1176 if (write && !streamIn.hasFS) throw new Error(`The "write" option is unavailable in this environment`);1177 const request = {1178 command: "build",1179 key: buildKey,1180 entries,1181 flags,1182 write,1183 stdinContents,1184 stdinResolveDir,1185 absWorkingDir: absWorkingDir || defaultWD2,1186 nodePaths,1187 context: isContext1188 };1189 if (requestPlugins) request.plugins = requestPlugins;1190 if (mangleCache) request.mangleCache = mangleCache;1191 const buildResponseToResult = (response, callback2) => {1192 const result = {1193 errors: replaceDetailsInMessages(response.errors, details),1194 warnings: replaceDetailsInMessages(response.warnings, details),1195 outputFiles: void 0,1196 metafile: void 0,1197 mangleCache: void 01198 };1199 const originalErrors = result.errors.slice();1200 const originalWarnings = result.warnings.slice();