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,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Log = void 0;
4
+ exports.scopeTag = scopeTag;
5
+ exports.anyScopeTag = anyScopeTag;
6
+ const string_1 = require("./string");
7
+ const datetime_1 = require("../data/datetime");
8
+ const LogLevel = ['off', 'error', 'warn', 'info', 'debug', 'trace'];
9
+ function scopeTag(scope, scope_id) {
10
+ const color = {
11
+ compiler: 'brown',
12
+ trx: 'purple',
13
+ daemon: 'lightcyan',
14
+ app: 'lightcyan',
15
+ module: 'lightcyan',
16
+ layer: 'lightgreen',
17
+ virtual: 'lightgreen',
18
+ constants: 'lightblue',
19
+ externals: 'lightblue',
20
+ message: 'lightblue',
21
+ bucket: 'lightblue',
22
+ job: 'lightblue',
23
+ resource: 'lightblue',
24
+ controller: 'lightblue',
25
+ machine: 'lightblue',
26
+ queue: 'lightblue',
27
+ }[scope] || 'lightgray';
28
+ return (0, string_1.colored)(`${scope}:${scope_id}`, color);
29
+ }
30
+ function anyScopeTag(scopeWithId) {
31
+ const [_, module, type, name] = scopeWithId.match(/(\w+::)?(\w+):?(.+)?/) || [];
32
+ return (module ? module : '') + scopeTag(type, name || '');
33
+ }
34
+ class Log {
35
+ static error(scope, scope_id, message, obj) {
36
+ if (LogLevel.indexOf(Log.level) < 1) {
37
+ return;
38
+ }
39
+ this.push('error', scope, scope_id, message, obj);
40
+ }
41
+ static warn(scope, scope_id, message, obj) {
42
+ if (LogLevel.indexOf(Log.level) < 2) {
43
+ return;
44
+ }
45
+ this.push('warn', scope, scope_id, message, obj);
46
+ }
47
+ static info(scope, scope_id, message, obj) {
48
+ if (LogLevel.indexOf(Log.level) < 3) {
49
+ return;
50
+ }
51
+ this.push('info', scope, scope_id, message, obj);
52
+ }
53
+ static debug(scope, scope_id, message, obj) {
54
+ if (LogLevel.indexOf(Log.level) < 4) {
55
+ return;
56
+ }
57
+ this.push('debug', scope, scope_id, message, obj);
58
+ }
59
+ static trace(scope, scope_id, message, obj) {
60
+ if (LogLevel.indexOf(Log.level) < 5) {
61
+ return;
62
+ }
63
+ this.push('trace', scope, scope_id, message, obj);
64
+ }
65
+ static push(level, scope, scope_id, message, obj) {
66
+ const time = (0, string_1.colored)(`${datetime_1.NesoiDatetime.shortNow()}`, 'darkgray');
67
+ const head = scopeTag(scope, scope_id);
68
+ if (level === 'error') {
69
+ console.log(`${time} ${this.l[level]} ${head}\t${(0, string_1.colored)(message, 'lightred')}`);
70
+ if (obj) {
71
+ let text = JSON.stringify(obj, undefined, 2);
72
+ text = text.replace(/\\n/g, '\n');
73
+ console.log((0, string_1.colored)(text, 'red'));
74
+ }
75
+ }
76
+ else {
77
+ console.log(`${time} ${this.l[level]} ${head}\t${message}`);
78
+ if (obj) {
79
+ console.debug(obj);
80
+ }
81
+ }
82
+ }
83
+ }
84
+ exports.Log = Log;
85
+ Log.level = 'warn';
86
+ Log.l = {
87
+ off: (0, string_1.colored)('', 'black'),
88
+ error: (0, string_1.colored)('ERROR', 'lightred'),
89
+ warn: (0, string_1.colored)('WARN', 'yellow'),
90
+ info: (0, string_1.colored)('INFO', 'lightblue'),
91
+ debug: (0, string_1.colored)('DEBUG', 'lightgreen'),
92
+ trace: (0, string_1.colored)('TRACE', 'lightpurple'),
93
+ };
@@ -0,0 +1,63 @@
1
+ import { NesoiDate } from '../data/date';
2
+ import { $MessageTemplateFields } from '../../elements/entities/message/template/message_template.schema';
3
+ import { $Module, BucketName, ViewName } from "../../schema";
4
+ import { AnyTrxNode } from '../transaction/trx_node';
5
+ import { Decimal } from '../data/decimal';
6
+ import { NesoiDatetime } from '../data/datetime';
7
+ export declare function parseBoolean(field: {
8
+ name: string;
9
+ alias: string;
10
+ }, value: any, array: boolean): Promise<boolean | boolean[]>;
11
+ export declare function parseDate(field: {
12
+ name: string;
13
+ alias: string;
14
+ }, value: any, array: boolean): Promise<NesoiDate | NesoiDate[]>;
15
+ export declare function parseDatetime(field: {
16
+ name: string;
17
+ alias: string;
18
+ }, value: any, array: boolean): Promise<NesoiDatetime | NesoiDatetime[]>;
19
+ export declare function parseDecimal(field: {
20
+ name: string;
21
+ alias: string;
22
+ }, value: any, array: boolean): Promise<Decimal | Decimal[]>;
23
+ export declare function parseEnum(raw: Record<string, any>, field: {
24
+ name: string;
25
+ alias: string;
26
+ }, value: any, array: boolean, options: string | readonly string[] | Record<string, any>, trx: AnyTrxNode): Promise<any>;
27
+ export declare function parseFile(field: {
28
+ name: string;
29
+ alias: string;
30
+ }, value: any, array: boolean, options?: {
31
+ maxSize?: number;
32
+ extnames?: string[];
33
+ }): Promise<any>;
34
+ export declare function parseFloat_(field: {
35
+ name: string;
36
+ alias: string;
37
+ }, value: any, array: boolean): Promise<number | number[]>;
38
+ export declare function parseId<M extends $Module, Name extends BucketName<M>, View extends ViewName<M['buckets'][Name]> | undefined>(field: {
39
+ name: string;
40
+ alias: string;
41
+ }, value: any, array: boolean, trx: AnyTrxNode, bucket: Name, view?: View): Promise<unknown>;
42
+ export declare function parseInt_(field: {
43
+ name: string;
44
+ alias: string;
45
+ }, value: any, array: boolean): Promise<number | number[]>;
46
+ export declare function parseString(field: {
47
+ name: string;
48
+ alias: string;
49
+ }, value: any, array: boolean): Promise<string | string[]>;
50
+ export declare function parseStringOrNumber(field: {
51
+ name: string;
52
+ alias: string;
53
+ }, value: any, array: boolean): Promise<string | number | (string | number)[]>;
54
+ export declare function parseDict(field: {
55
+ name: string;
56
+ alias: string;
57
+ children?: $MessageTemplateFields;
58
+ }, value: any, array: boolean, trx: AnyTrxNode, parseFields: (trx: AnyTrxNode, fields: $MessageTemplateFields, obj: Record<string, any>) => Promise<Record<string, any>>): Promise<unknown>;
59
+ export declare function parseObj(field: {
60
+ name: string;
61
+ alias: string;
62
+ children?: $MessageTemplateFields;
63
+ }, value: any, array: boolean, trx: AnyTrxNode, parseFields: (trx: AnyTrxNode, fields: $MessageTemplateFields, obj: Record<string, any>) => Promise<Record<string, any>>): Promise<unknown>;
@@ -0,0 +1,229 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseBoolean = parseBoolean;
4
+ exports.parseDate = parseDate;
5
+ exports.parseDatetime = parseDatetime;
6
+ exports.parseDecimal = parseDecimal;
7
+ exports.parseEnum = parseEnum;
8
+ exports.parseFile = parseFile;
9
+ exports.parseFloat_ = parseFloat_;
10
+ exports.parseId = parseId;
11
+ exports.parseInt_ = parseInt_;
12
+ exports.parseString = parseString;
13
+ exports.parseStringOrNumber = parseStringOrNumber;
14
+ exports.parseDict = parseDict;
15
+ exports.parseObj = parseObj;
16
+ const date_1 = require("../data/date");
17
+ const error_1 = require("../data/error");
18
+ const tree_1 = require("../data/tree");
19
+ const decimal_1 = require("../data/decimal");
20
+ const datetime_1 = require("../data/datetime");
21
+ // TODO: check the performance of this wild thing below
22
+ async function parse(type, field, value, array, fn) {
23
+ if (array) {
24
+ if (!Array.isArray(value)) {
25
+ throw error_1.NesoiError.Message.InvalidFieldType({ field: field.alias, value, type: `${type}[]` });
26
+ }
27
+ const parsed = [];
28
+ for (const v in value) {
29
+ parsed.push(await fn(value[v]));
30
+ }
31
+ return parsed;
32
+ }
33
+ return fn(value);
34
+ }
35
+ function parseBoolean(field, value, array) {
36
+ return parse('boolean', field, value, array, (v) => {
37
+ if (v === 'true' || v === 1) {
38
+ return true;
39
+ }
40
+ if (v === 'false' || v === 0) {
41
+ return false;
42
+ }
43
+ if (typeof v === 'boolean') {
44
+ return v;
45
+ }
46
+ throw error_1.NesoiError.Message.InvalidFieldType({ field: field.alias, value: v, type: 'boolean' });
47
+ });
48
+ }
49
+ function parseDate(field, value, array) {
50
+ return parse('date', field, value, array, (v) => {
51
+ // TODO: limit to date
52
+ if (typeof v === 'string') {
53
+ return date_1.NesoiDate.fromISO(v);
54
+ }
55
+ throw error_1.NesoiError.Message.InvalidFieldType({ field: field.alias, value: v, type: 'date' });
56
+ });
57
+ }
58
+ function parseDatetime(field, value, array) {
59
+ return parse('datetime', field, value, array, (v) => {
60
+ if (typeof v === 'string') {
61
+ return datetime_1.NesoiDatetime.fromISO(v);
62
+ }
63
+ throw error_1.NesoiError.Message.InvalidFieldType({ field: field.alias, value: v, type: 'datetime' });
64
+ });
65
+ }
66
+ function parseDecimal(field, value, array) {
67
+ return parse('decimal', field, value, array, (v) => {
68
+ if (typeof v === 'string') {
69
+ return new decimal_1.Decimal(v);
70
+ }
71
+ throw error_1.NesoiError.Message.InvalidFieldType({ field: field.alias, value: v, type: 'float' });
72
+ });
73
+ }
74
+ function parseEnum(raw, field, value, array, options, trx) {
75
+ return parse('enum', field, value, array, (v) => {
76
+ if (typeof v === 'string') {
77
+ if (typeof options === 'string') {
78
+ let enumName = options;
79
+ const enumPath = enumName.match(/(.*)\.\{(.*)\}$/);
80
+ let _enum;
81
+ if (enumPath) {
82
+ enumName += enumPath[1] + '.' + enumPath[2];
83
+ try {
84
+ _enum = trx.enum(enumName);
85
+ }
86
+ catch {
87
+ const v = tree_1.Tree.get(raw, enumPath[2]);
88
+ throw error_1.NesoiError.Message.InvalidEnumScope(field, v, enumPath[2]);
89
+ }
90
+ }
91
+ else {
92
+ _enum = trx.enum(enumName);
93
+ }
94
+ const keys = _enum.keys();
95
+ if (keys.includes(v)) {
96
+ return v;
97
+ }
98
+ else {
99
+ throw error_1.NesoiError.Message.InvalidFieldEnumValue({ field: field.alias, value: v, type: 'enum', options: keys });
100
+ }
101
+ }
102
+ else if (Array.isArray(options)) {
103
+ if (options.includes(v)) {
104
+ return v;
105
+ }
106
+ else {
107
+ throw error_1.NesoiError.Message.InvalidFieldEnumValue({ field: field.alias, value: v, type: 'enum', options });
108
+ }
109
+ }
110
+ else if (typeof options === 'object') {
111
+ if (v in options) {
112
+ return options[v];
113
+ }
114
+ else {
115
+ throw error_1.NesoiError.Message.InvalidFieldEnumValue({ field: field.alias, value: v, type: 'enum', options: Object.keys(options) });
116
+ }
117
+ }
118
+ }
119
+ throw error_1.NesoiError.Message.InvalidFieldType({ field: field.alias, value: v, type: 'string' });
120
+ });
121
+ }
122
+ function parseFile(field, value, array, options) {
123
+ return parse('file', field, value, array, (v) => {
124
+ if (!v.size || !v.extname || !v.data || !v.data.clientName) {
125
+ throw error_1.NesoiError.Message.InvalidFieldType({ field: field.alias, value: v, type: 'file' });
126
+ }
127
+ if (options?.maxSize) {
128
+ if (v.size > options?.maxSize) {
129
+ throw error_1.NesoiError.Message.FileTooBig(field, options?.maxSize);
130
+ }
131
+ }
132
+ if (options?.extnames) {
133
+ if (!options?.extnames.includes(v.extname)) {
134
+ throw error_1.NesoiError.Message.FileExtNotAllowed(field, options?.extnames);
135
+ }
136
+ }
137
+ return v;
138
+ });
139
+ }
140
+ function parseFloat_(field, value, array) {
141
+ return parse('float', field, value, array, (v) => {
142
+ if (typeof v === 'string') {
143
+ const val = parseFloat(v);
144
+ if (!Number.isNaN(val)) {
145
+ return val;
146
+ }
147
+ }
148
+ else if (typeof v === 'number') {
149
+ if (!Number.isNaN(v)) {
150
+ return v;
151
+ }
152
+ }
153
+ throw error_1.NesoiError.Message.InvalidFieldType({ field: field.alias, value: v, type: 'float' });
154
+ });
155
+ }
156
+ async function parseId(field, value, array, trx, bucket, view) {
157
+ return parse('id', field, value, array, (async (v) => {
158
+ // TODO: validate by field type
159
+ const val = v;
160
+ if (typeof v !== 'string' && typeof v !== 'number') {
161
+ throw error_1.NesoiError.Message.InvalidFieldType({ field: field.alias, value: v, type: 'id' });
162
+ }
163
+ return {
164
+ id: val,
165
+ obj: view
166
+ ? await trx.bucket(bucket).viewOneOrFail(val, view)
167
+ : await trx.bucket(bucket).readOneOrFail(val)
168
+ };
169
+ })); // type only required on query parsers
170
+ }
171
+ function parseInt_(field, value, array) {
172
+ return parse('int', field, value, array, (v) => {
173
+ if (typeof v === 'string') {
174
+ const val = parseInt(v);
175
+ if (!Number.isNaN(val)) {
176
+ return val;
177
+ }
178
+ }
179
+ else if (typeof v === 'number') {
180
+ const val = Math.floor(v);
181
+ if (!Number.isNaN(val)) {
182
+ return val;
183
+ }
184
+ }
185
+ throw error_1.NesoiError.Message.InvalidFieldType({ field: field.alias, value: v, type: 'integer' });
186
+ });
187
+ }
188
+ function parseString(field, value, array) {
189
+ return parse('string', field, value, array, (v) => {
190
+ if (typeof v === 'string') {
191
+ return v;
192
+ }
193
+ throw error_1.NesoiError.Message.InvalidFieldType({ field: field.alias, value: v, type: 'string' });
194
+ });
195
+ }
196
+ function parseStringOrNumber(field, value, array) {
197
+ return parse('string_or_number', field, value, array, (v) => {
198
+ if (typeof v === 'string' || typeof v === 'number') {
199
+ return v;
200
+ }
201
+ throw error_1.NesoiError.Message.InvalidFieldType({ field: field.alias, value: v, type: 'string_or_number' });
202
+ });
203
+ }
204
+ async function parseDict(field, value, array, trx, parseFields) {
205
+ return parse('dict', field, value, array, (async (v) => {
206
+ if (typeof v === 'object') {
207
+ const parsed = {};
208
+ if (field.children) {
209
+ for (const k in v) {
210
+ const pv = await parseFields(trx, field.children, { __dict: v[k] });
211
+ parsed[k] = pv['__dict'];
212
+ }
213
+ }
214
+ return parsed;
215
+ }
216
+ throw error_1.NesoiError.Message.InvalidFieldType({ field: field.alias, value: v, type: 'dict' });
217
+ }));
218
+ }
219
+ async function parseObj(field, value, array, trx, parseFields) {
220
+ return parse('obj', field, value, array, (async (v) => {
221
+ if (typeof v === 'object') {
222
+ if (field.children) {
223
+ return await parseFields(trx, field.children, v);
224
+ }
225
+ return v;
226
+ }
227
+ throw error_1.NesoiError.Message.InvalidFieldType({ field: field.alias, value: v, type: 'object' });
228
+ }));
229
+ }
@@ -0,0 +1,3 @@
1
+ export default class _Promise {
2
+ static solve<T>(result: T | Promise<T>): Promise<T>;
3
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // TODO: this probably isn't necessary, given that await on non-promises should work
4
+ class _Promise {
5
+ static async solve(result) {
6
+ if (typeof result === 'object'
7
+ && 'then' in result
8
+ && typeof result.then === 'function') {
9
+ return result;
10
+ }
11
+ return new Promise(resolve => { resolve(result); });
12
+ }
13
+ }
14
+ exports.default = _Promise;
@@ -0,0 +1,6 @@
1
+ export default class Shell {
2
+ /**
3
+ * Execute command in shell.
4
+ */
5
+ static cmd(cwd: string, cmd: string, stdin?: string[], stdout?: boolean, stderr?: boolean): Promise<unknown>;
6
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const child_process_1 = require("child_process");
4
+ class Shell {
5
+ /**
6
+ * Execute command in shell.
7
+ */
8
+ static cmd(cwd, cmd, stdin, stdout = true, stderr = true) {
9
+ console.log(cwd + '$ ' + cmd);
10
+ return new Promise(resolve => {
11
+ const cmds = cmd.split(' ');
12
+ const child = (0, child_process_1.spawn)(cmds[0], cmds.slice(1), { shell: true, stdio: [stdin ? null : process.stdin, stdout ? null : process.stdout, process.error], cwd });
13
+ if (stdin)
14
+ stdin.map(input => child.stdin.write(input + '\n'));
15
+ const out = {
16
+ stdout: [],
17
+ stderr: []
18
+ };
19
+ child.stdout.on('data', msg => {
20
+ if (stdout) {
21
+ process.stdout.write(msg.toString());
22
+ }
23
+ out.stdout.push(msg.toString());
24
+ });
25
+ child.stderr.on('data', msg => {
26
+ if (stderr) {
27
+ process.stderr.write(msg.toString());
28
+ }
29
+ out.stderr.push(msg.toString());
30
+ });
31
+ child.on('error', msg => {
32
+ console.error(msg);
33
+ throw 'Something went wrong when running the shell command. Read the logs.';
34
+ });
35
+ child.on('close', code => {
36
+ if (code !== 0) {
37
+ throw `Shell command returned ${code} != 0. Read the logs.`;
38
+ }
39
+ resolve(out);
40
+ });
41
+ });
42
+ }
43
+ }
44
+ exports.default = Shell;
@@ -0,0 +1,18 @@
1
+ export declare enum Color {
2
+ black = "0;30",
3
+ red = "0;31",
4
+ green = "0;32",
5
+ brown = "0;33",
6
+ blue = "0;34",
7
+ purple = "0;35",
8
+ cyan = "0;36",
9
+ lightgray = "0;37",
10
+ darkgray = "1;30",
11
+ lightred = "1;31",
12
+ lightgreen = "1;32",
13
+ yellow = "1;33",
14
+ lightblue = "1;34",
15
+ lightpurple = "1;35",
16
+ lightcyan = "1;36"
17
+ }
18
+ export declare function colored(msg: string, color: keyof typeof Color): string;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Color = void 0;
4
+ exports.colored = colored;
5
+ var Color;
6
+ (function (Color) {
7
+ Color["black"] = "0;30";
8
+ Color["red"] = "0;31";
9
+ Color["green"] = "0;32";
10
+ Color["brown"] = "0;33";
11
+ Color["blue"] = "0;34";
12
+ Color["purple"] = "0;35";
13
+ Color["cyan"] = "0;36";
14
+ Color["lightgray"] = "0;37";
15
+ Color["darkgray"] = "1;30";
16
+ Color["lightred"] = "1;31";
17
+ Color["lightgreen"] = "1;32";
18
+ Color["yellow"] = "1;33";
19
+ Color["lightblue"] = "1;34";
20
+ Color["lightpurple"] = "1;35";
21
+ Color["lightcyan"] = "1;36";
22
+ })(Color || (exports.Color = Color = {}));
23
+ function colored(msg, color) {
24
+ return '\x1b[' + Color[color] + 'm' + msg + '\x1b[0m';
25
+ }
@@ -0,0 +1,7 @@
1
+ export type Overlay<To, From> = Omit<To, keyof From> & From;
2
+ export type KeysOfUnion<T> = T extends T ? keyof T : never;
3
+ export type MergeUnion<T> = {
4
+ [K in T extends T ? keyof T : never]: T extends {
5
+ [J in K]: any;
6
+ } ? T[K] : never;
7
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // Type used to replace properties on a type
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,63 @@
1
+ import { $Controller } from './elements/edge/controller/controller.schema';
2
+ import { AnyUsers, User } from './engine/auth/authn';
3
+ import { $Machine } from './elements/blocks/machine/machine.schema';
4
+ import { $Constants } from './elements/entities/constants/constants.schema';
5
+ import { $Message } from './elements/entities/message/message.schema';
6
+ import { $Bucket } from './elements/entities/bucket/bucket.schema';
7
+ import { $Job } from './elements/blocks/job/job.schema';
8
+ import { $Resource } from './elements/blocks/resource/resource.schema';
9
+ import { $Queue } from './elements/blocks/queue/queue.schema';
10
+ import { $Externals } from './elements/blocks/externals/externals.schema';
11
+ export type BuilderType = 'constants' | 'externals' | 'message' | 'bucket' | 'job' | 'resource' | 'machine' | 'controller' | 'queue';
12
+ export type $Space = {
13
+ authnUsers: {
14
+ [x: string]: User;
15
+ };
16
+ modules: {
17
+ [x: string]: $Module;
18
+ };
19
+ };
20
+ export type $Module = {
21
+ name: string;
22
+ constants: $Constants;
23
+ externals: $Externals;
24
+ messages: {
25
+ [x: string]: $Message;
26
+ };
27
+ buckets: {
28
+ [x: string]: $Bucket;
29
+ };
30
+ jobs: {
31
+ [x: string]: $Job;
32
+ };
33
+ resources: {
34
+ [x: string]: $Resource;
35
+ };
36
+ machines: {
37
+ [x: string]: $Machine;
38
+ };
39
+ controllers: {
40
+ [x: string]: $Controller;
41
+ };
42
+ queues: {
43
+ [x: string]: $Queue;
44
+ };
45
+ '#input': $Message;
46
+ '#authn': AnyUsers;
47
+ '#providers': Record<string, any>;
48
+ };
49
+ export type ModuleName<$ extends $Space> = keyof $['modules'];
50
+ export type MessageName<$ extends $Module> = keyof $['messages'];
51
+ export type ScopedMessageNameWithId<$ extends $Module, Scope extends string, Id, Msgs extends Record<string, $Message> = $['messages']> = string & {
52
+ [Msg in keyof Msgs]: Msgs[Msg]['#parsed'] extends {
53
+ id: Id;
54
+ } ? Msg extends `${Scope}.${infer X}` ? (Msg | `@.${X}`) : Msg : never;
55
+ }[keyof Msgs];
56
+ export type ScopedMessageName<$ extends $Module, Scope extends string, Msgs extends string | symbol | number = keyof $['messages']> = string & {
57
+ [Msg in Msgs]: Msg extends Scope ? '@' | Msg : Msg extends `${Scope}.${infer X}` ? (Msg | `@.${X}`) : Msg;
58
+ }[Msgs];
59
+ export type ScopedMessage<$ extends $Module, Scope extends string, MsgName extends string> = MsgName extends '@' ? $['messages'][Scope] : MsgName extends `@.${infer X}` ? $['messages'][`${Scope}.${X}`] : $['messages'][MsgName];
60
+ export type RawMessageInput<$ extends $Module, K extends MessageName<$>> = $['messages'][K]['#raw'];
61
+ export type ViewName<$ extends $Bucket> = keyof $['views'];
62
+ export type ViewObj<$ extends $Bucket, V extends ViewName<$>> = $['views'][V]['#data'];
63
+ export type BucketName<$ extends $Module> = keyof $['buckets'];
package/lib/schema.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "nesoi",
3
+ "version": "3.0.0",
4
+ "description": "Declarative framework for data-driven applications",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/nesoi-org/nesoi.git"
8
+ },
9
+ "keywords": [
10
+ "nesoi",
11
+ "postgresql"
12
+ ],
13
+ "author": "Hugo Aboud",
14
+ "license": "MIT",
15
+ "bugs": {
16
+ "url": "https://github.com/nesoi-org/nesoi/issues"
17
+ },
18
+ "homepage": "https://github.com/nesoi-org/nesoi#readme",
19
+ "peerDependencies": {
20
+ "@types/node": "20.12.12"
21
+ }
22
+ }
@@ -0,0 +1 @@
1
+ export {};