nesoi 3.0.8 → 3.0.10

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.
Files changed (266) hide show
  1. package/lib/compiler/apps/monolyth/monolyth_compiler.d.ts +1 -1
  2. package/lib/compiler/apps/monolyth/monolyth_compiler.js +7 -7
  3. package/lib/compiler/apps/monolyth/stages/1_mkdir_stage.d.ts +3 -0
  4. package/lib/compiler/apps/monolyth/stages/1_mkdir_stage.js +3 -0
  5. package/lib/compiler/apps/monolyth/stages/2_build_typescript_stage.d.ts +3 -0
  6. package/lib/compiler/apps/monolyth/stages/2_build_typescript_stage.js +3 -0
  7. package/lib/compiler/apps/monolyth/stages/3_copy_types_stage.d.ts +3 -0
  8. package/lib/compiler/apps/monolyth/stages/3_copy_types_stage.js +3 -0
  9. package/lib/compiler/apps/monolyth/stages/4_dump_modules_stage.d.ts +3 -0
  10. package/lib/compiler/apps/monolyth/stages/4_dump_modules_stage.js +3 -0
  11. package/lib/compiler/apps/monolyth/stages/5_dump_cli_stage.d.ts +3 -0
  12. package/lib/compiler/apps/monolyth/stages/5_dump_cli_stage.js +3 -0
  13. package/lib/compiler/apps/monolyth/stages/6_dump_package_json_stage.d.ts +3 -0
  14. package/lib/compiler/apps/monolyth/stages/6_dump_package_json_stage.js +3 -0
  15. package/lib/compiler/elements/externals.element.d.ts +1 -1
  16. package/lib/compiler/module.js +1 -1
  17. package/lib/compiler/stages/1_scan_stage.d.ts +3 -0
  18. package/lib/compiler/stages/1_scan_stage.js +3 -0
  19. package/lib/compiler/stages/2_treeshake_stage.d.ts +3 -0
  20. package/lib/compiler/stages/2_treeshake_stage.js +3 -0
  21. package/lib/compiler/stages/3_extract_ts_stage.d.ts +3 -0
  22. package/lib/compiler/stages/3_extract_ts_stage.js +3 -0
  23. package/lib/compiler/stages/4_build_schemas_stage.d.ts +3 -0
  24. package/lib/compiler/stages/4_build_schemas_stage.js +3 -0
  25. package/lib/compiler/stages/5_inject_ts_stage.d.ts +3 -0
  26. package/lib/compiler/stages/5_inject_ts_stage.js +3 -0
  27. package/lib/compiler/stages/6_build_elements_stage.d.ts +3 -0
  28. package/lib/compiler/stages/6_build_elements_stage.js +3 -0
  29. package/lib/compiler/stages/7_dump_stage.d.ts +3 -0
  30. package/lib/compiler/stages/7_dump_stage.js +3 -0
  31. package/lib/compiler/stages/8_diagnose_stage.d.ts +3 -0
  32. package/lib/compiler/stages/8_diagnose_stage.js +3 -0
  33. package/lib/compiler/treeshake.js +3 -3
  34. package/lib/elements/blocks/block.builder.d.ts +6 -2
  35. package/lib/elements/blocks/block.builder.js +8 -4
  36. package/lib/elements/blocks/block.schema.d.ts +4 -0
  37. package/lib/elements/blocks/block.schema.js +4 -0
  38. package/lib/elements/blocks/job/internal/machine_job.builder.d.ts +6 -3
  39. package/lib/elements/blocks/job/internal/machine_job.builder.js +5 -2
  40. package/lib/elements/blocks/job/internal/machine_job.schema.d.ts +4 -0
  41. package/lib/elements/blocks/job/internal/machine_job.schema.js +4 -0
  42. package/lib/elements/blocks/job/internal/resource_job.builder.d.ts +4 -0
  43. package/lib/elements/blocks/job/internal/resource_job.builder.js +4 -0
  44. package/lib/elements/blocks/job/internal/resource_job.d.ts +4 -0
  45. package/lib/elements/blocks/job/internal/resource_job.js +4 -0
  46. package/lib/elements/blocks/job/internal/resource_job.schema.d.ts +4 -0
  47. package/lib/elements/blocks/job/internal/resource_job.schema.js +4 -0
  48. package/lib/elements/blocks/job/job.builder.d.ts +4 -0
  49. package/lib/elements/blocks/job/job.builder.js +4 -0
  50. package/lib/elements/blocks/job/job.d.ts +4 -0
  51. package/lib/elements/blocks/job/job.js +4 -0
  52. package/lib/elements/blocks/job/job.schema.d.ts +4 -0
  53. package/lib/elements/blocks/job/job.schema.js +4 -0
  54. package/lib/elements/blocks/machine/machine.builder.d.ts +4 -0
  55. package/lib/elements/blocks/machine/machine.builder.js +16 -1
  56. package/lib/elements/blocks/machine/machine.d.ts +12 -0
  57. package/lib/elements/blocks/machine/machine.js +12 -0
  58. package/lib/elements/blocks/machine/machine.schema.d.ts +18 -1
  59. package/lib/elements/blocks/machine/machine.schema.js +18 -2
  60. package/lib/elements/blocks/machine/machine_state.builder.d.ts +4 -0
  61. package/lib/elements/blocks/machine/machine_state.builder.js +4 -0
  62. package/lib/elements/blocks/machine/machine_transition.builder.d.ts +4 -0
  63. package/lib/elements/blocks/machine/machine_transition.builder.js +4 -0
  64. package/lib/elements/blocks/queue/adapters/bucket.queue_adapter.d.ts +4 -0
  65. package/lib/elements/blocks/queue/adapters/bucket.queue_adapter.js +4 -0
  66. package/lib/elements/blocks/queue/adapters/queue_adapter.d.ts +4 -0
  67. package/lib/elements/blocks/queue/adapters/queue_adapter.js +4 -0
  68. package/lib/elements/blocks/queue/queue.builder.d.ts +4 -0
  69. package/lib/elements/blocks/queue/queue.builder.js +4 -0
  70. package/lib/elements/blocks/queue/queue.schema.d.ts +4 -0
  71. package/lib/elements/blocks/queue/queue.schema.js +4 -0
  72. package/lib/elements/blocks/resource/resource.builder.d.ts +4 -0
  73. package/lib/elements/blocks/resource/resource.builder.js +4 -0
  74. package/lib/elements/blocks/resource/resource.d.ts +4 -0
  75. package/lib/elements/blocks/resource/resource.js +4 -0
  76. package/lib/elements/blocks/resource/resource.schema.d.ts +4 -0
  77. package/lib/elements/blocks/resource/resource.schema.js +4 -0
  78. package/lib/elements/edge/controller/adapters/cli.controller_adapter.d.ts +4 -0
  79. package/lib/elements/edge/controller/adapters/cli.controller_adapter.js +4 -0
  80. package/lib/elements/edge/controller/adapters/controller_adapter.d.ts +7 -1
  81. package/lib/elements/edge/controller/adapters/controller_adapter.js +6 -1
  82. package/lib/elements/edge/controller/controller.builder.d.ts +16 -0
  83. package/lib/elements/edge/controller/controller.builder.js +16 -0
  84. package/lib/elements/edge/controller/controller.config.d.ts +3 -2
  85. package/lib/elements/edge/controller/controller.d.ts +7 -3
  86. package/lib/elements/edge/controller/controller.js +7 -3
  87. package/lib/elements/edge/controller/controller.schema.d.ts +16 -0
  88. package/lib/elements/edge/controller/controller.schema.js +16 -0
  89. package/lib/elements/{blocks → edge}/externals/externals.builder.d.ts +4 -0
  90. package/lib/elements/{blocks → edge}/externals/externals.builder.js +4 -0
  91. package/lib/elements/{blocks → edge}/externals/externals.schema.d.ts +4 -0
  92. package/lib/elements/{blocks → edge}/externals/externals.schema.js +4 -0
  93. package/lib/elements/entities/bucket/adapters/bucket_adapter.d.ts +18 -12
  94. package/lib/elements/entities/bucket/adapters/bucket_adapter.js +5 -0
  95. package/lib/elements/entities/bucket/adapters/memory.bucket_adapter.d.ts +4 -0
  96. package/lib/elements/entities/bucket/adapters/memory.bucket_adapter.js +4 -0
  97. package/lib/elements/entities/bucket/adapters/memory.nql.d.ts +4 -1
  98. package/lib/elements/entities/bucket/adapters/memory.nql.js +4 -1
  99. package/lib/elements/entities/bucket/bucket.builder.d.ts +4 -0
  100. package/lib/elements/entities/bucket/bucket.builder.js +4 -0
  101. package/lib/elements/entities/bucket/bucket.config.d.ts +3 -3
  102. package/lib/elements/entities/bucket/bucket.d.ts +12 -4
  103. package/lib/elements/entities/bucket/bucket.js +18 -11
  104. package/lib/elements/entities/bucket/bucket.schema.d.ts +4 -0
  105. package/lib/elements/entities/bucket/bucket.schema.js +4 -0
  106. package/lib/elements/entities/bucket/cache/bucket_cache.d.ts +8 -0
  107. package/lib/elements/entities/bucket/cache/bucket_cache.js +8 -0
  108. package/lib/elements/entities/bucket/graph/bucket_graph.builder.d.ts +4 -0
  109. package/lib/elements/entities/bucket/graph/bucket_graph.builder.js +4 -0
  110. package/lib/elements/entities/bucket/graph/bucket_graph.d.ts +4 -0
  111. package/lib/elements/entities/bucket/graph/bucket_graph.js +4 -0
  112. package/lib/elements/entities/bucket/graph/bucket_graph.schema.d.ts +8 -0
  113. package/lib/elements/entities/bucket/graph/bucket_graph.schema.js +8 -0
  114. package/lib/elements/entities/bucket/graph/bucket_graph_link.builder.d.ts +8 -0
  115. package/lib/elements/entities/bucket/graph/bucket_graph_link.builder.js +8 -0
  116. package/lib/elements/entities/bucket/model/bucket_model.builder.d.ts +4 -0
  117. package/lib/elements/entities/bucket/model/bucket_model.builder.js +4 -0
  118. package/lib/elements/entities/bucket/model/bucket_model.convert.d.ts +8 -0
  119. package/lib/elements/entities/bucket/model/bucket_model.convert.js +8 -0
  120. package/lib/elements/entities/bucket/model/bucket_model.schema.d.ts +8 -0
  121. package/lib/elements/entities/bucket/model/bucket_model.schema.js +8 -0
  122. package/lib/elements/entities/bucket/model/bucket_model_field.builder.d.ts +8 -0
  123. package/lib/elements/entities/bucket/model/bucket_model_field.builder.js +8 -0
  124. package/lib/elements/entities/bucket/query/nql_compiler.d.ts +9 -0
  125. package/lib/elements/entities/bucket/query/nql_compiler.js +9 -0
  126. package/lib/elements/entities/bucket/query/nql_engine.d.ts +6 -0
  127. package/lib/elements/entities/bucket/query/nql_engine.js +6 -0
  128. package/lib/elements/entities/bucket/view/bucket_view.builder.d.ts +4 -0
  129. package/lib/elements/entities/bucket/view/bucket_view.builder.js +4 -0
  130. package/lib/elements/entities/bucket/view/bucket_view.d.ts +4 -0
  131. package/lib/elements/entities/bucket/view/bucket_view.js +10 -2
  132. package/lib/elements/entities/bucket/view/bucket_view.schema.d.ts +8 -0
  133. package/lib/elements/entities/bucket/view/bucket_view.schema.js +8 -0
  134. package/lib/elements/entities/bucket/view/bucket_view_field.builder.d.ts +8 -0
  135. package/lib/elements/entities/bucket/view/bucket_view_field.builder.js +8 -0
  136. package/lib/elements/entities/constants/constants.builder.d.ts +21 -6
  137. package/lib/elements/entities/constants/constants.builder.js +21 -6
  138. package/lib/elements/entities/constants/constants.d.ts +4 -0
  139. package/lib/elements/entities/constants/constants.js +4 -0
  140. package/lib/elements/entities/constants/constants.schema.d.ts +16 -0
  141. package/lib/elements/entities/constants/constants.schema.js +16 -0
  142. package/lib/elements/entities/drive/drive_adapter.d.ts +15 -10
  143. package/lib/elements/entities/drive/drive_adapter.js +5 -2
  144. package/lib/elements/entities/drive/local.drive_adapter.d.ts +10 -4
  145. package/lib/elements/entities/drive/local.drive_adapter.js +23 -8
  146. package/lib/elements/entities/message/message.builder.d.ts +4 -0
  147. package/lib/elements/entities/message/message.builder.js +4 -0
  148. package/lib/elements/entities/message/message.d.ts +4 -0
  149. package/lib/elements/entities/message/message.js +4 -0
  150. package/lib/elements/entities/message/message.schema.d.ts +4 -0
  151. package/lib/elements/entities/message/message.schema.js +4 -0
  152. package/lib/elements/entities/message/message_parser.d.ts +4 -0
  153. package/lib/elements/entities/message/message_parser.js +4 -0
  154. package/lib/elements/entities/message/template/message_template.builder.d.ts +4 -0
  155. package/lib/elements/entities/message/template/message_template.builder.js +4 -0
  156. package/lib/elements/entities/message/template/message_template.schema.d.ts +9 -0
  157. package/lib/elements/entities/message/template/message_template.schema.js +25 -0
  158. package/lib/elements/entities/message/template/message_template_field.builder.d.ts +8 -0
  159. package/lib/elements/entities/message/template/message_template_field.builder.js +8 -0
  160. package/lib/elements/index.d.ts +1 -1
  161. package/lib/elements/index.js +1 -1
  162. package/lib/engine/apps/app.config.d.ts +15 -11
  163. package/lib/engine/apps/app.config.js +3 -0
  164. package/lib/engine/apps/app.d.ts +12 -20
  165. package/lib/engine/apps/app.js +13 -10
  166. package/lib/engine/apps/inline.app.d.ts +12 -8
  167. package/lib/engine/apps/inline.app.js +27 -24
  168. package/lib/engine/apps/monolyth/monolyth.app.d.ts +13 -5
  169. package/lib/engine/apps/monolyth/monolyth.app.js +14 -6
  170. package/lib/engine/apps/service.d.ts +30 -0
  171. package/lib/engine/apps/service.js +15 -0
  172. package/lib/engine/auth/authn.d.ts +14 -1
  173. package/lib/engine/auth/authn.js +4 -0
  174. package/lib/engine/auth/zero.authn_provider.d.ts +11 -3
  175. package/lib/engine/auth/zero.authn_provider.js +13 -2
  176. package/lib/engine/cli/cli.d.ts +8 -2
  177. package/lib/engine/cli/cli.js +10 -1
  178. package/lib/engine/cli/cli_adapter.d.ts +11 -1
  179. package/lib/engine/cli/cli_adapter.js +10 -1
  180. package/lib/engine/cli/cli_input.d.ts +4 -0
  181. package/lib/engine/cli/cli_input.js +4 -0
  182. package/lib/engine/cli/ui.d.ts +14 -2
  183. package/lib/engine/cli/ui.js +10 -6
  184. package/lib/engine/daemon.d.ts +96 -9
  185. package/lib/engine/daemon.js +101 -18
  186. package/lib/engine/data/date.d.ts +4 -0
  187. package/lib/engine/data/date.js +4 -0
  188. package/lib/engine/data/datetime.d.ts +4 -0
  189. package/lib/engine/data/datetime.js +4 -0
  190. package/lib/engine/data/decimal.d.ts +4 -0
  191. package/lib/engine/data/decimal.js +4 -0
  192. package/lib/engine/data/file.d.ts +23 -23
  193. package/lib/engine/data/file.js +66 -29
  194. package/lib/engine/data/json.d.ts +4 -0
  195. package/lib/engine/data/json.js +4 -0
  196. package/lib/engine/data/tree.d.ts +4 -0
  197. package/lib/engine/data/tree.js +4 -0
  198. package/lib/engine/dependency.d.ts +65 -3
  199. package/lib/engine/dependency.js +70 -0
  200. package/lib/engine/module.d.ts +110 -8
  201. package/lib/engine/module.js +131 -31
  202. package/lib/engine/space.d.ts +163 -10
  203. package/lib/engine/space.js +184 -22
  204. package/lib/engine/transaction/nodes/bucket.trx_node.d.ts +12 -0
  205. package/lib/engine/transaction/nodes/bucket.trx_node.js +13 -2
  206. package/lib/engine/transaction/nodes/bucket_query.trx_node.d.ts +4 -0
  207. package/lib/engine/transaction/nodes/bucket_query.trx_node.js +9 -10
  208. package/lib/engine/transaction/nodes/job.trx_node.d.ts +4 -0
  209. package/lib/engine/transaction/nodes/job.trx_node.js +6 -4
  210. package/lib/engine/transaction/nodes/machine.trx_node.d.ts +4 -0
  211. package/lib/engine/transaction/nodes/machine.trx_node.js +6 -4
  212. package/lib/engine/transaction/nodes/queue.trx_node.d.ts +4 -0
  213. package/lib/engine/transaction/nodes/queue.trx_node.js +5 -2
  214. package/lib/engine/transaction/nodes/resource.trx_node.d.ts +4 -0
  215. package/lib/engine/transaction/nodes/resource.trx_node.js +6 -4
  216. package/lib/engine/transaction/trx.d.ts +14 -4
  217. package/lib/engine/transaction/trx.js +10 -1
  218. package/lib/engine/transaction/trx_engine.config.d.ts +2 -2
  219. package/lib/engine/transaction/trx_engine.d.ts +8 -3
  220. package/lib/engine/transaction/trx_engine.js +24 -20
  221. package/lib/engine/transaction/trx_node.d.ts +8 -2
  222. package/lib/engine/transaction/trx_node.js +17 -1
  223. package/lib/engine/tree.d.ts +54 -2
  224. package/lib/engine/tree.js +60 -19
  225. package/lib/engine/util/mime.d.ts +4 -4
  226. package/lib/engine/util/mime.js +7 -9
  227. package/lib/schema.d.ts +2 -2
  228. package/package.json +2 -3
  229. package/tools/joaquin/job.js +2 -2
  230. package/tools/joaquin/message.js +2 -2
  231. package/tools/joaquin/mock.d.ts +6 -6
  232. package/tsconfig.build.tsbuildinfo +1 -1
  233. package/lib/adapters/postgres/src/migrator/bucket.d.ts +0 -20
  234. package/lib/adapters/postgres/src/migrator/bucket.js +0 -184
  235. package/lib/adapters/postgres/src/migrator/csv.d.ts +0 -7
  236. package/lib/adapters/postgres/src/migrator/csv.js +0 -72
  237. package/lib/adapters/postgres/src/migrator/database.d.ts +0 -37
  238. package/lib/adapters/postgres/src/migrator/database.js +0 -88
  239. package/lib/adapters/postgres/src/migrator/index.d.ts +0 -1
  240. package/lib/adapters/postgres/src/migrator/index.js +0 -5
  241. package/lib/adapters/postgres/src/migrator/migration.d.ts +0 -57
  242. package/lib/adapters/postgres/src/migrator/migration.js +0 -203
  243. package/lib/adapters/postgres/src/migrator/migrator.d.ts +0 -21
  244. package/lib/adapters/postgres/src/migrator/migrator.js +0 -76
  245. package/lib/adapters/postgres/src/migrator/runner.d.ts +0 -71
  246. package/lib/adapters/postgres/src/migrator/runner.js +0 -271
  247. package/lib/adapters/postgres/src/postgres.bucket_adapter.d.ts +0 -42
  248. package/lib/adapters/postgres/src/postgres.bucket_adapter.js +0 -294
  249. package/lib/adapters/postgres/src/postgres.cli.d.ts +0 -66
  250. package/lib/adapters/postgres/src/postgres.cli.js +0 -184
  251. package/lib/adapters/postgres/src/postgres.config.d.ts +0 -5
  252. package/lib/adapters/postgres/src/postgres.config.js +0 -2
  253. package/lib/adapters/postgres/src/postgres.nql.d.ts +0 -16
  254. package/lib/adapters/postgres/src/postgres.nql.js +0 -123
  255. package/lib/adapters/postgres/src/postgres.provider.d.ts +0 -18
  256. package/lib/adapters/postgres/src/postgres.provider.js +0 -77
  257. package/lib/adapters/postgres/test/postgres.bucket_adapter.test.d.ts +0 -1
  258. package/lib/adapters/postgres/test/postgres.bucket_adapter.test.js +0 -210
  259. package/lib/elements/entities/bucket/adapters/memory.bucket_query copy.d.ts +0 -0
  260. package/lib/elements/entities/bucket/adapters/memory.bucket_query copy.js +0 -218
  261. package/lib/elements/entities/bucket/adapters/slow_memory.bucket_adapter.d.ts +0 -0
  262. package/lib/elements/entities/bucket/adapters/slow_memory.bucket_adapter.js +0 -47
  263. package/lib/engine/apps/monolyth/monolyth.cli.d.ts +0 -45
  264. package/lib/engine/apps/monolyth/monolyth.cli.js +0 -362
  265. package/lib/engine/util/cache.d.ts +0 -6
  266. package/lib/engine/util/cache.js +0 -20
@@ -1,47 +0,0 @@
1
- "use strict";
2
- // import { BucketAdapterConfig } from './bucket_adapter';
3
- // import { MemoryBucketAdapter } from './memory.bucket_adapter';
4
- // import { $Bucket } from '../bucket.schema';
5
- // import { AnyTrxNode } from '~/engine/transaction/trx_node';
6
- // import { NQL_AnyQuery, NQL_Pagination } from '../query/nql.schema';
7
- // export class SlowMemoryBucketAdapter<
8
- // B extends $Bucket,
9
- // Obj extends B['#data']
10
- // > extends MemoryBucketAdapter<B, Obj> {
11
- // constructor(
12
- // public schema: $Bucket,
13
- // protected timeout: number,
14
- // data: Record<Obj['id'], Obj> = {} as any,
15
- // config?: BucketAdapterConfig
16
- // ) {
17
- // super(schema, data, config);
18
- // }
19
- // private wrap<T extends Promise<any>>(scale: number, fn: () => T): T {
20
- // return new Promise((resolve, reject) => {
21
- // setTimeout(() => {
22
- // fn()
23
- // .then(resolve)
24
- // .catch(reject);
25
- // }, this.timeout*scale);
26
- // }) as any;
27
- // }
28
- // /* Read operations */
29
- // index(trx: AnyTrxNode) {
30
- // return this.wrap(5, () => super.index(trx));
31
- // }
32
- // get(trx: AnyTrxNode, id: Obj['id']) {
33
- // return this.wrap(1, () => super.get(trx, id));
34
- // }
35
- // async query<
36
- // MetadataOnly extends boolean
37
- // >(
38
- // trx: AnyTrxNode,
39
- // query: NQL_AnyQuery,
40
- // pagination?: NQL_Pagination,
41
- // config?: {
42
- // metadataOnly: MetadataOnly
43
- // }
44
- // ): Promise<MetadataOnly extends true ? { id: Obj['id'], [x: string]: any }[] : Obj[]> {
45
- // return this.wrap(3, () => super.query(trx, query, pagination, config));
46
- // }
47
- // }
@@ -1,45 +0,0 @@
1
- import { AnyTrxEngine } from '../../transaction/trx_engine';
2
- import { $Module } from "../../../schema";
3
- export type CLIData<M extends $Module, Msg extends keyof M['messages']> = Omit<M['messages'][Msg]['#raw'], '$'>;
4
- export declare class MonolythCLI {
5
- private trxEngines;
6
- private module?;
7
- constructor(trxEngines: Record<string, AnyTrxEngine>);
8
- run(): Promise<void>;
9
- private runCmd;
10
- private cmdHelp;
11
- private cmdClear;
12
- private cmdListModules;
13
- private cmdInvokeInteractive;
14
- private cmdPickModule;
15
- private cmdInvoke;
16
- }
17
- export declare enum Color {
18
- black = "0;30",
19
- red = "0;31",
20
- green = "0;32",
21
- brown = "0;33",
22
- blue = "0;34",
23
- purple = "0;35",
24
- cyan = "0;36",
25
- lightgray = "0;37",
26
- darkgray = "1;30",
27
- lightred = "1;31",
28
- lightgreen = "1;32",
29
- yellow = "1;33",
30
- lightblue = "1;34",
31
- lightpurple = "1;35",
32
- lightcyan = "1;36"
33
- }
34
- export default class Console {
35
- static colored(msg: string, color: keyof typeof Color): string;
36
- static select(title: string, options: string[], defaul?: number): Promise<string>;
37
- static question(text: string, defaul?: string, prefix?: string): Promise<string>;
38
- static waitForAnyKey(title?: string): Promise<void>;
39
- static yesOrNo(text: string, defaul?: 'y' | 'n'): Promise<boolean>;
40
- static step(msg: string): void;
41
- static info(msg: string): void;
42
- static cmd(msg: string): void;
43
- static error(msg: string): void;
44
- static header(module: string): void;
45
- }
@@ -1,362 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.Color = exports.MonolythCLI = void 0;
40
- const package_json_1 = __importDefault(require("../../../../package.json"));
41
- const readline = __importStar(require("readline"));
42
- const path = __importStar(require("path"));
43
- const stream_1 = require("stream");
44
- const fs = __importStar(require("fs"));
45
- const cli_controller_adapter_1 = require("../../../elements/edge/controller/adapters/cli.controller_adapter");
46
- const typescript_compiler_1 = require("../../../compiler/typescript/typescript_compiler");
47
- const shell_1 = __importDefault(require("../../util/shell"));
48
- class MonolythCLI {
49
- constructor(
50
- // private space: Space<any>,
51
- trxEngines) {
52
- this.trxEngines = trxEngines;
53
- }
54
- async run() {
55
- Console.header('CLI');
56
- // eslint-disable-next-line no-constant-condition
57
- while (true) {
58
- const context = this.module ? `${this.module}>` : '>';
59
- const cmd = await Console.question(context);
60
- if (await this.runCmd(cmd)) {
61
- break;
62
- }
63
- }
64
- }
65
- async runCmd(cmd) {
66
- // > help
67
- // Exit the CLI
68
- if (cmd === 'help') {
69
- this.cmdHelp();
70
- return false;
71
- }
72
- // > exit
73
- if (cmd === 'exit') {
74
- return true;
75
- }
76
- // > clear
77
- if (cmd === 'clear') {
78
- this.cmdClear();
79
- return false;
80
- }
81
- // > @
82
- if (cmd === '@') {
83
- await this.cmdListModules();
84
- return false;
85
- }
86
- // > invoke
87
- if (cmd === 'invoke') {
88
- await this.cmdInvokeInteractive();
89
- return false;
90
- }
91
- // > @[MODULE_NAME]
92
- if (this.cmdPickModule(cmd)) {
93
- return false;
94
- }
95
- // > invoke [ENDPOINT_PATH] [DATA_JSON]
96
- if (await this.cmdInvoke(cmd)) {
97
- return false;
98
- }
99
- Console.error('Invalid command');
100
- return false;
101
- }
102
- cmdHelp() {
103
- Console.step('Welcome to the Nesoi Monolyth CLI.');
104
- console.log('' +
105
- `\t${Console.colored('help', 'lightcyan')}\t\tShow this info\n` +
106
- `\t${Console.colored('exit', 'lightcyan')}\t\tClose the CLI\n` +
107
- `\t${Console.colored('@', 'lightcyan')}\t\tInteractively switch to a module\n` +
108
- `\t${Console.colored('@[MODULE_NAME]', 'lightcyan')}\tSwitch to a module by name\n` +
109
- `\t${Console.colored('invoke', 'lightcyan')}\t\tInteractively invoke a message to a controller\n`);
110
- }
111
- async cmdClear() {
112
- console.clear();
113
- }
114
- async cmdListModules() {
115
- const module = await Console.select('Pick a module from the list below:', Object.keys(this.trxEngines));
116
- this.cmdPickModule(`@${module}`);
117
- }
118
- async cmdInvokeInteractive() {
119
- if (!this.module) {
120
- Console.error('No module selected. Use "@" to switch to the desired module first.');
121
- return;
122
- }
123
- const module = this.trxEngines[this.module].getModule();
124
- const adapters = Object.entries(module.controllers)
125
- .reduce((a, [name, controller]) => {
126
- if (controller.adapter instanceof cli_controller_adapter_1.CLIControllerAdapter) {
127
- a[name] = controller.adapter;
128
- }
129
- return a;
130
- }, {});
131
- const controllerName = await Console.select('Pick a controller from the list below:', Object.keys(adapters));
132
- const adapter = adapters[controllerName];
133
- const endpointName = await Console.select('Pick an endpoint from the list below:', Object.keys(adapter.endpoints));
134
- const endpoint = adapter.endpoints[endpointName];
135
- const tmpInputFile = (Math.random() + 1).toString(36).substring(7) + '.cli.tmp.ts';
136
- const tmpInputFilePath = path.join(process.cwd(), tmpInputFile);
137
- const tmpInput = ''
138
- + 'import { CLIData as _ } from \'nesoi/lib/engine/apps/monolyth.cli\';\n'
139
- + `import $ from '${path.join(process.cwd(), 'types', module.name + '.module')}';\n`
140
- + '\n'
141
- + `export const data: _<$, '${endpoint.schema.msg.refName}'> = {\n\t\n};`;
142
- fs.writeFileSync(tmpInputFilePath, tmpInput);
143
- shell_1.default.cmd('', `code ${tmpInputFilePath}`);
144
- await Console.waitForAnyKey();
145
- const compiled = typescript_compiler_1.TypeScriptCompiler.compileFile(tmpInputFilePath);
146
- fs.writeFileSync(tmpInputFilePath, compiled);
147
- const data = (await Promise.resolve(`${tmpInputFilePath}`).then(s => __importStar(require(s)))).data;
148
- Console.cmd(`invoke ${endpoint.path} ${JSON.stringify(data)}`);
149
- Console.info(`Invoking endpoint ${endpoint.path}`);
150
- const response = await endpoint.invoke(data);
151
- console.log({ output: response.output });
152
- console.log(response.summary());
153
- fs.rmSync(tmpInputFile);
154
- }
155
- cmdPickModule(cmd) {
156
- const module = /@(\w*)/.exec(cmd)?.[1];
157
- if (!module) {
158
- return false;
159
- }
160
- Console.info(`Switching to module '${module}'`);
161
- if (!(module in this.trxEngines)) {
162
- Console.error(`Module '${module}' not found on app`);
163
- return true;
164
- }
165
- this.module = module;
166
- return true;
167
- }
168
- async cmdInvoke(cmd) {
169
- if (!this.module) {
170
- Console.error('No module selected. Use "@" to switch to the desired module first.');
171
- return true;
172
- }
173
- const parsed = /invoke (.*?) (.*)/.exec(cmd);
174
- if (!parsed) {
175
- return false;
176
- }
177
- const [_, endpointName, json] = parsed;
178
- const controllerName = /\/(.*?)\//.exec(endpointName)?.[1];
179
- if (!controllerName) {
180
- Console.error('Invalid endpoint format');
181
- return false;
182
- }
183
- const module = this.trxEngines[this.module].getModule();
184
- const adapters = Object.entries(module.controllers)
185
- .reduce((a, [name, controller]) => {
186
- if (controller.adapter instanceof cli_controller_adapter_1.CLIControllerAdapter) {
187
- a[name] = controller.adapter;
188
- }
189
- return a;
190
- }, {});
191
- const adapter = adapters[controllerName];
192
- const endpoint = adapter.endpoints[endpointName];
193
- if (!endpoint) {
194
- Console.error('Endpoint not found');
195
- return false;
196
- }
197
- let data;
198
- try {
199
- data = JSON.parse(json);
200
- }
201
- catch {
202
- Console.error('Invalid json');
203
- return false;
204
- }
205
- Console.info(`Invoking endpoint ${endpoint.path}`);
206
- const response = await endpoint.invoke(data);
207
- console.log(response.summary());
208
- return true;
209
- }
210
- }
211
- exports.MonolythCLI = MonolythCLI;
212
- // Console helpers (this should be moved somewhere when the CLI matures)
213
- var Color;
214
- (function (Color) {
215
- Color["black"] = "0;30";
216
- Color["red"] = "0;31";
217
- Color["green"] = "0;32";
218
- Color["brown"] = "0;33";
219
- Color["blue"] = "0;34";
220
- Color["purple"] = "0;35";
221
- Color["cyan"] = "0;36";
222
- Color["lightgray"] = "0;37";
223
- Color["darkgray"] = "1;30";
224
- Color["lightred"] = "1;31";
225
- Color["lightgreen"] = "1;32";
226
- Color["yellow"] = "1;33";
227
- Color["lightblue"] = "1;34";
228
- Color["lightpurple"] = "1;35";
229
- Color["lightcyan"] = "1;36";
230
- })(Color || (exports.Color = Color = {}));
231
- class Console {
232
- // Returns colored message
233
- static colored(msg, color) {
234
- return '\x1b[' + Color[color] + 'm' + msg + '\x1b[0m';
235
- }
236
- // Show a list of options and let the user pick with up/down + enter
237
- static async select(title, options, defaul = 0) {
238
- return new Promise(resolve => {
239
- Console.step(title);
240
- let mute = true;
241
- const mutableStdout = new stream_1.Writable({
242
- write: function (chunk, encoding, callback) {
243
- if (!mute) {
244
- process.stdout.write(chunk, encoding);
245
- }
246
- callback();
247
- }
248
- });
249
- const rl = readline.createInterface({
250
- input: process.stdin,
251
- output: mutableStdout,
252
- terminal: true
253
- });
254
- let selected = defaul;
255
- const print = () => {
256
- mute = false;
257
- for (let i = 0; i < options.length; i++) {
258
- rl.write(this.colored(`${i === selected ? '» ' : ' '}` + options[i] + '\n', i === selected ? 'lightgreen' : 'lightgray'));
259
- }
260
- mute = true;
261
- };
262
- const clear = () => {
263
- process.stdout.moveCursor(0, -options.length);
264
- };
265
- const onKeypress = function (ch, key) {
266
- if (!key) {
267
- return;
268
- }
269
- if (key.name === 'up') {
270
- if (selected > 0) {
271
- selected -= 1;
272
- }
273
- }
274
- else if (key.name === 'down') {
275
- if (selected < options.length - 1) {
276
- selected += 1;
277
- }
278
- }
279
- else if (key.name === 'return') {
280
- rl.close();
281
- process.stdin.off('keypress', onKeypress);
282
- resolve(options[selected]);
283
- }
284
- clear();
285
- print();
286
- };
287
- process.stdin.on('keypress', onKeypress);
288
- print();
289
- });
290
- }
291
- // Ask a question and wait for the answer
292
- static async question(text, defaul = '', prefix = '') {
293
- return new Promise(resolve => {
294
- const rl = readline.createInterface({
295
- input: process.stdin,
296
- output: process.stdout
297
- });
298
- rl.question(this.colored(text + ' ', 'cyan') + prefix, val => {
299
- rl.close();
300
- resolve(val);
301
- });
302
- rl.write(defaul);
303
- });
304
- }
305
- static waitForAnyKey(title = 'Press any key to continue...') {
306
- return new Promise(resolve => {
307
- Console.step(title);
308
- const mutableStdout = new stream_1.Writable({
309
- write: function (chunk, encoding, callback) {
310
- }
311
- });
312
- const rl = readline.createInterface({
313
- input: process.stdin,
314
- output: mutableStdout,
315
- terminal: true
316
- });
317
- const onKeypress = function (ch, key) {
318
- rl.close();
319
- process.stdin.off('keypress', onKeypress);
320
- resolve();
321
- };
322
- process.stdin.on('keypress', onKeypress);
323
- });
324
- }
325
- // Ask a yes or no question and wait for the answer
326
- static async yesOrNo(text, defaul = 'n') {
327
- let answer = await this.question(text + ' [y|n]', defaul);
328
- answer = answer.toLowerCase();
329
- if (answer === 'y' || answer === 'yes')
330
- return true;
331
- return false;
332
- }
333
- // Prints a step message to the terminal
334
- static step(msg) {
335
- console.log(this.colored('- ' + msg, 'green'));
336
- }
337
- // Prints a info message to the terminal
338
- static info(msg) {
339
- console.log(this.colored(msg, 'lightblue'));
340
- }
341
- // Prints a info message to the terminal
342
- static cmd(msg) {
343
- console.log(this.colored('\n\t> ' + msg + '\n', 'darkgray'));
344
- }
345
- // Prints a error message to the terminal
346
- static error(msg) {
347
- console.log(this.colored('! ' + msg, 'red'));
348
- }
349
- // Prints the header
350
- static header(module) {
351
- console.log(this.colored(' __', 'lightblue'));
352
- console.log(this.colored(' ___ __ ____ ___ /\\_\\', 'lightblue'));
353
- console.log(this.colored(' /\'_ `\\ /\'__`\\ /\',__\\ / __`\\/\\ \\', 'lightblue'));
354
- console.log(this.colored('/\\ \\/\\ \\/\\ __//\\__, `\\/\\ \\L\\ \\ \\ \\', 'lightblue'));
355
- console.log(this.colored('\\ \\_\\ \\_\\ \\____\\/\\____/\\ \\____/\\ \\_\\', 'lightblue'));
356
- console.log(this.colored(' \\/_/\\/_/\\/____/\\/___/ \\/___/ \\/_/', 'lightblue'));
357
- console.log(this.colored(' ' + package_json_1.default.version, 'cyan'));
358
- console.log('[ ' + module + ' ]');
359
- console.log();
360
- }
361
- }
362
- exports.default = Console;
@@ -1,6 +0,0 @@
1
- export default class Cache<T> {
2
- private data;
3
- constructor(data?: Record<string, T>);
4
- set(key: string, val: T): void;
5
- get(key: string, set: () => T | undefined): T;
6
- }
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class Cache {
4
- constructor(data = {}) {
5
- this.data = data;
6
- }
7
- set(key, val) {
8
- this.data[key] = val;
9
- }
10
- get(key, set) {
11
- if (!(key in this.data)) {
12
- const val = set();
13
- if (val) {
14
- this.data[key] = val;
15
- }
16
- }
17
- return this.data[key];
18
- }
19
- }
20
- exports.default = Cache;