nesoi 3.3.11 → 3.3.13
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/lib/bundler/browser/browser.bundler.js +4 -7
- package/lib/bundler/browser/stages/8_replace_nesoi_for_browser_stage.js +1 -0
- package/lib/bundler/distributed/distributed.bundler.js +6 -4
- package/lib/bundler/distributed/stages/1_mkdir_stage.js +2 -0
- package/lib/bundler/distributed/stages/2_build_typescript_stage.js +3 -1
- package/lib/bundler/distributed/stages/3_copy_types_stage.js +2 -0
- package/lib/bundler/distributed/stages/4_dump_modules_stage.js +2 -0
- package/lib/bundler/monolyth/monolyth.bundler.js +7 -5
- package/lib/bundler/monolyth/stages/1_mkdir_stage.js +2 -0
- package/lib/bundler/monolyth/stages/2_build_typescript_stage.js +3 -1
- package/lib/bundler/monolyth/stages/3_copy_types_stage.js +2 -0
- package/lib/bundler/monolyth/stages/4_dump_modules_stage.js +2 -0
- package/lib/bundler/monolyth/stages/5_copy_static_stage.js +2 -0
- package/lib/bundler/monolyth/stages/6_dump_cli_stage.js +2 -0
- package/lib/bundler/monolyth/stages/7_dump_package_json_stage.js +2 -0
- package/lib/compiler/compiler.js +7 -2
- package/lib/compiler/elements/bucket.element.js +3 -5
- package/lib/compiler/elements/constants.element.js +2 -2
- package/lib/compiler/elements/controller.element.js +1 -1
- package/lib/compiler/elements/element.js +15 -2
- package/lib/compiler/elements/externals.element.js +12 -4
- package/lib/compiler/elements/message.element.js +7 -0
- package/lib/compiler/elements/queue.element.js +1 -1
- package/lib/compiler/elements/topic.element.js +1 -1
- package/lib/compiler/module.js +6 -1
- package/lib/compiler/stages/1_scan_stage.js +1 -0
- package/lib/compiler/stages/2_treeshake_stage.js +1 -0
- package/lib/compiler/stages/3_extract_ts_stage.js +1 -0
- package/lib/compiler/stages/4_build_schemas_stage.js +3 -3
- package/lib/compiler/stages/5_inject_ts_stage.js +1 -0
- package/lib/compiler/stages/6_build_elements_stage.js +1 -0
- package/lib/compiler/stages/7_dump_stage.js +5 -3
- package/lib/compiler/stages/8_diagnose_stage.js +1 -0
- package/lib/compiler/typescript/bridge/inject.js +1 -1
- package/lib/compiler/typescript/bridge/organize.js +25 -32
- package/lib/compiler/typescript/parser.js +10 -0
- package/lib/compiler/typescript/source.js +6 -4
- package/lib/compiler/typescript/typescript_compiler.js +8 -3
- package/lib/elements/blocks/block.builder.js +16 -14
- package/lib/elements/blocks/block.js +3 -0
- package/lib/elements/blocks/block.schema.js +10 -1
- package/lib/elements/blocks/job/internal/machine_job.builder.js +10 -3
- package/lib/elements/blocks/job/internal/machine_job.schema.js +2 -0
- package/lib/elements/blocks/job/internal/resource_job.builder.js +16 -4
- package/lib/elements/blocks/job/internal/resource_job.schema.js +7 -0
- package/lib/elements/blocks/job/job.builder.js +5 -3
- package/lib/elements/blocks/job/job.js +2 -0
- package/lib/elements/blocks/job/job.schema.js +11 -1
- package/lib/elements/blocks/machine/machine.builder.js +6 -3
- package/lib/elements/blocks/machine/machine.js +7 -0
- package/lib/elements/blocks/machine/machine.schema.js +38 -3
- package/lib/elements/blocks/machine/machine_state.builder.js +6 -4
- package/lib/elements/blocks/machine/machine_transition.builder.js +8 -1
- package/lib/elements/blocks/queue/adapters/bucket.queue_adapter.js +1 -0
- package/lib/elements/blocks/queue/queue.builder.js +1 -1
- package/lib/elements/blocks/queue/queue.js +2 -0
- package/lib/elements/blocks/queue/queue.schema.js +7 -2
- package/lib/elements/blocks/resource/resource.builder.js +4 -3
- package/lib/elements/blocks/resource/resource.js +2 -0
- package/lib/elements/blocks/resource/resource.schema.js +13 -1
- package/lib/elements/blocks/topic/topic.builder.js +1 -1
- package/lib/elements/blocks/topic/topic.js +3 -1
- package/lib/elements/blocks/topic/topic.schema.js +8 -2
- package/lib/elements/edge/controller/adapters/cli.controller_adapter.js +2 -5
- package/lib/elements/edge/controller/adapters/controller_adapter.js +3 -0
- package/lib/elements/edge/controller/controller.builder.js +32 -17
- package/lib/elements/edge/controller/controller.js +10 -0
- package/lib/elements/edge/controller/controller.schema.js +38 -5
- package/lib/elements/edge/externals/externals.builder.js +9 -8
- package/lib/elements/edge/externals/externals.schema.js +9 -1
- package/lib/elements/entities/bucket/adapters/browserdb.bucket_adapter.js +7 -6
- package/lib/elements/entities/bucket/adapters/browserdb.service.d.ts +1 -1
- package/lib/elements/entities/bucket/adapters/browserdb.service.js +9 -10
- package/lib/elements/entities/bucket/adapters/bucket_adapter.js +3 -0
- package/lib/elements/entities/bucket/adapters/json.bucket_adapter.js +4 -2
- package/lib/elements/entities/bucket/adapters/memory.bucket_adapter.js +3 -0
- package/lib/elements/entities/bucket/adapters/memory.nql.js +1 -0
- package/lib/elements/entities/bucket/bucket.builder.js +9 -3
- package/lib/elements/entities/bucket/bucket.js +15 -8
- package/lib/elements/entities/bucket/bucket.schema.js +14 -1
- package/lib/elements/entities/bucket/cache/bucket_cache.js +10 -0
- package/lib/elements/entities/bucket/graph/bucket_graph.builder.js +1 -3
- package/lib/elements/entities/bucket/graph/bucket_graph.js +3 -0
- package/lib/elements/entities/bucket/graph/bucket_graph.schema.js +13 -2
- package/lib/elements/entities/bucket/graph/bucket_graph_link.builder.js +11 -2
- package/lib/elements/entities/bucket/model/bucket_model.builder.js +2 -1
- package/lib/elements/entities/bucket/model/bucket_model.convert.js +2 -1
- package/lib/elements/entities/bucket/model/bucket_model.js +3 -0
- package/lib/elements/entities/bucket/model/bucket_model.schema.js +15 -2
- package/lib/elements/entities/bucket/model/bucket_model_field.builder.js +17 -4
- package/lib/elements/entities/bucket/query/nql_compiler.js +28 -21
- package/lib/elements/entities/bucket/query/nql_engine.js +2 -1
- package/lib/elements/entities/bucket/view/bucket_view.builder.js +2 -1
- package/lib/elements/entities/bucket/view/bucket_view.js +4 -3
- package/lib/elements/entities/bucket/view/bucket_view.schema.js +13 -2
- package/lib/elements/entities/bucket/view/bucket_view_field.builder.js +8 -1
- package/lib/elements/entities/constants/constants.builder.js +12 -5
- package/lib/elements/entities/constants/constants.js +1 -0
- package/lib/elements/entities/constants/constants.schema.js +19 -3
- package/lib/elements/entities/drive/drive_adapter.js +1 -0
- package/lib/elements/entities/drive/local.drive_adapter.d.ts +1 -1
- package/lib/elements/entities/drive/local.drive_adapter.js +1 -0
- package/lib/elements/entities/message/message.builder.js +5 -2
- package/lib/elements/entities/message/message.js +2 -0
- package/lib/elements/entities/message/message.schema.js +7 -1
- package/lib/elements/entities/message/message_parser.js +1 -0
- package/lib/elements/entities/message/template/message_template.builder.js +2 -3
- package/lib/elements/entities/message/template/message_template.schema.js +16 -2
- package/lib/elements/entities/message/template/message_template_field.builder.js +14 -4
- package/lib/engine/app/app.config.js +3 -2
- package/lib/engine/app/app.js +21 -14
- package/lib/engine/app/inc/inc.client.d.ts +1 -1
- package/lib/engine/app/inc/inc.client.js +2 -0
- package/lib/engine/app/inc/inc.server.d.ts +1 -1
- package/lib/engine/app/inc/inc.server.js +3 -1
- package/lib/engine/app/inline.app.js +4 -1
- package/lib/engine/app/native/browser.app.js +2 -1
- package/lib/engine/app/native/distributed.app.config.js +1 -0
- package/lib/engine/app/native/distributed.app.js +2 -2
- package/lib/engine/app/native/distributed_node.app.js +6 -1
- package/lib/engine/app/native/monolyth.app.js +2 -0
- package/lib/engine/app/service.js +8 -0
- package/lib/engine/auth/zero.authn_provider.js +1 -4
- package/lib/engine/cli/cli.js +6 -2
- package/lib/engine/cli/cli_adapter.js +9 -1
- package/lib/engine/cli/cli_input.js +6 -4
- package/lib/engine/cli/script.js +8 -6
- package/lib/engine/daemon.js +14 -0
- package/lib/engine/data/date.js +3 -0
- package/lib/engine/data/datetime.js +34 -26
- package/lib/engine/data/decimal.js +6 -1
- package/lib/engine/data/duration.js +28 -26
- package/lib/engine/data/error.js +3 -0
- package/lib/engine/data/file.js +21 -6
- package/lib/engine/data/tree.js +3 -1
- package/lib/engine/dependency.js +17 -0
- package/lib/engine/module.js +35 -12
- package/lib/engine/space.js +3 -2
- package/lib/engine/transaction/nodes/bucket.trx_node.d.ts +1 -1
- package/lib/engine/transaction/nodes/bucket.trx_node.js +10 -1
- package/lib/engine/transaction/nodes/bucket_query.trx_node.js +9 -2
- package/lib/engine/transaction/nodes/external.trx_node.js +3 -0
- package/lib/engine/transaction/nodes/job.trx_node.js +5 -0
- package/lib/engine/transaction/nodes/machine.trx_node.js +4 -0
- package/lib/engine/transaction/nodes/queue.trx_node.js +4 -0
- package/lib/engine/transaction/nodes/resource.trx_node.js +4 -0
- package/lib/engine/transaction/nodes/topic.trx_node.js +4 -0
- package/lib/engine/transaction/trx.js +18 -3
- package/lib/engine/transaction/trx_engine.js +12 -1
- package/lib/engine/transaction/trx_node.js +23 -11
- package/lib/engine/tree.js +6 -5
- package/lib/engine/util/crypto.js +17 -17
- package/lib/engine/util/log.js +9 -9
- package/lib/engine/util/path.js +1 -1
- package/lib/engine/util/random.d.ts +1 -1
- package/lib/engine/util/regex.d.ts +3 -0
- package/lib/engine/util/regex.js +82 -0
- package/package.json +1 -4
- package/tools/joaquin/mock.js +10 -0
- package/tsconfig.build.tsbuildinfo +1 -1
|
@@ -6,13 +6,18 @@ exports.$Constants = exports.$ConstantEnum = exports.$ConstantEnumOption = expor
|
|
|
6
6
|
* @subcategory Entity
|
|
7
7
|
* */
|
|
8
8
|
class $ConstantValue {
|
|
9
|
+
module;
|
|
10
|
+
name;
|
|
11
|
+
scope;
|
|
12
|
+
key;
|
|
13
|
+
value;
|
|
14
|
+
$t = 'constants.value';
|
|
9
15
|
constructor(module, name, scope, key, value) {
|
|
10
16
|
this.module = module;
|
|
11
17
|
this.name = name;
|
|
12
18
|
this.scope = scope;
|
|
13
19
|
this.key = key;
|
|
14
20
|
this.value = value;
|
|
15
|
-
this.$t = 'constants.value';
|
|
16
21
|
}
|
|
17
22
|
}
|
|
18
23
|
exports.$ConstantValue = $ConstantValue;
|
|
@@ -21,6 +26,8 @@ exports.$ConstantValue = $ConstantValue;
|
|
|
21
26
|
* @subcategory Entity
|
|
22
27
|
* */
|
|
23
28
|
class $ConstantEnumOption {
|
|
29
|
+
key;
|
|
30
|
+
value;
|
|
24
31
|
constructor(key, value) {
|
|
25
32
|
this.key = key;
|
|
26
33
|
this.value = value;
|
|
@@ -32,11 +39,15 @@ exports.$ConstantEnumOption = $ConstantEnumOption;
|
|
|
32
39
|
* @subcategory Entity
|
|
33
40
|
* */
|
|
34
41
|
class $ConstantEnum {
|
|
42
|
+
module;
|
|
43
|
+
name;
|
|
44
|
+
options;
|
|
45
|
+
$t = 'constants.enum';
|
|
46
|
+
'#data';
|
|
35
47
|
constructor(module, name, options) {
|
|
36
48
|
this.module = module;
|
|
37
49
|
this.name = name;
|
|
38
50
|
this.options = options;
|
|
39
|
-
this.$t = 'constants.enum';
|
|
40
51
|
}
|
|
41
52
|
static keys(schema) {
|
|
42
53
|
return Object.keys(schema.options);
|
|
@@ -51,11 +62,16 @@ exports.$ConstantEnum = $ConstantEnum;
|
|
|
51
62
|
* @subcategory Entity
|
|
52
63
|
* */
|
|
53
64
|
class $Constants {
|
|
65
|
+
name;
|
|
66
|
+
values;
|
|
67
|
+
enums;
|
|
68
|
+
$t = 'constants';
|
|
69
|
+
'#enumpath';
|
|
70
|
+
module;
|
|
54
71
|
constructor(name, values = {}, enums = {}) {
|
|
55
72
|
this.name = name;
|
|
56
73
|
this.values = values;
|
|
57
74
|
this.enums = enums;
|
|
58
|
-
this.$t = 'constants';
|
|
59
75
|
this.module = this.name;
|
|
60
76
|
}
|
|
61
77
|
static merge(to, from) {
|
|
@@ -8,7 +8,7 @@ export declare class LocalDriveAdapter extends DriveAdapter {
|
|
|
8
8
|
dirpath: string;
|
|
9
9
|
constructor(dirpath: string, config?: DriveAdapterConfig);
|
|
10
10
|
public(remoteFile: NesoiFile): Promise<string>;
|
|
11
|
-
read(remoteFile: NesoiFile): Promise<
|
|
11
|
+
read(remoteFile: NesoiFile): Promise<NonSharedBuffer>;
|
|
12
12
|
delete(remoteFile: NesoiFile): Promise<void>;
|
|
13
13
|
move(remoteFile: NesoiFile, remotePath: string): Promise<void>;
|
|
14
14
|
new(filename: string, data: string | NodeJS.ArrayBufferView, dirpath?: string): Promise<NesoiFile>;
|
|
@@ -10,11 +10,14 @@ const message_template_field_builder_1 = require("./template/message_template_fi
|
|
|
10
10
|
* @subcategory Entity
|
|
11
11
|
* */
|
|
12
12
|
class MessageBuilder {
|
|
13
|
+
module;
|
|
14
|
+
name;
|
|
15
|
+
$b = 'message';
|
|
16
|
+
alias;
|
|
17
|
+
_template = new message_template_builder_1.MessageTemplateBuilder();
|
|
13
18
|
constructor(module, name) {
|
|
14
19
|
this.module = module;
|
|
15
20
|
this.name = name;
|
|
16
|
-
this.$b = 'message';
|
|
17
|
-
this._template = new message_template_builder_1.MessageTemplateBuilder();
|
|
18
21
|
}
|
|
19
22
|
as(alias) {
|
|
20
23
|
this.alias = alias;
|
|
@@ -7,12 +7,18 @@ const string_1 = require("../../../engine/util/string");
|
|
|
7
7
|
* @subcategory Entity
|
|
8
8
|
* */
|
|
9
9
|
class $Message {
|
|
10
|
+
module;
|
|
11
|
+
name;
|
|
12
|
+
alias;
|
|
13
|
+
template;
|
|
14
|
+
$t = 'message';
|
|
15
|
+
'#raw'; // typeonly
|
|
16
|
+
'#parsed'; // typeonly
|
|
10
17
|
constructor(module, name, alias, template) {
|
|
11
18
|
this.module = module;
|
|
12
19
|
this.name = name;
|
|
13
20
|
this.alias = alias;
|
|
14
21
|
this.template = template;
|
|
15
|
-
this.$t = 'message';
|
|
16
22
|
}
|
|
17
23
|
static describe(schema) {
|
|
18
24
|
let str = '';
|
|
@@ -8,9 +8,8 @@ const message_template_field_builder_1 = require("./message_template_field.build
|
|
|
8
8
|
* @subcategory Entity
|
|
9
9
|
* */
|
|
10
10
|
class MessageTemplateBuilder {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
11
|
+
_fields = {};
|
|
12
|
+
constructor() { }
|
|
14
13
|
fields(builders) {
|
|
15
14
|
this._fields = builders;
|
|
16
15
|
return this;
|
|
@@ -7,6 +7,20 @@ const deep_1 = require("../../../../engine/util/deep");
|
|
|
7
7
|
* @subcategory Entity
|
|
8
8
|
* */
|
|
9
9
|
class $MessageTemplateField {
|
|
10
|
+
type;
|
|
11
|
+
name;
|
|
12
|
+
alias;
|
|
13
|
+
pathRaw;
|
|
14
|
+
pathParsed;
|
|
15
|
+
required;
|
|
16
|
+
defaultValue;
|
|
17
|
+
nullable;
|
|
18
|
+
rules;
|
|
19
|
+
meta;
|
|
20
|
+
children;
|
|
21
|
+
'#raw';
|
|
22
|
+
'#parsed';
|
|
23
|
+
$t = 'message.template.field';
|
|
10
24
|
constructor(
|
|
11
25
|
/** A string representing the type of data carried by the field */
|
|
12
26
|
type,
|
|
@@ -32,7 +46,6 @@ class $MessageTemplateField {
|
|
|
32
46
|
this.rules = rules;
|
|
33
47
|
this.meta = meta;
|
|
34
48
|
this.children = children;
|
|
35
|
-
this.$t = 'message.template.field';
|
|
36
49
|
}
|
|
37
50
|
/**
|
|
38
51
|
* Warning: this does not clone the field's children or union.
|
|
@@ -48,9 +61,10 @@ exports.$MessageTemplateField = $MessageTemplateField;
|
|
|
48
61
|
* @subcategory Entity
|
|
49
62
|
* */
|
|
50
63
|
class $MessageTemplate {
|
|
64
|
+
fields;
|
|
65
|
+
$t = 'message.template';
|
|
51
66
|
constructor(fields = {}) {
|
|
52
67
|
this.fields = fields;
|
|
53
|
-
this.$t = 'message.template';
|
|
54
68
|
}
|
|
55
69
|
static fieldsOfType(template, type) {
|
|
56
70
|
const fields = [];
|
|
@@ -9,6 +9,8 @@ const dependency_1 = require("../../../../engine/dependency");
|
|
|
9
9
|
* @subcategory Entity
|
|
10
10
|
* */
|
|
11
11
|
class MessageTemplateFieldFactory {
|
|
12
|
+
module;
|
|
13
|
+
alias;
|
|
12
14
|
constructor(module) {
|
|
13
15
|
this.module = module;
|
|
14
16
|
}
|
|
@@ -125,15 +127,23 @@ exports.MessageTemplateFieldFactory = MessageTemplateFieldFactory;
|
|
|
125
127
|
* @subcategory Entity
|
|
126
128
|
* */
|
|
127
129
|
class MessageTemplateFieldBuilder {
|
|
130
|
+
type;
|
|
131
|
+
meta;
|
|
132
|
+
alias;
|
|
133
|
+
children;
|
|
134
|
+
'#input';
|
|
135
|
+
'#input_suffix';
|
|
136
|
+
'#output';
|
|
137
|
+
'#optional';
|
|
138
|
+
_required = true;
|
|
139
|
+
_defaultValue = undefined;
|
|
140
|
+
_nullable = false;
|
|
141
|
+
_rules = [];
|
|
128
142
|
constructor(type, meta, alias, children) {
|
|
129
143
|
this.type = type;
|
|
130
144
|
this.meta = meta;
|
|
131
145
|
this.alias = alias;
|
|
132
146
|
this.children = children;
|
|
133
|
-
this._required = true;
|
|
134
|
-
this._defaultValue = undefined;
|
|
135
|
-
this._nullable = false;
|
|
136
|
-
this._rules = [];
|
|
137
147
|
}
|
|
138
148
|
as(alias) {
|
|
139
149
|
this.alias = alias;
|
|
@@ -11,6 +11,8 @@ const tree_1 = require("../tree");
|
|
|
11
11
|
* @category App
|
|
12
12
|
*/
|
|
13
13
|
class AppConfigBuilder {
|
|
14
|
+
app;
|
|
15
|
+
config;
|
|
14
16
|
constructor(app) {
|
|
15
17
|
this.app = app;
|
|
16
18
|
this.config = app._config;
|
|
@@ -37,8 +39,7 @@ class AppConfigBuilder {
|
|
|
37
39
|
return this.app;
|
|
38
40
|
}
|
|
39
41
|
module(name, config) {
|
|
40
|
-
|
|
41
|
-
(_a = this.config).modules ?? (_a.modules = {});
|
|
42
|
+
this.config.modules ??= {};
|
|
42
43
|
this.config.modules[name] = config;
|
|
43
44
|
return this.app;
|
|
44
45
|
}
|
package/lib/engine/app/app.js
CHANGED
|
@@ -11,21 +11,28 @@ const app_config_1 = require("./app.config");
|
|
|
11
11
|
* @category App
|
|
12
12
|
*/
|
|
13
13
|
class App {
|
|
14
|
+
name;
|
|
15
|
+
_config = {};
|
|
16
|
+
_nesoiNpmPkg = 'nesoi';
|
|
17
|
+
// This is a list of names to be read from the space.
|
|
18
|
+
// If the app is not booted with a space, this does nothing.
|
|
19
|
+
_spaceModuleNames = [];
|
|
20
|
+
// A list of modules injected into the application prior to
|
|
21
|
+
// running the daemon. These will be included on the daemon
|
|
22
|
+
// once it's run.
|
|
23
|
+
_injectedModules = [];
|
|
24
|
+
// A list of services, which are created and destroyed
|
|
25
|
+
// along with the daemon. These are internally available for
|
|
26
|
+
// blocks - usually used by adapters.
|
|
27
|
+
_services = {};
|
|
28
|
+
// If the app is being booted from a space (live or compiling)
|
|
29
|
+
// this is defined.
|
|
30
|
+
space;
|
|
31
|
+
// If the app is being booted from a list of builders,
|
|
32
|
+
// this is defined.
|
|
33
|
+
builders;
|
|
14
34
|
constructor(name, boot) {
|
|
15
35
|
this.name = name;
|
|
16
|
-
this._config = {};
|
|
17
|
-
this._nesoiNpmPkg = 'nesoi';
|
|
18
|
-
// This is a list of names to be read from the space.
|
|
19
|
-
// If the app is not booted with a space, this does nothing.
|
|
20
|
-
this._spaceModuleNames = [];
|
|
21
|
-
// A list of modules injected into the application prior to
|
|
22
|
-
// running the daemon. These will be included on the daemon
|
|
23
|
-
// once it's run.
|
|
24
|
-
this._injectedModules = [];
|
|
25
|
-
// A list of services, which are created and destroyed
|
|
26
|
-
// along with the daemon. These are internally available for
|
|
27
|
-
// blocks - usually used by adapters.
|
|
28
|
-
this._services = {};
|
|
29
36
|
if (boot) {
|
|
30
37
|
if ('space' in boot) {
|
|
31
38
|
this.space = boot.space;
|
|
@@ -85,7 +92,7 @@ class App {
|
|
|
85
92
|
const buildersByModule = {};
|
|
86
93
|
(this.builders || []).forEach(builder => {
|
|
87
94
|
const module = builder.module;
|
|
88
|
-
buildersByModule[module]
|
|
95
|
+
buildersByModule[module] ||= [];
|
|
89
96
|
buildersByModule[module].push(builder);
|
|
90
97
|
});
|
|
91
98
|
Object.entries(buildersByModule).forEach(([name, builders]) => {
|
|
@@ -11,7 +11,7 @@ export declare class INCClient {
|
|
|
11
11
|
constructor(config: INCClientConfig);
|
|
12
12
|
start(): Promise<void>;
|
|
13
13
|
stop(): Promise<void>;
|
|
14
|
-
send(data: string |
|
|
14
|
+
send(data: string | Uint8Array): Promise<void>;
|
|
15
15
|
private onError;
|
|
16
16
|
private onData;
|
|
17
17
|
}
|
|
@@ -11,7 +11,7 @@ export declare class INCServer {
|
|
|
11
11
|
constructor(config: INCServerConfig);
|
|
12
12
|
start(): Promise<void>;
|
|
13
13
|
stop(): Promise<void>;
|
|
14
|
-
send(client: string, data: string |
|
|
14
|
+
send(client: string, data: string | Uint8Array): Promise<void>;
|
|
15
15
|
private getClientCount;
|
|
16
16
|
private onError;
|
|
17
17
|
private onClose;
|
|
@@ -38,9 +38,11 @@ const net = __importStar(require("net"));
|
|
|
38
38
|
const log_1 = require("../../util/log");
|
|
39
39
|
const random_1 = require("../../util/random");
|
|
40
40
|
class INCServer {
|
|
41
|
+
config;
|
|
42
|
+
server;
|
|
43
|
+
clients = {};
|
|
41
44
|
constructor(config) {
|
|
42
45
|
this.config = config;
|
|
43
|
-
this.clients = {};
|
|
44
46
|
this.server = net.createServer();
|
|
45
47
|
this.server.on('close', this.onClose.bind(this));
|
|
46
48
|
this.server.on('connection', this.onConnection.bind(this));
|
|
@@ -20,9 +20,12 @@ const dotenv_1 = require("../util/dotenv");
|
|
|
20
20
|
* @category App
|
|
21
21
|
*/
|
|
22
22
|
class InlineApp extends app_1.App {
|
|
23
|
+
_daemon;
|
|
24
|
+
_modules = {};
|
|
25
|
+
packageJson;
|
|
26
|
+
bootPromise;
|
|
23
27
|
constructor(name, builders) {
|
|
24
28
|
super(name, { builders });
|
|
25
|
-
this._modules = {};
|
|
26
29
|
}
|
|
27
30
|
// App abstract methods
|
|
28
31
|
boot() {
|
|
@@ -9,12 +9,13 @@ const inline_app_1 = require("../inline.app");
|
|
|
9
9
|
* @subcategory Browser
|
|
10
10
|
*/
|
|
11
11
|
class BrowserApp extends inline_app_1.InlineApp {
|
|
12
|
+
_nesoiNpmPkg = '@nesoi/for-browser';
|
|
12
13
|
constructor(name, space) {
|
|
13
14
|
super(name, []);
|
|
14
|
-
this._nesoiNpmPkg = '@nesoi/for-browser';
|
|
15
15
|
this.builders = undefined;
|
|
16
16
|
this.space = space;
|
|
17
17
|
}
|
|
18
|
+
_packageJson;
|
|
18
19
|
// Override InlineApp abstract methods
|
|
19
20
|
async daemon($) {
|
|
20
21
|
return super.daemon($);
|
|
@@ -9,9 +9,9 @@ const distributed_node_app_1 = require("./distributed_node.app");
|
|
|
9
9
|
* @subcategory Distributed
|
|
10
10
|
*/
|
|
11
11
|
class DistributedApp extends app_1.App {
|
|
12
|
+
nodes = {};
|
|
12
13
|
constructor(name, space) {
|
|
13
14
|
super(name, { builders: [] });
|
|
14
|
-
this.nodes = {};
|
|
15
15
|
this.builders = undefined;
|
|
16
16
|
this.space = space;
|
|
17
17
|
}
|
|
@@ -49,9 +49,9 @@ class DistributedDaemon extends daemon_1.Daemon {
|
|
|
49
49
|
// return Promise.resolve(schema);
|
|
50
50
|
throw new Error('Not implemented yet');
|
|
51
51
|
}
|
|
52
|
+
nodes = {};
|
|
52
53
|
constructor(name, config) {
|
|
53
54
|
super(name, {}, {}, config);
|
|
54
|
-
this.nodes = {};
|
|
55
55
|
}
|
|
56
56
|
async boot(nodes) {
|
|
57
57
|
for (const name in nodes) {
|
|
@@ -14,9 +14,13 @@ const inc_server_1 = require("../inc/inc.server");
|
|
|
14
14
|
const monolyth_app_1 = require("./monolyth.app");
|
|
15
15
|
const distributed_app_config_1 = require("./distributed.app.config");
|
|
16
16
|
class DistributedNodeApp extends app_1.App {
|
|
17
|
+
_host;
|
|
18
|
+
_daemon;
|
|
19
|
+
_modules = {};
|
|
20
|
+
packageJson;
|
|
21
|
+
bootPromise;
|
|
17
22
|
constructor(name, space) {
|
|
18
23
|
super(name, { builders: [] });
|
|
19
|
-
this._modules = {};
|
|
20
24
|
this.space = space;
|
|
21
25
|
}
|
|
22
26
|
/**
|
|
@@ -146,6 +150,7 @@ exports.DistributedNodeApp = DistributedNodeApp;
|
|
|
146
150
|
* @subcategory Distributed
|
|
147
151
|
*/
|
|
148
152
|
class DistributedNodeDaemon extends monolyth_app_1.MonolythDaemon {
|
|
153
|
+
inc;
|
|
149
154
|
constructor(name, host, trxEngines, services, config) {
|
|
150
155
|
super(name, trxEngines, services, config);
|
|
151
156
|
this.inc = new inc_server_1.INCServer({
|
|
@@ -45,11 +45,13 @@ const space_1 = require("../../space");
|
|
|
45
45
|
* @subcategory Monolyth
|
|
46
46
|
*/
|
|
47
47
|
class MonolythApp extends inline_app_1.InlineApp {
|
|
48
|
+
watcher;
|
|
48
49
|
constructor(name, space) {
|
|
49
50
|
super(name, []);
|
|
50
51
|
this.builders = undefined;
|
|
51
52
|
this.space = space;
|
|
52
53
|
}
|
|
54
|
+
_packageJson;
|
|
53
55
|
// Override InlineApp abstract methods
|
|
54
56
|
async daemon($) {
|
|
55
57
|
/**
|
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Service = void 0;
|
|
4
4
|
class Service {
|
|
5
|
+
/**
|
|
6
|
+
* This property MUST be set on the implementation class.
|
|
7
|
+
*/
|
|
8
|
+
static defaultName;
|
|
9
|
+
name;
|
|
10
|
+
configFn;
|
|
11
|
+
config;
|
|
12
|
+
libPaths;
|
|
5
13
|
onDaemonReady($) {
|
|
6
14
|
// This method can be overriden to run a method when the daemon is started,
|
|
7
15
|
// which can be useful for running transactions before the daemon is
|
|
@@ -7,10 +7,7 @@ const authn_1 = require("./authn");
|
|
|
7
7
|
* @subcategory Auth
|
|
8
8
|
*/
|
|
9
9
|
class ZeroAuthnProvider extends authn_1.AuthnProvider {
|
|
10
|
-
|
|
11
|
-
super(...arguments);
|
|
12
|
-
this.eager = false;
|
|
13
|
-
}
|
|
10
|
+
eager = false;
|
|
14
11
|
authenticate($) {
|
|
15
12
|
return Promise.resolve({
|
|
16
13
|
user: {
|
package/lib/engine/cli/cli.js
CHANGED
|
@@ -53,11 +53,15 @@ const random_1 = require("../util/random");
|
|
|
53
53
|
* @subcategory CLI
|
|
54
54
|
*/
|
|
55
55
|
class CLI {
|
|
56
|
+
daemon;
|
|
57
|
+
config;
|
|
58
|
+
app;
|
|
59
|
+
ctx = '';
|
|
60
|
+
adapters = {};
|
|
61
|
+
input;
|
|
56
62
|
constructor(daemon, config) {
|
|
57
63
|
this.daemon = daemon;
|
|
58
64
|
this.config = config;
|
|
59
|
-
this.ctx = '';
|
|
60
|
-
this.adapters = {};
|
|
61
65
|
this.app = daemon_1.Daemon.get(daemon, 'name') || 'app';
|
|
62
66
|
// Build adapters
|
|
63
67
|
this.adapters = {};
|
|
@@ -7,6 +7,12 @@ const string_1 = require("../util/string");
|
|
|
7
7
|
* @subcategory CLI
|
|
8
8
|
*/
|
|
9
9
|
class CLICommand {
|
|
10
|
+
scope;
|
|
11
|
+
name;
|
|
12
|
+
syntax;
|
|
13
|
+
description;
|
|
14
|
+
regex;
|
|
15
|
+
groups;
|
|
10
16
|
constructor(scope, name, syntax, description, regex, groups) {
|
|
11
17
|
this.scope = scope;
|
|
12
18
|
this.name = name;
|
|
@@ -39,9 +45,11 @@ exports.CLICommand = CLICommand;
|
|
|
39
45
|
* @subcategory CLI
|
|
40
46
|
*/
|
|
41
47
|
class CLIAdapter {
|
|
48
|
+
cli;
|
|
49
|
+
name;
|
|
50
|
+
commands = {};
|
|
42
51
|
constructor(cli) {
|
|
43
52
|
this.cli = cli;
|
|
44
|
-
this.commands = {};
|
|
45
53
|
}
|
|
46
54
|
async runCmd(daemon, payload) {
|
|
47
55
|
payload = payload.trim();
|
|
@@ -41,12 +41,14 @@ const readline = __importStar(require("readline"));
|
|
|
41
41
|
* @subcategory CLI
|
|
42
42
|
*/
|
|
43
43
|
class CLIInputHandler {
|
|
44
|
+
suggestions;
|
|
45
|
+
items = [];
|
|
46
|
+
history = 0;
|
|
47
|
+
buffer = '';
|
|
48
|
+
cursor = 0;
|
|
49
|
+
suggestion;
|
|
44
50
|
constructor(suggestions = []) {
|
|
45
51
|
this.suggestions = suggestions;
|
|
46
|
-
this.items = [];
|
|
47
|
-
this.history = 0;
|
|
48
|
-
this.buffer = '';
|
|
49
|
-
this.cursor = 0;
|
|
50
52
|
}
|
|
51
53
|
/**
|
|
52
54
|
* Wait for user input:
|
package/lib/engine/cli/script.js
CHANGED
|
@@ -13,9 +13,10 @@ function script(name, def) {
|
|
|
13
13
|
}
|
|
14
14
|
//
|
|
15
15
|
class Script {
|
|
16
|
+
schema;
|
|
17
|
+
args = {};
|
|
16
18
|
constructor(schema) {
|
|
17
19
|
this.schema = schema;
|
|
18
|
-
this.args = {};
|
|
19
20
|
}
|
|
20
21
|
init() {
|
|
21
22
|
if (process.argv.includes('-h') || process.argv.includes('--help')) {
|
|
@@ -257,10 +258,10 @@ class Script {
|
|
|
257
258
|
}
|
|
258
259
|
}
|
|
259
260
|
class ScriptBuilder {
|
|
261
|
+
schema = {
|
|
262
|
+
args: []
|
|
263
|
+
};
|
|
260
264
|
constructor(name) {
|
|
261
|
-
this.schema = {
|
|
262
|
-
args: []
|
|
263
|
-
};
|
|
264
265
|
this.schema.name = name;
|
|
265
266
|
}
|
|
266
267
|
d(description) {
|
|
@@ -303,8 +304,8 @@ class ScriptBuilder {
|
|
|
303
304
|
}
|
|
304
305
|
}
|
|
305
306
|
class ScriptPosArgBuilder {
|
|
307
|
+
schema = {};
|
|
306
308
|
constructor(name) {
|
|
307
|
-
this.schema = {};
|
|
308
309
|
this.schema.name = name;
|
|
309
310
|
this.schema.type = 'pos';
|
|
310
311
|
this.schema.values = [{
|
|
@@ -330,8 +331,8 @@ class ScriptPosArgBuilder {
|
|
|
330
331
|
}
|
|
331
332
|
}
|
|
332
333
|
class ScriptKeyArgBuilder {
|
|
334
|
+
schema = {};
|
|
333
335
|
constructor(name, short) {
|
|
334
|
-
this.schema = {};
|
|
335
336
|
this.schema.name = name;
|
|
336
337
|
this.schema.short = short;
|
|
337
338
|
this.schema.type = 'key';
|
|
@@ -361,6 +362,7 @@ class ScriptKeyArgBuilder {
|
|
|
361
362
|
}
|
|
362
363
|
}
|
|
363
364
|
class ScriptValueBuilder {
|
|
365
|
+
schema;
|
|
364
366
|
constructor(name) {
|
|
365
367
|
this.schema = {
|
|
366
368
|
name,
|
package/lib/engine/daemon.js
CHANGED
|
@@ -15,6 +15,10 @@ const cli_1 = require("./cli/cli");
|
|
|
15
15
|
* @category Engine
|
|
16
16
|
*/
|
|
17
17
|
class Daemon {
|
|
18
|
+
name;
|
|
19
|
+
trxEngines;
|
|
20
|
+
services;
|
|
21
|
+
config;
|
|
18
22
|
/**
|
|
19
23
|
* @param name Name of the daemon (taken from App)
|
|
20
24
|
* @param trxEngines A dictionary of Transaction Engine by module name
|
|
@@ -162,6 +166,16 @@ exports.Daemon = Daemon;
|
|
|
162
166
|
* @category Engine
|
|
163
167
|
*/
|
|
164
168
|
class DaemonTrx {
|
|
169
|
+
trxEngine;
|
|
170
|
+
/**
|
|
171
|
+
* The node from which this transaction was inherited
|
|
172
|
+
*/
|
|
173
|
+
_inherit;
|
|
174
|
+
/**
|
|
175
|
+
* The authentication request which will be used to
|
|
176
|
+
* authenticate this transaction prior to running.
|
|
177
|
+
*/
|
|
178
|
+
tokens;
|
|
165
179
|
/**
|
|
166
180
|
* @param trxEngine The transaction engine where to run the transaction.
|
|
167
181
|
*/
|