default.config === config defaults :)
parent
a0a6315e93
commit
5ca6f94e04
42
.system
42
.system
|
|
@ -10,10 +10,50 @@
|
||||||
"600F5B3828BC4D78BCBA375596F6898B": {
|
"600F5B3828BC4D78BCBA375596F6898B": {
|
||||||
"config": {},
|
"config": {},
|
||||||
"module": "sshd"
|
"module": "sshd"
|
||||||
|
},
|
||||||
|
"51E27DEEE43B4731A700D1E01E4CD27A": {
|
||||||
|
"config": {
|
||||||
|
"variance": 3.3541307827308686,
|
||||||
|
"base": 8.708580891798924
|
||||||
|
},
|
||||||
|
"module": "n-arm-bandit/bandit"
|
||||||
|
},
|
||||||
|
"05EA8268E28F4C9FAC7F8E5BE0ABAB5F": {
|
||||||
|
"config": {
|
||||||
|
"variance": 3.1710920949168986,
|
||||||
|
"base": 1.8243272668986266
|
||||||
|
},
|
||||||
|
"module": "n-arm-bandit/bandit"
|
||||||
|
},
|
||||||
|
"0F0B6AEB69754319A7E480E3989F7E54": {
|
||||||
|
"config": {
|
||||||
|
"variance": 3.4606530100151267,
|
||||||
|
"base": 7.154055540463526
|
||||||
|
},
|
||||||
|
"module": "n-arm-bandit/bandit"
|
||||||
|
},
|
||||||
|
"34064741B6324D9BBCEE0A1364F21220": {
|
||||||
|
"config": {
|
||||||
|
"variance": 6.020933937139774,
|
||||||
|
"base": 3.6188560055328733
|
||||||
|
},
|
||||||
|
"module": "n-arm-bandit/bandit"
|
||||||
|
},
|
||||||
|
"18461538E5A1487EBC9F54040295440A": {
|
||||||
|
"config": {
|
||||||
|
"variance": 5.750266712617811,
|
||||||
|
"base": 7.786595862237511
|
||||||
|
},
|
||||||
|
"module": "n-arm-bandit/bandit"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"aliases": {
|
"aliases": {
|
||||||
"systemd": "B7FFCD6C11974FC7A74509B6683D7420",
|
"systemd": "B7FFCD6C11974FC7A74509B6683D7420",
|
||||||
"sshd": "600F5B3828BC4D78BCBA375596F6898B"
|
"sshd": "600F5B3828BC4D78BCBA375596F6898B",
|
||||||
|
"SLOT1": "51E27DEEE43B4731A700D1E01E4CD27A",
|
||||||
|
"SLOT2": "05EA8268E28F4C9FAC7F8E5BE0ABAB5F",
|
||||||
|
"SLOT3": "0F0B6AEB69754319A7E480E3989F7E54",
|
||||||
|
"SLOT4": "34064741B6324D9BBCEE0A1364F21220",
|
||||||
|
"SLOT5": "18461538E5A1487EBC9F54040295440A"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -9,10 +9,12 @@
|
||||||
"tsc": "tsc"
|
"tsc": "tsc"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@types/lodash": "^4.14.178",
|
||||||
"@types/md5": "^2.3.1",
|
"@types/md5": "^2.3.1",
|
||||||
"@types/node": "^16.11.12",
|
"@types/node": "^16.11.12",
|
||||||
"@types/uuid": "^8.3.3",
|
"@types/uuid": "^8.3.3",
|
||||||
"chalk": "^5.0.0",
|
"chalk": "^5.0.0",
|
||||||
|
"lodash": "^4.17.21",
|
||||||
"md5": "^2.3.0",
|
"md5": "^2.3.0",
|
||||||
"serverline": "^1.5.0",
|
"serverline": "^1.5.0",
|
||||||
"ssh2": "^1.5.0",
|
"ssh2": "^1.5.0",
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,14 @@
|
||||||
import { system, autoColorString } from '@kernel:base';
|
import { system, autoColorString } from '@kernel:base';
|
||||||
import chalk from 'chalk';
|
import chalk from 'chalk';
|
||||||
import * as uuid from 'uuid';
|
import * as uuid from 'uuid';
|
||||||
|
import { merge } from 'lodash';
|
||||||
|
|
||||||
export default async function create(module: string, name: string, id: string) {
|
export default async function create(module: string, name: string, id: string) {
|
||||||
if(!module || typeof module !== 'string' || module.trim() === '') {
|
if(!module || typeof module !== 'string' || module.trim() === '') {
|
||||||
throw new Error('INVALID_MODULE_NAME');
|
throw new Error('INVALID_MODULE_NAME');
|
||||||
}
|
}
|
||||||
if(name && (typeof name !== 'string' || name.trim() === '')) {
|
if(name && (typeof name !== 'string' || name.trim() === '')) {
|
||||||
throw new Error('IVALID_MODULE_ALIAS');
|
throw new Error('INVALID_MODULE_ALIAS');
|
||||||
}
|
}
|
||||||
// undefined means no paramter given. this is treated as a default alias
|
// undefined means no paramter given. this is treated as a default alias
|
||||||
// otherise, null should be to create anonymous instances. only addressable
|
// otherise, null should be to create anonymous instances. only addressable
|
||||||
|
|
@ -21,11 +22,24 @@ export default async function create(module: string, name: string, id: string) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const imported = (await import('@builtin:' + module));
|
const imported = (await import('@builtin:' + module));
|
||||||
const functions = 'default' in imported ? imported.default : imported;
|
const { default: moduleOptions, ...functions} = imported;
|
||||||
|
|
||||||
|
const config: object = (function () {
|
||||||
|
if(moduleOptions && 'config' in moduleOptions) {
|
||||||
|
if(typeof moduleOptions.config === 'function') {
|
||||||
|
return moduleOptions.config();
|
||||||
|
} else {
|
||||||
|
return moduleOptions.config;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
|
||||||
id ??= uuid.v4().replace(/-/g, '').toUpperCase();
|
id ??= uuid.v4().replace(/-/g, '').toUpperCase();
|
||||||
system.instances.set(id, {
|
system.instances.set(id, {
|
||||||
privateScope: {
|
privateScope: {
|
||||||
config: {},
|
config,
|
||||||
ram: {}
|
ram: {}
|
||||||
},
|
},
|
||||||
module: module,
|
module: module,
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
export function run(tries: string) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
|
||||||
|
export default {
|
||||||
|
config: () => {
|
||||||
|
return {
|
||||||
|
variance: Math.random() * 10,
|
||||||
|
base: Math.random() * 10
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function randomNormal(width: number = 1, offset: number = 0) {
|
||||||
|
var u = 0, v = 0;
|
||||||
|
while(u === 0) u = Math.random(); //Converting [0,1) to (0,1)
|
||||||
|
while(v === 0) v = Math.random();
|
||||||
|
const base = Math.sqrt( -2.0 * Math.log( u ) ) * Math.cos( 2.0 * Math.PI * v );
|
||||||
|
}
|
||||||
|
|
||||||
|
export function pull() {
|
||||||
|
console.log(randomNormal(this.config.variance, this.config.base));
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
create n-arm-bandit/bandit SLOT1
|
||||||
|
create n-arm-bandit/bandit SLOT2
|
||||||
|
create n-arm-bandit/bandit SLOT3
|
||||||
|
create n-arm-bandit/bandit SLOT4
|
||||||
|
create n-arm-bandit/bandit SLOT5
|
||||||
56
yarn.lock
56
yarn.lock
|
|
@ -39,6 +39,11 @@
|
||||||
resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
|
resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
|
||||||
integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4=
|
integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4=
|
||||||
|
|
||||||
|
"@types/lodash@^4.14.178":
|
||||||
|
version "4.14.178"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.178.tgz#341f6d2247db528d4a13ddbb374bcdc80406f4f8"
|
||||||
|
integrity sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw==
|
||||||
|
|
||||||
"@types/md5@^2.3.1":
|
"@types/md5@^2.3.1":
|
||||||
version "2.3.1"
|
version "2.3.1"
|
||||||
resolved "https://registry.yarnpkg.com/@types/md5/-/md5-2.3.1.tgz#010bcf3bb50a2cff3a574cb1c0b4051a9c67d6bc"
|
resolved "https://registry.yarnpkg.com/@types/md5/-/md5-2.3.1.tgz#010bcf3bb50a2cff3a574cb1c0b4051a9c67d6bc"
|
||||||
|
|
@ -85,26 +90,6 @@ bcrypt-pbkdf@^1.0.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
tweetnacl "^0.14.3"
|
tweetnacl "^0.14.3"
|
||||||
|
|
||||||
binary@*:
|
|
||||||
version "0.3.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/binary/-/binary-0.3.0.tgz#9f60553bc5ce8c3386f3b553cff47462adecaa79"
|
|
||||||
integrity sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=
|
|
||||||
dependencies:
|
|
||||||
buffers "~0.1.1"
|
|
||||||
chainsaw "~0.1.0"
|
|
||||||
|
|
||||||
buffers@*, buffers@~0.1.1:
|
|
||||||
version "0.1.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb"
|
|
||||||
integrity sha1-skV5w77U1tOWru5tmorn9Ugqt7s=
|
|
||||||
|
|
||||||
chainsaw@~0.1.0:
|
|
||||||
version "0.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/chainsaw/-/chainsaw-0.1.0.tgz#5eab50b28afe58074d0d58291388828b5e5fbc98"
|
|
||||||
integrity sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=
|
|
||||||
dependencies:
|
|
||||||
traverse ">=0.3.0 <0.4"
|
|
||||||
|
|
||||||
chalk@^5.0.0:
|
chalk@^5.0.0:
|
||||||
version "5.0.0"
|
version "5.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.0.0.tgz#bd96c6bb8e02b96e08c0c3ee2a9d90e050c7b832"
|
resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.0.0.tgz#bd96c6bb8e02b96e08c0c3ee2a9d90e050c7b832"
|
||||||
|
|
@ -132,13 +117,6 @@ crypt@0.0.2:
|
||||||
resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b"
|
resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b"
|
||||||
integrity sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=
|
integrity sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=
|
||||||
|
|
||||||
debug@*:
|
|
||||||
version "4.3.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664"
|
|
||||||
integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==
|
|
||||||
dependencies:
|
|
||||||
ms "2.1.2"
|
|
||||||
|
|
||||||
diff@^4.0.1:
|
diff@^4.0.1:
|
||||||
version "4.0.2"
|
version "4.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
|
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
|
||||||
|
|
@ -156,6 +134,11 @@ json5@^1.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
minimist "^1.2.0"
|
minimist "^1.2.0"
|
||||||
|
|
||||||
|
lodash@^4.17.21:
|
||||||
|
version "4.17.21"
|
||||||
|
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
|
||||||
|
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
|
||||||
|
|
||||||
make-error@^1.1.1:
|
make-error@^1.1.1:
|
||||||
version "1.3.6"
|
version "1.3.6"
|
||||||
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
|
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
|
||||||
|
|
@ -175,11 +158,6 @@ minimist@^1.2.0:
|
||||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
|
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
|
||||||
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
|
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
|
||||||
|
|
||||||
ms@2.1.2:
|
|
||||||
version "2.1.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
|
|
||||||
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
|
|
||||||
|
|
||||||
nan@^2.14.1, nan@^2.15.0:
|
nan@^2.14.1, nan@^2.15.0:
|
||||||
version "2.15.0"
|
version "2.15.0"
|
||||||
resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee"
|
resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee"
|
||||||
|
|
@ -211,24 +189,10 @@ strip-bom@^3.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
|
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
|
||||||
integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=
|
integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=
|
||||||
|
|
||||||
telnet@^0.0.1:
|
|
||||||
version "0.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/telnet/-/telnet-0.0.1.tgz#db164465c551a99ee785ea7fbba5a67cfc26c4af"
|
|
||||||
integrity sha1-2xZEZcVRqZ7nhep/u6WmfPwmxK8=
|
|
||||||
dependencies:
|
|
||||||
binary "*"
|
|
||||||
buffers "*"
|
|
||||||
debug "*"
|
|
||||||
|
|
||||||
"telnet@git+https://github.com/TooTallNate/node-telnet.git#780340617e1f223de384cdfcb7cecf0a1a6f1159":
|
"telnet@git+https://github.com/TooTallNate/node-telnet.git#780340617e1f223de384cdfcb7cecf0a1a6f1159":
|
||||||
version "0.0.1"
|
version "0.0.1"
|
||||||
resolved "git+https://github.com/TooTallNate/node-telnet.git#780340617e1f223de384cdfcb7cecf0a1a6f1159"
|
resolved "git+https://github.com/TooTallNate/node-telnet.git#780340617e1f223de384cdfcb7cecf0a1a6f1159"
|
||||||
|
|
||||||
"traverse@>=0.3.0 <0.4":
|
|
||||||
version "0.3.9"
|
|
||||||
resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9"
|
|
||||||
integrity sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=
|
|
||||||
|
|
||||||
ts-node@^10.4.0:
|
ts-node@^10.4.0:
|
||||||
version "10.4.0"
|
version "10.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.4.0.tgz#680f88945885f4e6cf450e7f0d6223dd404895f7"
|
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.4.0.tgz#680f88945885f4e6cf450e7f0d6223dd404895f7"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue