nesoi 3.0.0

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 (348) hide show
  1. package/lib/adapters/postgres/src/migrator/database.d.ts +37 -0
  2. package/lib/adapters/postgres/src/migrator/database.js +88 -0
  3. package/lib/adapters/postgres/src/migrator/index.d.ts +1 -0
  4. package/lib/adapters/postgres/src/migrator/index.js +5 -0
  5. package/lib/adapters/postgres/src/migrator/migration.d.ts +73 -0
  6. package/lib/adapters/postgres/src/migrator/migration.js +351 -0
  7. package/lib/adapters/postgres/src/migrator/migrator.d.ts +21 -0
  8. package/lib/adapters/postgres/src/migrator/migrator.js +73 -0
  9. package/lib/adapters/postgres/src/migrator/runner.d.ts +61 -0
  10. package/lib/adapters/postgres/src/migrator/runner.js +202 -0
  11. package/lib/adapters/postgres/src/postgres.bucket_adapter.d.ts +45 -0
  12. package/lib/adapters/postgres/src/postgres.bucket_adapter.js +278 -0
  13. package/lib/adapters/postgres/src/postgres.cli.d.ts +46 -0
  14. package/lib/adapters/postgres/src/postgres.cli.js +124 -0
  15. package/lib/adapters/postgres/src/postgres.nql.d.ts +12 -0
  16. package/lib/adapters/postgres/src/postgres.nql.js +69 -0
  17. package/lib/adapters/postgres/test/postgres.bucket_adapter.test.d.ts +1 -0
  18. package/lib/adapters/postgres/test/postgres.bucket_adapter.test.js +173 -0
  19. package/lib/adapters/postgres/test/postgres.bucket_query.test.d.ts +0 -0
  20. package/lib/adapters/postgres/test/postgres.bucket_query.test.js +136 -0
  21. package/lib/compiler/apps/monolyth/monolyth_compiler.d.ts +21 -0
  22. package/lib/compiler/apps/monolyth/monolyth_compiler.js +95 -0
  23. package/lib/compiler/apps/monolyth/stages/1_mkdir_stage.d.ts +12 -0
  24. package/lib/compiler/apps/monolyth/stages/1_mkdir_stage.js +80 -0
  25. package/lib/compiler/apps/monolyth/stages/2_build_typescript_stage.d.ts +12 -0
  26. package/lib/compiler/apps/monolyth/stages/2_build_typescript_stage.js +128 -0
  27. package/lib/compiler/apps/monolyth/stages/3_copy_types_stage.d.ts +12 -0
  28. package/lib/compiler/apps/monolyth/stages/3_copy_types_stage.js +75 -0
  29. package/lib/compiler/apps/monolyth/stages/4_dump_modules_stage.d.ts +13 -0
  30. package/lib/compiler/apps/monolyth/stages/4_dump_modules_stage.js +130 -0
  31. package/lib/compiler/apps/monolyth/stages/5_dump_cli_stage.d.ts +12 -0
  32. package/lib/compiler/apps/monolyth/stages/5_dump_cli_stage.js +65 -0
  33. package/lib/compiler/apps/monolyth/stages/6_dump_package_json_stage.d.ts +12 -0
  34. package/lib/compiler/apps/monolyth/stages/6_dump_package_json_stage.js +74 -0
  35. package/lib/compiler/compiler.d.ts +19 -0
  36. package/lib/compiler/compiler.js +83 -0
  37. package/lib/compiler/elements/bucket.element.d.ts +23 -0
  38. package/lib/compiler/elements/bucket.element.js +304 -0
  39. package/lib/compiler/elements/constants.element.d.ts +9 -0
  40. package/lib/compiler/elements/constants.element.js +88 -0
  41. package/lib/compiler/elements/controller.element.d.ts +6 -0
  42. package/lib/compiler/elements/controller.element.js +22 -0
  43. package/lib/compiler/elements/element.d.ts +49 -0
  44. package/lib/compiler/elements/element.js +105 -0
  45. package/lib/compiler/elements/externals.element.d.ts +19 -0
  46. package/lib/compiler/elements/externals.element.js +83 -0
  47. package/lib/compiler/elements/job.element.d.ts +7 -0
  48. package/lib/compiler/elements/job.element.js +62 -0
  49. package/lib/compiler/elements/machine.element.d.ts +10 -0
  50. package/lib/compiler/elements/machine.element.js +98 -0
  51. package/lib/compiler/elements/message.element.d.ts +9 -0
  52. package/lib/compiler/elements/message.element.js +175 -0
  53. package/lib/compiler/elements/queue.element.d.ts +6 -0
  54. package/lib/compiler/elements/queue.element.js +24 -0
  55. package/lib/compiler/elements/resource.element.d.ts +7 -0
  56. package/lib/compiler/elements/resource.element.js +64 -0
  57. package/lib/compiler/error.d.ts +21 -0
  58. package/lib/compiler/error.js +57 -0
  59. package/lib/compiler/helpers/dump_helpers.d.ts +11 -0
  60. package/lib/compiler/helpers/dump_helpers.js +157 -0
  61. package/lib/compiler/helpers/name_helpers.d.ts +20 -0
  62. package/lib/compiler/helpers/name_helpers.js +44 -0
  63. package/lib/compiler/index.d.ts +2 -0
  64. package/lib/compiler/index.js +7 -0
  65. package/lib/compiler/module.d.ts +24 -0
  66. package/lib/compiler/module.js +122 -0
  67. package/lib/compiler/stages/1_scan_stage.d.ts +10 -0
  68. package/lib/compiler/stages/1_scan_stage.js +23 -0
  69. package/lib/compiler/stages/2_treeshake_stage.d.ts +11 -0
  70. package/lib/compiler/stages/2_treeshake_stage.js +24 -0
  71. package/lib/compiler/stages/3_extract_ts_stage.d.ts +10 -0
  72. package/lib/compiler/stages/3_extract_ts_stage.js +71 -0
  73. package/lib/compiler/stages/4_build_schemas_stage.d.ts +10 -0
  74. package/lib/compiler/stages/4_build_schemas_stage.js +25 -0
  75. package/lib/compiler/stages/5_inject_ts_stage.d.ts +10 -0
  76. package/lib/compiler/stages/5_inject_ts_stage.js +22 -0
  77. package/lib/compiler/stages/6_build_elements_stage.d.ts +11 -0
  78. package/lib/compiler/stages/6_build_elements_stage.js +22 -0
  79. package/lib/compiler/stages/7_dump_stage.d.ts +14 -0
  80. package/lib/compiler/stages/7_dump_stage.js +208 -0
  81. package/lib/compiler/stages/8_diagnose_stage.d.ts +16 -0
  82. package/lib/compiler/stages/8_diagnose_stage.js +43 -0
  83. package/lib/compiler/treeshake.d.ts +58 -0
  84. package/lib/compiler/treeshake.js +424 -0
  85. package/lib/compiler/typescript/bridge/extract.d.ts +11 -0
  86. package/lib/compiler/typescript/bridge/extract.js +270 -0
  87. package/lib/compiler/typescript/bridge/inject.d.ts +10 -0
  88. package/lib/compiler/typescript/bridge/inject.js +140 -0
  89. package/lib/compiler/typescript/bridge/organize.d.ts +61 -0
  90. package/lib/compiler/typescript/bridge/organize.js +258 -0
  91. package/lib/compiler/typescript/error.d.ts +88 -0
  92. package/lib/compiler/typescript/error.js +265 -0
  93. package/lib/compiler/typescript/parser.d.ts +48 -0
  94. package/lib/compiler/typescript/parser.js +581 -0
  95. package/lib/compiler/typescript/source.d.ts +12 -0
  96. package/lib/compiler/typescript/source.js +87 -0
  97. package/lib/compiler/typescript/transformers/app_inject.transformer.d.ts +2 -0
  98. package/lib/compiler/typescript/transformers/app_inject.transformer.js +89 -0
  99. package/lib/compiler/typescript/transformers/replace_import.transformer.d.ts +4 -0
  100. package/lib/compiler/typescript/transformers/replace_import.transformer.js +102 -0
  101. package/lib/compiler/typescript/typescript_compiler.d.ts +63 -0
  102. package/lib/compiler/typescript/typescript_compiler.js +602 -0
  103. package/lib/elements/blocks/block.builder.d.ts +29 -0
  104. package/lib/elements/blocks/block.builder.js +87 -0
  105. package/lib/elements/blocks/block.d.ts +15 -0
  106. package/lib/elements/blocks/block.js +37 -0
  107. package/lib/elements/blocks/block.schema.d.ts +23 -0
  108. package/lib/elements/blocks/block.schema.js +15 -0
  109. package/lib/elements/blocks/externals/externals.builder.d.ts +30 -0
  110. package/lib/elements/blocks/externals/externals.builder.js +37 -0
  111. package/lib/elements/blocks/externals/externals.schema.d.ts +11 -0
  112. package/lib/elements/blocks/externals/externals.schema.js +19 -0
  113. package/lib/elements/blocks/job/internal/machine_job.builder.d.ts +52 -0
  114. package/lib/elements/blocks/job/internal/machine_job.builder.js +74 -0
  115. package/lib/elements/blocks/job/internal/machine_job.schema.d.ts +5 -0
  116. package/lib/elements/blocks/job/internal/machine_job.schema.js +10 -0
  117. package/lib/elements/blocks/job/internal/resource_job.builder.d.ts +109 -0
  118. package/lib/elements/blocks/job/internal/resource_job.builder.js +146 -0
  119. package/lib/elements/blocks/job/internal/resource_job.d.ts +14 -0
  120. package/lib/elements/blocks/job/internal/resource_job.js +30 -0
  121. package/lib/elements/blocks/job/internal/resource_job.schema.d.ts +11 -0
  122. package/lib/elements/blocks/job/internal/resource_job.schema.js +15 -0
  123. package/lib/elements/blocks/job/job.builder.d.ts +118 -0
  124. package/lib/elements/blocks/job/job.builder.js +137 -0
  125. package/lib/elements/blocks/job/job.d.ts +13 -0
  126. package/lib/elements/blocks/job/job.js +40 -0
  127. package/lib/elements/blocks/job/job.schema.d.ts +26 -0
  128. package/lib/elements/blocks/job/job.schema.js +20 -0
  129. package/lib/elements/blocks/machine/machine.builder.d.ts +58 -0
  130. package/lib/elements/blocks/machine/machine.builder.js +135 -0
  131. package/lib/elements/blocks/machine/machine.d.ts +86 -0
  132. package/lib/elements/blocks/machine/machine.js +228 -0
  133. package/lib/elements/blocks/machine/machine.schema.d.ts +85 -0
  134. package/lib/elements/blocks/machine/machine.schema.js +64 -0
  135. package/lib/elements/blocks/machine/machine_state.builder.d.ts +58 -0
  136. package/lib/elements/blocks/machine/machine_state.builder.js +186 -0
  137. package/lib/elements/blocks/machine/machine_transition.builder.d.ts +48 -0
  138. package/lib/elements/blocks/machine/machine_transition.builder.js +98 -0
  139. package/lib/elements/blocks/queue/adapters/bucket.queue_adapter.d.ts +10 -0
  140. package/lib/elements/blocks/queue/adapters/bucket.queue_adapter.js +17 -0
  141. package/lib/elements/blocks/queue/adapters/queue_adapter.d.ts +6 -0
  142. package/lib/elements/blocks/queue/adapters/queue_adapter.js +6 -0
  143. package/lib/elements/blocks/queue/queue.builder.d.ts +40 -0
  144. package/lib/elements/blocks/queue/queue.builder.js +31 -0
  145. package/lib/elements/blocks/queue/queue.d.ts +9 -0
  146. package/lib/elements/blocks/queue/queue.js +11 -0
  147. package/lib/elements/blocks/queue/queue.schema.d.ts +12 -0
  148. package/lib/elements/blocks/queue/queue.schema.js +17 -0
  149. package/lib/elements/blocks/resource/resource.builder.d.ts +60 -0
  150. package/lib/elements/blocks/resource/resource.builder.js +224 -0
  151. package/lib/elements/blocks/resource/resource.d.ts +48 -0
  152. package/lib/elements/blocks/resource/resource.js +125 -0
  153. package/lib/elements/blocks/resource/resource.schema.d.ts +32 -0
  154. package/lib/elements/blocks/resource/resource.schema.js +30 -0
  155. package/lib/elements/blocks/resource/resource.types.d.ts +38 -0
  156. package/lib/elements/blocks/resource/resource.types.js +3 -0
  157. package/lib/elements/edge/controller/adapters/cli.controller_adapter.d.ts +8 -0
  158. package/lib/elements/edge/controller/adapters/cli.controller_adapter.js +17 -0
  159. package/lib/elements/edge/controller/adapters/controller_adapter.d.ts +14 -0
  160. package/lib/elements/edge/controller/adapters/controller_adapter.js +44 -0
  161. package/lib/elements/edge/controller/controller.builder.d.ts +78 -0
  162. package/lib/elements/edge/controller/controller.builder.js +178 -0
  163. package/lib/elements/edge/controller/controller.config.d.ts +6 -0
  164. package/lib/elements/edge/controller/controller.config.js +2 -0
  165. package/lib/elements/edge/controller/controller.d.ts +22 -0
  166. package/lib/elements/edge/controller/controller.js +41 -0
  167. package/lib/elements/edge/controller/controller.schema.d.ts +44 -0
  168. package/lib/elements/edge/controller/controller.schema.js +51 -0
  169. package/lib/elements/entities/bucket/adapters/bucket_adapter.d.ts +107 -0
  170. package/lib/elements/entities/bucket/adapters/bucket_adapter.js +41 -0
  171. package/lib/elements/entities/bucket/adapters/memory.bucket_adapter.d.ts +37 -0
  172. package/lib/elements/entities/bucket/adapters/memory.bucket_adapter.js +149 -0
  173. package/lib/elements/entities/bucket/adapters/memory.bucket_query copy.d.ts +0 -0
  174. package/lib/elements/entities/bucket/adapters/memory.bucket_query copy.js +218 -0
  175. package/lib/elements/entities/bucket/adapters/memory.nql.d.ts +19 -0
  176. package/lib/elements/entities/bucket/adapters/memory.nql.js +212 -0
  177. package/lib/elements/entities/bucket/adapters/slow_memory.bucket_adapter.d.ts +20 -0
  178. package/lib/elements/entities/bucket/adapters/slow_memory.bucket_adapter.js +31 -0
  179. package/lib/elements/entities/bucket/bucket.builder.d.ts +61 -0
  180. package/lib/elements/entities/bucket/bucket.builder.js +130 -0
  181. package/lib/elements/entities/bucket/bucket.config.d.ts +29 -0
  182. package/lib/elements/entities/bucket/bucket.config.js +2 -0
  183. package/lib/elements/entities/bucket/bucket.d.ts +36 -0
  184. package/lib/elements/entities/bucket/bucket.infer.d.ts +22 -0
  185. package/lib/elements/entities/bucket/bucket.infer.js +85 -0
  186. package/lib/elements/entities/bucket/bucket.js +125 -0
  187. package/lib/elements/entities/bucket/bucket.schema.d.ts +24 -0
  188. package/lib/elements/entities/bucket/bucket.schema.js +16 -0
  189. package/lib/elements/entities/bucket/bucket.types.d.ts +32 -0
  190. package/lib/elements/entities/bucket/bucket.types.js +2 -0
  191. package/lib/elements/entities/bucket/cache/bucket_cache.d.ts +35 -0
  192. package/lib/elements/entities/bucket/cache/bucket_cache.js +182 -0
  193. package/lib/elements/entities/bucket/graph/bucket_graph.builder.d.ts +11 -0
  194. package/lib/elements/entities/bucket/graph/bucket_graph.builder.js +27 -0
  195. package/lib/elements/entities/bucket/graph/bucket_graph.d.ts +16 -0
  196. package/lib/elements/entities/bucket/graph/bucket_graph.infer.d.ts +9 -0
  197. package/lib/elements/entities/bucket/graph/bucket_graph.infer.js +2 -0
  198. package/lib/elements/entities/bucket/graph/bucket_graph.js +136 -0
  199. package/lib/elements/entities/bucket/graph/bucket_graph.schema.d.ts +28 -0
  200. package/lib/elements/entities/bucket/graph/bucket_graph.schema.js +27 -0
  201. package/lib/elements/entities/bucket/graph/bucket_graph_link.builder.d.ts +36 -0
  202. package/lib/elements/entities/bucket/graph/bucket_graph_link.builder.js +56 -0
  203. package/lib/elements/entities/bucket/model/bucket_model.builder.d.ts +13 -0
  204. package/lib/elements/entities/bucket/model/bucket_model.builder.js +24 -0
  205. package/lib/elements/entities/bucket/model/bucket_model.convert.d.ts +5 -0
  206. package/lib/elements/entities/bucket/model/bucket_model.convert.js +51 -0
  207. package/lib/elements/entities/bucket/model/bucket_model.infer.d.ts +13 -0
  208. package/lib/elements/entities/bucket/model/bucket_model.infer.js +2 -0
  209. package/lib/elements/entities/bucket/model/bucket_model.schema.d.ts +35 -0
  210. package/lib/elements/entities/bucket/model/bucket_model.schema.js +47 -0
  211. package/lib/elements/entities/bucket/model/bucket_model_field.builder.d.ts +119 -0
  212. package/lib/elements/entities/bucket/model/bucket_model_field.builder.js +154 -0
  213. package/lib/elements/entities/bucket/query/nql.schema.d.ts +140 -0
  214. package/lib/elements/entities/bucket/query/nql.schema.js +2 -0
  215. package/lib/elements/entities/bucket/query/nql_compiler.d.ts +44 -0
  216. package/lib/elements/entities/bucket/query/nql_compiler.js +620 -0
  217. package/lib/elements/entities/bucket/query/nql_engine.d.ts +16 -0
  218. package/lib/elements/entities/bucket/query/nql_engine.js +42 -0
  219. package/lib/elements/entities/bucket/view/bucket_view.builder.d.ts +14 -0
  220. package/lib/elements/entities/bucket/view/bucket_view.builder.js +24 -0
  221. package/lib/elements/entities/bucket/view/bucket_view.d.ts +10 -0
  222. package/lib/elements/entities/bucket/view/bucket_view.js +102 -0
  223. package/lib/elements/entities/bucket/view/bucket_view.schema.d.ts +55 -0
  224. package/lib/elements/entities/bucket/view/bucket_view.schema.js +42 -0
  225. package/lib/elements/entities/bucket/view/bucket_view_field.builder.d.ts +37 -0
  226. package/lib/elements/entities/bucket/view/bucket_view_field.builder.js +138 -0
  227. package/lib/elements/entities/constants/constants.builder.d.ts +57 -0
  228. package/lib/elements/entities/constants/constants.builder.js +116 -0
  229. package/lib/elements/entities/constants/constants.d.ts +7 -0
  230. package/lib/elements/entities/constants/constants.js +15 -0
  231. package/lib/elements/entities/constants/constants.schema.d.ts +51 -0
  232. package/lib/elements/entities/constants/constants.schema.js +45 -0
  233. package/lib/elements/entities/message/message.builder.d.ts +33 -0
  234. package/lib/elements/entities/message/message.builder.js +41 -0
  235. package/lib/elements/entities/message/message.d.ts +11 -0
  236. package/lib/elements/entities/message/message.infer.d.ts +63 -0
  237. package/lib/elements/entities/message/message.infer.js +2 -0
  238. package/lib/elements/entities/message/message.js +52 -0
  239. package/lib/elements/entities/message/message.schema.d.ts +15 -0
  240. package/lib/elements/entities/message/message.schema.js +13 -0
  241. package/lib/elements/entities/message/message_parser.d.ts +12 -0
  242. package/lib/elements/entities/message/message_parser.js +112 -0
  243. package/lib/elements/entities/message/template/message_template.builder.d.ts +14 -0
  244. package/lib/elements/entities/message/template/message_template.builder.js +20 -0
  245. package/lib/elements/entities/message/template/message_template.schema.d.ts +57 -0
  246. package/lib/elements/entities/message/template/message_template.schema.js +28 -0
  247. package/lib/elements/entities/message/template/message_template_field.builder.d.ts +225 -0
  248. package/lib/elements/entities/message/template/message_template_field.builder.js +172 -0
  249. package/lib/elements/entities/message/template/message_template_parser.d.ts +3 -0
  250. package/lib/elements/entities/message/template/message_template_parser.js +83 -0
  251. package/lib/elements/index.d.ts +11 -0
  252. package/lib/elements/index.js +23 -0
  253. package/lib/engine/apps/app.config.d.ts +49 -0
  254. package/lib/engine/apps/app.config.js +38 -0
  255. package/lib/engine/apps/app.d.ts +70 -0
  256. package/lib/engine/apps/app.js +101 -0
  257. package/lib/engine/apps/inline.app.d.ts +48 -0
  258. package/lib/engine/apps/inline.app.js +144 -0
  259. package/lib/engine/apps/monolyth/monolyth.app.d.ts +20 -0
  260. package/lib/engine/apps/monolyth/monolyth.app.js +94 -0
  261. package/lib/engine/apps/monolyth/monolyth.cli.d.ts +45 -0
  262. package/lib/engine/apps/monolyth/monolyth.cli.js +362 -0
  263. package/lib/engine/auth/authn.d.ts +18 -0
  264. package/lib/engine/auth/authn.js +9 -0
  265. package/lib/engine/auth/zero.authn_provider.d.ts +13 -0
  266. package/lib/engine/auth/zero.authn_provider.js +13 -0
  267. package/lib/engine/cli/cli.d.ts +19 -0
  268. package/lib/engine/cli/cli.js +88 -0
  269. package/lib/engine/cli/cli_adapter.d.ts +18 -0
  270. package/lib/engine/cli/cli_adapter.js +61 -0
  271. package/lib/engine/cli/ui.d.ts +36 -0
  272. package/lib/engine/cli/ui.js +188 -0
  273. package/lib/engine/daemon.d.ts +35 -0
  274. package/lib/engine/daemon.js +66 -0
  275. package/lib/engine/data/date.d.ts +10 -0
  276. package/lib/engine/data/date.js +32 -0
  277. package/lib/engine/data/datetime.d.ts +12 -0
  278. package/lib/engine/data/datetime.js +31 -0
  279. package/lib/engine/data/decimal.d.ts +11 -0
  280. package/lib/engine/data/decimal.js +70 -0
  281. package/lib/engine/data/error.d.ts +213 -0
  282. package/lib/engine/data/error.js +386 -0
  283. package/lib/engine/data/obj.d.ts +16 -0
  284. package/lib/engine/data/obj.js +5 -0
  285. package/lib/engine/data/tree.d.ts +17 -0
  286. package/lib/engine/data/tree.js +111 -0
  287. package/lib/engine/dependency.d.ts +68 -0
  288. package/lib/engine/dependency.js +91 -0
  289. package/lib/engine/module.d.ts +97 -0
  290. package/lib/engine/module.js +335 -0
  291. package/lib/engine/space.d.ts +54 -0
  292. package/lib/engine/space.js +138 -0
  293. package/lib/engine/transaction/nodes/bucket.trx_node.d.ts +53 -0
  294. package/lib/engine/transaction/nodes/bucket.trx_node.js +522 -0
  295. package/lib/engine/transaction/nodes/bucket_query.trx_node.d.ts +17 -0
  296. package/lib/engine/transaction/nodes/bucket_query.trx_node.js +82 -0
  297. package/lib/engine/transaction/nodes/job.trx_node.d.ts +13 -0
  298. package/lib/engine/transaction/nodes/job.trx_node.js +40 -0
  299. package/lib/engine/transaction/nodes/machine.trx_node.d.ts +12 -0
  300. package/lib/engine/transaction/nodes/machine.trx_node.js +39 -0
  301. package/lib/engine/transaction/nodes/queue.trx_node.d.ts +10 -0
  302. package/lib/engine/transaction/nodes/queue.trx_node.js +24 -0
  303. package/lib/engine/transaction/nodes/resource.trx_node.d.ts +24 -0
  304. package/lib/engine/transaction/nodes/resource.trx_node.js +77 -0
  305. package/lib/engine/transaction/trx.d.ts +50 -0
  306. package/lib/engine/transaction/trx.js +94 -0
  307. package/lib/engine/transaction/trx_engine.config.d.ts +15 -0
  308. package/lib/engine/transaction/trx_engine.config.js +2 -0
  309. package/lib/engine/transaction/trx_engine.d.ts +27 -0
  310. package/lib/engine/transaction/trx_engine.js +95 -0
  311. package/lib/engine/transaction/trx_node.d.ts +61 -0
  312. package/lib/engine/transaction/trx_node.js +175 -0
  313. package/lib/engine/tree.d.ts +34 -0
  314. package/lib/engine/tree.js +237 -0
  315. package/lib/engine/util/cache.d.ts +6 -0
  316. package/lib/engine/util/cache.js +20 -0
  317. package/lib/engine/util/console.d.ts +4 -0
  318. package/lib/engine/util/console.js +24 -0
  319. package/lib/engine/util/deep.d.ts +7 -0
  320. package/lib/engine/util/deep.js +2 -0
  321. package/lib/engine/util/dotenv.d.ts +15 -0
  322. package/lib/engine/util/dotenv.js +94 -0
  323. package/lib/engine/util/i18n.d.ts +5 -0
  324. package/lib/engine/util/i18n.js +19 -0
  325. package/lib/engine/util/log.d.ts +17 -0
  326. package/lib/engine/util/log.js +93 -0
  327. package/lib/engine/util/parse.d.ts +63 -0
  328. package/lib/engine/util/parse.js +229 -0
  329. package/lib/engine/util/promise.d.ts +3 -0
  330. package/lib/engine/util/promise.js +14 -0
  331. package/lib/engine/util/shell.d.ts +6 -0
  332. package/lib/engine/util/shell.js +44 -0
  333. package/lib/engine/util/string.d.ts +18 -0
  334. package/lib/engine/util/string.js +25 -0
  335. package/lib/engine/util/type.d.ts +7 -0
  336. package/lib/engine/util/type.js +3 -0
  337. package/lib/schema.d.ts +63 -0
  338. package/lib/schema.js +2 -0
  339. package/package.json +22 -0
  340. package/tools/compile.d.ts +1 -0
  341. package/tools/compile.js +68 -0
  342. package/tools/joaquin/job.d.ts +40 -0
  343. package/tools/joaquin/job.js +47 -0
  344. package/tools/joaquin/message.d.ts +12 -0
  345. package/tools/joaquin/message.js +47 -0
  346. package/tools/joaquin/mock.d.ts +28 -0
  347. package/tools/joaquin/mock.js +128 -0
  348. package/tsconfig.build.tsbuildinfo +1 -0
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExtractTSStage = void 0;
4
+ const log_1 = require("../../engine/util/log");
5
+ const extract_1 = require("../typescript/bridge/extract");
6
+ const organize_1 = require("../typescript/bridge/organize");
7
+ /**
8
+ * [Compiler Stage #3]
9
+ * Extract TypeScript sources (methods and imports) from builders
10
+ */
11
+ class ExtractTSStage {
12
+ constructor(compiler) {
13
+ this.compiler = compiler;
14
+ }
15
+ run() {
16
+ log_1.Log.info('compiler', 'stage.extract_ts', 'Extracting TypeScript code from builders...');
17
+ const { tree } = this.compiler;
18
+ const nodes = tree.allNodes();
19
+ const extract = {};
20
+ const organized = {
21
+ buckets: {},
22
+ messages: {},
23
+ jobs: {},
24
+ machines: {}
25
+ };
26
+ nodes.forEach(node => {
27
+ if (node.isInline) {
28
+ return;
29
+ }
30
+ const imports = extract_1.TSBridgeExtract.imports(this.compiler, node);
31
+ if (imports) {
32
+ extract[node.tag] = { imports, types: [], functions: [] };
33
+ }
34
+ const types = extract_1.TSBridgeExtract.types(this.compiler, node);
35
+ const functions = extract_1.TSBridgeExtract.functions(this.compiler, node);
36
+ if (!types && !functions) {
37
+ return;
38
+ }
39
+ const nodeOrganized = organize_1.TSBridgeOrganize.functions(types, functions);
40
+ Object.assign(organized.buckets, nodeOrganized.buckets);
41
+ Object.assign(organized.messages, nodeOrganized.messages);
42
+ Object.assign(organized.jobs, nodeOrganized.jobs);
43
+ Object.assign(organized.machines, nodeOrganized.machines);
44
+ });
45
+ nodes.forEach(node => {
46
+ const imports = node.isInline
47
+ ? extract[node.root.tag]?.imports
48
+ : extract[node.tag]?.imports;
49
+ let e;
50
+ if (node.builder.$b === 'bucket') {
51
+ e = organized.buckets[node.tag];
52
+ }
53
+ else if (node.builder.$b === 'message') {
54
+ e = organized.messages[node.tag];
55
+ }
56
+ else if (node.builder.$b === 'job') {
57
+ e = organized.jobs[node.tag];
58
+ }
59
+ else if (node.builder.$b === 'machine') {
60
+ e = organized.machines[node.tag];
61
+ }
62
+ node.bridge = {
63
+ imports,
64
+ extract: e,
65
+ appDependencies: [] // TODO
66
+ };
67
+ });
68
+ log_1.Log.trace('compiler', 'stage.extract_ts', 'Finished extracting TS code', organized);
69
+ }
70
+ }
71
+ exports.ExtractTSStage = ExtractTSStage;
@@ -0,0 +1,10 @@
1
+ import { Compiler } from '../compiler';
2
+ /**
3
+ * [Compiler Stage #4]
4
+ * Build the node schemas, following the graph resolved on previous steps.
5
+ */
6
+ export declare class BuildSchemasStage {
7
+ compiler: Compiler;
8
+ constructor(compiler: Compiler);
9
+ run(): Promise<void>;
10
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BuildSchemasStage = void 0;
4
+ const log_1 = require("../../engine/util/log");
5
+ /**
6
+ * [Compiler Stage #4]
7
+ * Build the node schemas, following the graph resolved on previous steps.
8
+ */
9
+ class BuildSchemasStage {
10
+ constructor(compiler) {
11
+ this.compiler = compiler;
12
+ }
13
+ async run() {
14
+ log_1.Log.info('compiler', 'stage.build_schemas', 'Building schemas...');
15
+ await this.compiler.tree.traverse('Building schemas ', async (node) => {
16
+ // Inline nodes are built by their root builder
17
+ if (node.isInline) {
18
+ return;
19
+ }
20
+ const module = this.compiler.modules[node.module].module;
21
+ await module.buildNode(node, this.compiler.tree);
22
+ });
23
+ }
24
+ }
25
+ exports.BuildSchemasStage = BuildSchemasStage;
@@ -0,0 +1,10 @@
1
+ import { Compiler } from '../compiler';
2
+ /**
3
+ * [Compiler Stage #5]
4
+ * Transfer TypeScript sources (methods and imports) to schemas
5
+ */
6
+ export declare class InjectTSStage {
7
+ compiler: Compiler;
8
+ constructor(compiler: Compiler);
9
+ run(): void;
10
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InjectTSStage = void 0;
4
+ const log_1 = require("../../engine/util/log");
5
+ const inject_1 = require("../typescript/bridge/inject");
6
+ /**
7
+ * [Compiler Stage #5]
8
+ * Transfer TypeScript sources (methods and imports) to schemas
9
+ */
10
+ class InjectTSStage {
11
+ constructor(compiler) {
12
+ this.compiler = compiler;
13
+ }
14
+ run() {
15
+ log_1.Log.info('compiler', 'stage.inject_ts', 'Injecting TypeScript code to schemas...');
16
+ const { tree } = this.compiler;
17
+ const nodes = tree.allNodes();
18
+ inject_1.TSBridgeInject.inject(this.compiler, nodes);
19
+ log_1.Log.trace('compiler', 'stage.inject_ts', 'Finished injecting TS code');
20
+ }
21
+ }
22
+ exports.InjectTSStage = InjectTSStage;
@@ -0,0 +1,11 @@
1
+ import { Compiler } from '../compiler';
2
+ /**
3
+ * [Compiler Stage #6]
4
+ * Build the node elements (the schemas which are saved to the .nesoi folder),
5
+ * following the graph resolved on previous steps.
6
+ */
7
+ export declare class BuildElementsStage {
8
+ compiler: Compiler;
9
+ constructor(compiler: Compiler);
10
+ run(): Promise<void>;
11
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BuildElementsStage = void 0;
4
+ const log_1 = require("../../engine/util/log");
5
+ /**
6
+ * [Compiler Stage #6]
7
+ * Build the node elements (the schemas which are saved to the .nesoi folder),
8
+ * following the graph resolved on previous steps.
9
+ */
10
+ class BuildElementsStage {
11
+ constructor(compiler) {
12
+ this.compiler = compiler;
13
+ }
14
+ async run() {
15
+ log_1.Log.info('compiler', 'stage.build_elements', 'Building Elements...');
16
+ await this.compiler.tree.traverse('Building elements ', async (node) => {
17
+ const module = this.compiler.modules[node.module];
18
+ await module.buildElementNode(node);
19
+ });
20
+ }
21
+ }
22
+ exports.BuildElementsStage = BuildElementsStage;
@@ -0,0 +1,14 @@
1
+ import { Compiler } from '../compiler';
2
+ /**
3
+ * [Compiler Stage #7]
4
+ * Dump the element schemas and types to the .nesoi folder.
5
+ */
6
+ export declare class DumpStage {
7
+ compiler: Compiler;
8
+ constructor(compiler: Compiler);
9
+ run(): void;
10
+ private dumpSpace;
11
+ private dumpModule;
12
+ private dumpModuleSchemas;
13
+ private dumpModuleType;
14
+ }
@@ -0,0 +1,208 @@
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.DumpStage = void 0;
40
+ const fs = __importStar(require("fs"));
41
+ const log_1 = require("../../engine/util/log");
42
+ const name_helpers_1 = require("../helpers/name_helpers");
43
+ const path_1 = __importDefault(require("path"));
44
+ const dependency_1 = require("../../engine/dependency");
45
+ const bucket_element_1 = require("../elements/bucket.element");
46
+ const dump_helpers_1 = require("../helpers/dump_helpers");
47
+ const space_1 = require("../../engine/space");
48
+ /**
49
+ * [Compiler Stage #7]
50
+ * Dump the element schemas and types to the .nesoi folder.
51
+ */
52
+ class DumpStage {
53
+ constructor(compiler) {
54
+ this.compiler = compiler;
55
+ }
56
+ run() {
57
+ log_1.Log.info('compiler', 'stage.dump', 'Dumping Schemas and Types...');
58
+ const spaceType = this.dumpSpace();
59
+ Object.values(this.compiler.modules).forEach(module => {
60
+ this.dumpModule(module, spaceType);
61
+ });
62
+ }
63
+ /* Space */
64
+ dumpSpace() {
65
+ const type = {
66
+ authnUsers: {},
67
+ modules: {}
68
+ };
69
+ // Authentication users
70
+ const _authn = this.compiler.space._authn;
71
+ Object.entries(_authn).forEach(([name, model]) => {
72
+ type.authnUsers[name] = bucket_element_1.BucketElement.buildModelTypeFromSchema(model);
73
+ });
74
+ // Module types
75
+ let dump = '';
76
+ dump += `import { $Space } from '${this.compiler.config?.nesoiPath ?? 'nesoi'}/lib/schema';\n`;
77
+ Object.values(this.compiler.modules).forEach(module => {
78
+ type.modules[module.lowName] = module.typeName;
79
+ dump += `import ${module.typeName} from './${module.lowName}.module';\n`;
80
+ });
81
+ const name = this.compiler.space._name;
82
+ dump += `\nexport default interface ${name} extends $Space `;
83
+ dump += dump_helpers_1.DumpHelpers.dumpType(type);
84
+ // Create dir and write to file
85
+ const dumpDir = space_1.Space.path(this.compiler.space, './.nesoi');
86
+ if (!fs.existsSync(dumpDir)) {
87
+ fs.mkdirSync(dumpDir, { recursive: true });
88
+ }
89
+ const spaceFilepath = path_1.default.resolve(dumpDir, name_helpers_1.NameHelpers.nameHighToLow(name) + '.ts');
90
+ fs.writeFileSync(spaceFilepath, dump);
91
+ return type;
92
+ }
93
+ /* Module */
94
+ dumpModule(module, spaceType) {
95
+ const dumpDir = space_1.Space.path(this.compiler.space, `./.nesoi/${module.lowName}`);
96
+ if (!fs.existsSync(dumpDir)) {
97
+ fs.mkdirSync(dumpDir, { recursive: true });
98
+ }
99
+ this.dumpModuleType(module, spaceType, dumpDir);
100
+ this.dumpModuleSchemas(module, dumpDir);
101
+ }
102
+ dumpModuleSchemas(module, dumpDir) {
103
+ const nesoiPath = this.compiler.config?.nesoiPath ?? 'nesoi';
104
+ module.elements.forEach((element) => {
105
+ const filename = path_1.default.basename(element.filepath());
106
+ const elPath = path_1.default.resolve(dumpDir, filename);
107
+ fs.writeFileSync(elPath, element.dumpFileSchema(nesoiPath));
108
+ });
109
+ }
110
+ dumpModuleType(module, spaceType, dumpDir) {
111
+ const nesoiPath = this.compiler.config?.nesoiPath ?? 'nesoi';
112
+ const moduleFile = [];
113
+ moduleFile.push(`import { $Module, $Constants, $Bucket, $Message, $Job, $Resource, $Machine, $Controller, $Queue } from '${nesoiPath}/lib/elements';`);
114
+ moduleFile.push(`import { NesoiDate } from '${nesoiPath}/lib/engine/data/date';`);
115
+ moduleFile.push(`import { NesoiDatetime } from '${nesoiPath}/lib/engine/data/datetime';`);
116
+ // Build module type (with all blocks)
117
+ const type = {
118
+ name: `'${module.lowName}'`,
119
+ externals: 'any',
120
+ constants: 'any',
121
+ buckets: {},
122
+ messages: {},
123
+ jobs: {},
124
+ resources: {},
125
+ machines: {},
126
+ queues: {},
127
+ controllers: {},
128
+ };
129
+ const externals = module.elements.find(el => el.$t === 'externals');
130
+ // Inject external node types on module
131
+ if (externals) {
132
+ if (!type.buckets) {
133
+ type.buckets = {};
134
+ }
135
+ Object.entries(externals.schema.buckets).forEach(([tag, ref]) => {
136
+ type.buckets[tag] = dependency_1.$Dependency.typeName(ref, module.lowName);
137
+ });
138
+ if (!type.jobs) {
139
+ type.jobs = {};
140
+ }
141
+ Object.entries(externals.schema.jobs).forEach(([tag, ref]) => {
142
+ type.jobs[tag] = dependency_1.$Dependency.typeName(ref, module.lowName);
143
+ });
144
+ if (!type.machines) {
145
+ type.machines = {};
146
+ }
147
+ Object.entries(externals.schema.machines).forEach(([tag, ref]) => {
148
+ type.machines[tag] = dependency_1.$Dependency.typeName(ref, module.lowName);
149
+ });
150
+ }
151
+ if (module.elements.some(el => el.$t === 'constants')) {
152
+ type.constants = module.highName + 'Constants';
153
+ }
154
+ module.elements.forEach(element => {
155
+ if (element.$t === 'externals' || element.$t === 'constants') {
156
+ return;
157
+ }
158
+ // WARN: this might breat non-regular plural block names in the future
159
+ const el_t = element.$t + 's';
160
+ if (!(el_t in type)) {
161
+ type[el_t] = {};
162
+ }
163
+ type[el_t][element.lowName] = element.typeName;
164
+ });
165
+ type['#input'] = dump_helpers_1.DumpHelpers.dumpType(module.elements
166
+ .filter(el => el.$t === 'message')
167
+ .map(el => el.typeName));
168
+ type['#authn'] = 'AuthnUsers';
169
+ // Dump external elements (imports)
170
+ module.elements
171
+ .filter(el => el.$t === 'externals')
172
+ .forEach((element) => {
173
+ moduleFile.push(element.dumpTypeSchema());
174
+ });
175
+ // Dump module type
176
+ moduleFile.push('');
177
+ moduleFile.push('/**');
178
+ moduleFile.push(` * ${module.typeName}`);
179
+ moduleFile.push(' */');
180
+ moduleFile.push('');
181
+ let moduleDump = `export default interface ${module.typeName} extends $Module `;
182
+ moduleDump += dump_helpers_1.DumpHelpers.dumpType({
183
+ // Constants should be unknown by default, since enum types
184
+ // are validated across modules. The default type causes
185
+ // the enum alias to be keyof ... & Record<string, ...>, which
186
+ // invalidated the type assertion
187
+ constants: 'Omit<$Constants, \'values\'|\'enums\'> & { values: {}, enums: {} }',
188
+ ...type
189
+ });
190
+ moduleFile.push(moduleDump);
191
+ moduleFile.push('');
192
+ moduleFile.push('/* */');
193
+ moduleFile.push('');
194
+ // Dump authentication users
195
+ moduleFile.push(`type AuthnUsers = ${dump_helpers_1.DumpHelpers.dumpType(spaceType.authnUsers)}`);
196
+ // Dump other elements
197
+ module.elements
198
+ .filter(el => el.$t !== 'externals')
199
+ .forEach((element) => {
200
+ moduleFile.push(element.dumpTypeSchema());
201
+ });
202
+ // Write to file
203
+ const moduleFilename = `../${module.lowName}.module`;
204
+ const moduleFilepath = path_1.default.resolve(dumpDir, moduleFilename + '.ts');
205
+ fs.writeFileSync(moduleFilepath, moduleFile.join('\n'));
206
+ }
207
+ }
208
+ exports.DumpStage = DumpStage;
@@ -0,0 +1,16 @@
1
+ import { Compiler } from '../compiler';
2
+ /**
3
+ * [Compiler Stage #8]
4
+ * Diagnose the space source with TypeScript
5
+ *
6
+ * This is the last stage since the source needs the .nesoi definitions to be up-to-date.
7
+ * So we build everything ignoring TypeScript errors, then check for those errors.
8
+ *
9
+ * This strategy has the downside of breaking the elements on a failed compile, which
10
+ * causes instability on the project types while the issue is not fixed
11
+ */
12
+ export declare class DiagnoseStage {
13
+ compiler: Compiler;
14
+ constructor(compiler: Compiler);
15
+ run(): Promise<void>;
16
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DiagnoseStage = void 0;
4
+ const log_1 = require("../../engine/util/log");
5
+ /**
6
+ * [Compiler Stage #8]
7
+ * Diagnose the space source with TypeScript
8
+ *
9
+ * This is the last stage since the source needs the .nesoi definitions to be up-to-date.
10
+ * So we build everything ignoring TypeScript errors, then check for those errors.
11
+ *
12
+ * This strategy has the downside of breaking the elements on a failed compile, which
13
+ * causes instability on the project types while the issue is not fixed
14
+ */
15
+ class DiagnoseStage {
16
+ constructor(compiler) {
17
+ this.compiler = compiler;
18
+ }
19
+ async run() {
20
+ log_1.Log.info('compiler', 'stage.diagnose', 'Diagnosing space files with TypeScript...');
21
+ const { tsCompiler, tree } = this.compiler;
22
+ // Recreate TS program, to load new version of types
23
+ tsCompiler.createProgram();
24
+ const filepaths = [];
25
+ // Find all files
26
+ tree.allNodes().forEach(node => {
27
+ // Inline nodes belong to the same file as their parent
28
+ if (node.isInline) {
29
+ return;
30
+ }
31
+ if (Array.isArray(node.filepath)) {
32
+ filepaths.push(...node.filepath);
33
+ }
34
+ else {
35
+ filepaths.push(node.filepath);
36
+ }
37
+ });
38
+ filepaths.forEach(filepath => {
39
+ tsCompiler.check(filepath);
40
+ });
41
+ }
42
+ }
43
+ exports.DiagnoseStage = DiagnoseStage;
@@ -0,0 +1,58 @@
1
+ import { $Dependency, BuilderNode } from "../engine/dependency";
2
+ import { BucketGraphBuilder } from "../elements/entities/bucket/graph/bucket_graph.builder";
3
+ import { AnyModule } from "../engine/module";
4
+ import { $BucketModelFields } from "../elements/entities/bucket/model/bucket_model.schema";
5
+ export type TreeshakeConfig = {
6
+ exclude?: string[];
7
+ };
8
+ export declare class Treeshake {
9
+ static externals(node: BuilderNode, depth?: number): void;
10
+ static bucket(node: BuilderNode, depth?: number): void;
11
+ static bucketModelFields(node: BuilderNode, fields: $BucketModelFields): $Dependency[];
12
+ static bucketGraph(node: BuilderNode, builder: BucketGraphBuilder<any>): $Dependency[];
13
+ private static bucketGraphLink;
14
+ static message(node: BuilderNode, depth?: number): void;
15
+ private static messageFieldTree;
16
+ protected static blockIO(node: BuilderNode): $Dependency[];
17
+ protected static blockInlineNodes(node: BuilderNode, depth?: number): {
18
+ dependencies: $Dependency[];
19
+ inlines: BuilderNode[];
20
+ };
21
+ static job(node: BuilderNode, depth?: number): {
22
+ inlines: BuilderNode[];
23
+ };
24
+ static resource(node: BuilderNode, depth?: number): {
25
+ inlines: BuilderNode[];
26
+ };
27
+ static machine(node: BuilderNode, depth?: number): {
28
+ inlines: BuilderNode[];
29
+ };
30
+ static controller(node: BuilderNode): void;
31
+ static queue(node: BuilderNode): void;
32
+ /**
33
+ * Scans the module directory, imports the builders and lists
34
+ * all nodes found.
35
+ *
36
+ * @returns A list of all `BuilderNodes` found on the module folder
37
+ */
38
+ static module(module: AnyModule, config?: TreeshakeConfig): Promise<BuilderNode[]>;
39
+ /**
40
+ * Shakes a file to find all the builders declared on that file, and returns
41
+ * them as BuilderNodes:
42
+ * - Root-level (exported) builders
43
+ * - Inline builders
44
+ * - Nested inline builders
45
+ */
46
+ private static file;
47
+ /**
48
+ * Shakes a file to find all the builders declared on that file, and returns
49
+ * them as BuilderNodes:
50
+ * - Root-level (exported) builders
51
+ * - Inline builders
52
+ * - Nested inline builders
53
+ */
54
+ private static builder;
55
+ private static cleanNodeDependencies;
56
+ private static logNodeList;
57
+ private static logNodeTree;
58
+ }