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/*2 * Jake JavaScript build tool3 * Copyright 2112 Matthew Eernisse (mde@fleegix.org)4 *5 * Licensed under the Apache License, Version 2.0 (the "License");6 * you may not use this file except in compliance with the License.7 * You may obtain a copy of the License at8 *9 * http://www.apache.org/licenses/LICENSE-2.010 *11 * Unless required by applicable law or agreed to in writing, software12 * distributed under the License is distributed on an "AS IS" BASIS,13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.14 * See the License for the specific language governing permissions and15 * limitations under the License.16 *17*/18 19let fs = require('fs');20let path = require('path');21let exec = require('child_process').execSync;22let FileList = require('filelist').FileList;23 24let PublishTask = function () {25 let args = Array.prototype.slice.call(arguments).filter(function (item) {26 return typeof item != 'undefined';27 });28 let arg;29 let opts = {};30 let definition;31 let prereqs = [];32 let createDef = function (arg) {33 return function () {34 this.packageFiles.include(arg);35 };36 };37 38 this.name = args.shift();39 40 // Old API, just name + list of files41 if (args.length == 1 && (Array.isArray(args[0]) || typeof args[0] == 'string')) {42 definition = createDef(args.pop());43 }44 // Current API, name + [prereqs] + [opts] + definition45 else {46 while ((arg = args.pop())) {47 // Definition func48 if (typeof arg == 'function') {49 definition = arg;50 }51 // Prereqs52 else if (Array.isArray(arg) || typeof arg == 'string') {53 prereqs = arg;54 }55 // Opts56 else {57 opts = arg;58 }59 }60 }61 62 this.prereqs = prereqs;63 this.packageFiles = new FileList();64 this.publishCmd = opts.publishCmd || 'npm publish %filename';65 this.publishMessage = opts.publishMessage || 'BOOM! Published.';66 this.gitCmd = opts.gitCmd || 'git';67 this.versionFiles = opts.versionFiles || ['package.json'];68 this.scheduleDelay = 5000;69 70 // Override utility funcs for testing71 this._ensureRepoClean = function (stdout) {72 if (stdout.length) {73 fail(new Error('Git repository is not clean.'));74 }75 };76 this._getCurrentBranch = function (stdout) {77 return String(stdout).trim();78 };79 80 if (typeof definition == 'function') {81 definition.call(this);82 }83 this.define();84};85 86 87PublishTask.prototype = new (function () {88 89 let _currentBranch = null;90 91 let getPackage = function () {92 let pkg = JSON.parse(fs.readFileSync(path.join(process.cwd(),93 '/package.json')).toString());94 return pkg;95 };96 let getPackageVersionNumber = function () {97 return getPackage().version;98 };99 100 this.define = function () {101 let self = this;102 103 namespace('publish', function () {104 task('fetchTags', function () {105 // Make sure local tags are up to date106 exec(self.gitCmd + ' fetch --tags');107 console.log('Fetched remote tags.');108 });109 110 task('getCurrentBranch', function () {111 // Figure out what branch to push to112 let stdout = exec(self.gitCmd + ' symbolic-ref --short HEAD').toString();113 if (!stdout) {114 throw new Error('No current Git branch found');115 }116 _currentBranch = self._getCurrentBranch(stdout);117 console.log('On branch ' + _currentBranch);118 });119 120 task('ensureClean', function () {121 // Only bump, push, and tag if the Git repo is clean122 let stdout = exec(self.gitCmd + ' status --porcelain --untracked-files=no').toString();123 // Throw if there's output124 self._ensureRepoClean(stdout);125 });126 127 task('updateVersionFiles', function () {128 let pkg;129 let version;130 let arr;131 let patch;132 133 // Grab the current version-string134 pkg = getPackage();135 version = pkg.version;136 // Increment the patch-number for the version137 arr = version.split('.');138 patch = parseInt(arr.pop(), 10) + 1;139 arr.push(patch);140 version = arr.join('.');141 142 // Update package.json or other files with the new version-info143 self.versionFiles.forEach(function (file) {144 let p = path.join(process.cwd(), file);145 let data = JSON.parse(fs.readFileSync(p).toString());146 data.version = version;147 fs.writeFileSync(p, JSON.stringify(data, true, 2) + '\n');148 });149 // Return the version string so that listeners for the 'complete' event150 // for this task can use it (e.g., to update other files before pushing151 // to Git)152 return version;153 });154 155 task('pushVersion', ['ensureClean', 'updateVersionFiles'], function () {156 let version = getPackageVersionNumber();157 let message = 'Version ' + version;158 let cmds = [159 self.gitCmd + ' commit -a -m "' + message + '"',160 self.gitCmd + ' push origin ' + _currentBranch,161 self.gitCmd + ' tag -a v' + version + ' -m "' + message + '"',162 self.gitCmd + ' push --tags'163 ];164 cmds.forEach((cmd) => {165 exec(cmd);166 });167 version = getPackageVersionNumber();168 console.log('Bumped version number to v' + version + '.');169 });170 171 let defineTask = task('definePackage', function () {172 let version = getPackageVersionNumber();173 new jake.PackageTask(self.name, 'v' + version, self.prereqs, function () {174 // Replace the PackageTask's FileList with the PublishTask's FileList175 this.packageFiles = self.packageFiles;176 this.needTarGz = true; // Default to tar.gz177 // If any of the need<CompressionFormat> or archive opts are set178 // proxy them to the PackageTask179 for (let p in this) {180 if (p.indexOf('need') === 0 || p.indexOf('archive') === 0) {181 if (typeof self[p] != 'undefined') {182 this[p] = self[p];183 }184 }185 }186 });187 });188 defineTask._internal = true;189 190 task('package', function () {191 let definePack = jake.Task['publish:definePackage'];192 let pack = jake.Task['package'];193 let version = getPackageVersionNumber();194 195 // May have already been run196 if (definePack.taskStatus == jake.Task.runStatuses.DONE) {197 definePack.reenable(true);198 }199 definePack.execute();200 definePack.on('complete', function () {201 pack.invoke();202 console.log('Created package for ' + self.name + ' v' + version);203 });204 });205 206 task('publish', function () {207 return new Promise((resolve) => {208 let version = getPackageVersionNumber();209 let filename;210 let cmd;211 212 console.log('Publishing ' + self.name + ' v' + version);213 214 if (typeof self.createPublishCommand == 'function') {215 cmd = self.createPublishCommand(version);216 }217 else {218 filename = './pkg/' + self.name + '-v' + version + '.tar.gz';219 cmd = self.publishCmd.replace(/%filename/gi, filename);220 }221 222 if (typeof cmd == 'function') {223 cmd(function (err) {224 if (err) {225 throw err;226 }227 console.log(self.publishMessage);228 resolve();229 });230 }231 else {232 // Hackity hack -- NPM publish sometimes returns errror like:233 // Error sending version data\nnpm ERR!234 // Error: forbidden 0.2.4 is modified, should match modified time235 setTimeout(function () {236 let stdout = exec(cmd).toString() || '';237 stdout = stdout.trim();238 if (stdout) {239 console.log(stdout);240 }241 console.log(self.publishMessage);242 resolve();243 }, self.scheduleDelay);244 }245 });246 });247 248 task('cleanup', function () {249 return new Promise((resolve) => {250 let clobber = jake.Task.clobber;251 clobber.reenable(true);252 clobber.on('complete', function () {253 console.log('Cleaned up package');254 resolve();255 });256 clobber.invoke();257 });258 });259 260 });261 262 let prefixNs = function (item) {263 return 'publish:' + item;264 };265 266 // Create aliases in the default namespace267 desc('Create a new version and release.');268 task('publish', self.prereqs.concat(['version', 'release']269 .map(prefixNs)));270 271 desc('Release the existing version.');272 task('publishExisting', self.prereqs.concat(['release']273 .map(prefixNs)));274 275 task('version', ['fetchTags', 'getCurrentBranch', 'pushVersion']276 .map(prefixNs));277 278 task('release', ['package', 'publish', 'cleanup']279 .map(prefixNs));280 281 // Invoke proactively so there will be a callable 'package' task282 // which can be used apart from 'publish'283 jake.Task['publish:definePackage'].invoke();284 };285 286})();287 288jake.PublishTask = PublishTask;289exports.PublishTask = PublishTask;290 291 