@taon-dev/cloud 21.0.207

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 (261) hide show
  1. package/VERIFIED-BUILD-DATA.jsonc +5 -0
  2. package/assets/shared/shared_folder_info.txt +7 -0
  3. package/browser/README.md +24 -0
  4. package/browser/fesm2022/cloud-browser.mjs +3290 -0
  5. package/browser/fesm2022/cloud-browser.mjs.map +1 -0
  6. package/browser/package.json +23 -0
  7. package/browser/types/cloud-browser.d.ts +793 -0
  8. package/browser-prod/README.md +24 -0
  9. package/browser-prod/fesm2022/cloud-browser-prod.mjs +3289 -0
  10. package/browser-prod/fesm2022/cloud-browser-prod.mjs.map +1 -0
  11. package/browser-prod/package.json +23 -0
  12. package/browser-prod/types/cloud-browser-prod.d.ts +791 -0
  13. package/browser-prod.re-export.json +1 -0
  14. package/browser-prod.split-namespaces.json +10 -0
  15. package/cli.d.ts +1 -0
  16. package/cli.js +8 -0
  17. package/cli.js.map +1 -0
  18. package/index.d.ts +1 -0
  19. package/index.js +18 -0
  20. package/index.js.map +1 -0
  21. package/lib/build-info._auto-generated_.d.ts +24 -0
  22. package/lib/build-info._auto-generated_.js +30 -0
  23. package/lib/build-info._auto-generated_.js.map +1 -0
  24. package/lib/constants.d.ts +1 -0
  25. package/lib/constants.js +6 -0
  26. package/lib/constants.js.map +1 -0
  27. package/lib/env/env.angular-node-app.d.ts +67 -0
  28. package/lib/env/env.angular-node-app.js +141 -0
  29. package/lib/env/env.angular-node-app.js.map +1 -0
  30. package/lib/env/env.docs-webapp.d.ts +67 -0
  31. package/lib/env/env.docs-webapp.js +141 -0
  32. package/lib/env/env.docs-webapp.js.map +1 -0
  33. package/lib/env/env.electron-app.d.ts +67 -0
  34. package/lib/env/env.electron-app.js +141 -0
  35. package/lib/env/env.electron-app.js.map +1 -0
  36. package/lib/env/env.mobile-app.d.ts +67 -0
  37. package/lib/env/env.mobile-app.js +141 -0
  38. package/lib/env/env.mobile-app.js.map +1 -0
  39. package/lib/env/env.npm-lib-and-cli-tool.d.ts +67 -0
  40. package/lib/env/env.npm-lib-and-cli-tool.js +141 -0
  41. package/lib/env/env.npm-lib-and-cli-tool.js.map +1 -0
  42. package/lib/env/env.vscode-plugin.d.ts +67 -0
  43. package/lib/env/env.vscode-plugin.js +141 -0
  44. package/lib/env/env.vscode-plugin.js.map +1 -0
  45. package/lib/env/index.d.ts +6 -0
  46. package/lib/env/index.js +23 -0
  47. package/lib/env/index.js.map +1 -0
  48. package/lib/index._auto-generated_.d.ts +27 -0
  49. package/lib/index._auto-generated_.js +49 -0
  50. package/lib/index._auto-generated_.js.map +1 -0
  51. package/lib/index.d.ts +4 -0
  52. package/lib/index.js +21 -0
  53. package/lib/index.js.map +1 -0
  54. package/lib/instances/index.d.ts +5 -0
  55. package/lib/instances/index.js +22 -0
  56. package/lib/instances/index.js.map +1 -0
  57. package/lib/instances/instances-api.service.d.ts +7 -0
  58. package/lib/instances/instances.context.d.ts +19 -0
  59. package/lib/instances/instances.context.js +73 -0
  60. package/lib/instances/instances.context.js.map +1 -0
  61. package/lib/instances/instances.controller.d.ts +10 -0
  62. package/lib/instances/instances.controller.js +76 -0
  63. package/lib/instances/instances.controller.js.map +1 -0
  64. package/lib/instances/instances.d.ts +9 -0
  65. package/lib/instances/instances.defaults-values.d.ts +2 -0
  66. package/lib/instances/instances.defaults-values.js +8 -0
  67. package/lib/instances/instances.defaults-values.js.map +1 -0
  68. package/lib/instances/instances.js +52 -0
  69. package/lib/instances/instances.js.map +1 -0
  70. package/lib/instances/instances.repository.d.ts +6 -0
  71. package/lib/instances/instances.repository.js +26 -0
  72. package/lib/instances/instances.repository.js.map +1 -0
  73. package/lib/instances/instances.terminal-ui.d.ts +11 -0
  74. package/lib/instances/instances.terminal-ui.js +158 -0
  75. package/lib/instances/instances.terminal-ui.js.map +1 -0
  76. package/lib/instances/instances.worker.d.ts +18 -0
  77. package/lib/instances/instances.worker.js +46 -0
  78. package/lib/instances/instances.worker.js.map +1 -0
  79. package/lib/models.d.ts +8 -0
  80. package/lib/models.js +13 -0
  81. package/lib/models.js.map +1 -0
  82. package/lib/my-organization-proj.d.ts +1 -0
  83. package/lib/my-organization-proj.js +6 -0
  84. package/lib/my-organization-proj.js.map +1 -0
  85. package/lib/package.json +4 -0
  86. package/lib/processes/index.d.ts +5 -0
  87. package/lib/processes/index.js +22 -0
  88. package/lib/processes/index.js.map +1 -0
  89. package/lib/processes/processes-api.service.d.ts +5 -0
  90. package/lib/processes/processes.context.d.ts +19 -0
  91. package/lib/processes/processes.context.js +24 -0
  92. package/lib/processes/processes.context.js.map +1 -0
  93. package/lib/processes/processes.controller.d.ts +13 -0
  94. package/lib/processes/processes.controller.js +183 -0
  95. package/lib/processes/processes.controller.js.map +1 -0
  96. package/lib/processes/processes.d.ts +24 -0
  97. package/lib/processes/processes.defaults-values.d.ts +2 -0
  98. package/lib/processes/processes.defaults-values.js +9 -0
  99. package/lib/processes/processes.defaults-values.js.map +1 -0
  100. package/lib/processes/processes.js +171 -0
  101. package/lib/processes/processes.js.map +1 -0
  102. package/lib/processes/processes.models.d.ts +33 -0
  103. package/lib/processes/processes.models.js +46 -0
  104. package/lib/processes/processes.models.js.map +1 -0
  105. package/lib/processes/processes.repository.d.ts +18 -0
  106. package/lib/processes/processes.repository.js +203 -0
  107. package/lib/processes/processes.repository.js.map +1 -0
  108. package/lib/processes/processes.terminal-ui.d.ts +19 -0
  109. package/lib/processes/processes.terminal-ui.js +382 -0
  110. package/lib/processes/processes.terminal-ui.js.map +1 -0
  111. package/lib/processes/processes.utils.d.ts +6 -0
  112. package/lib/processes/processes.utils.js +86 -0
  113. package/lib/processes/processes.utils.js.map +1 -0
  114. package/lib/processes/processes.worker.controller.d.ts +3 -0
  115. package/lib/processes/processes.worker.controller.js +22 -0
  116. package/lib/processes/processes.worker.controller.js.map +1 -0
  117. package/lib/processes/processes.worker.d.ts +18 -0
  118. package/lib/processes/processes.worker.js +56 -0
  119. package/lib/processes/processes.worker.js.map +1 -0
  120. package/lib/start-cli.d.ts +7 -0
  121. package/lib/start-cli.js +46 -0
  122. package/lib/start-cli.js.map +1 -0
  123. package/lib/traefik/traefik.models.d.ts +20 -0
  124. package/lib/traefik/traefik.models.js +3 -0
  125. package/lib/traefik/traefik.models.js.map +1 -0
  126. package/lib/traefik/traefik.provider.d.ts +42 -0
  127. package/lib/traefik/traefik.provider.js +579 -0
  128. package/lib/traefik/traefik.provider.js.map +1 -0
  129. package/lib/traefik/treafik-service.provider.d.ts +41 -0
  130. package/lib/traefik/treafik-service.provider.js +215 -0
  131. package/lib/traefik/treafik-service.provider.js.map +1 -0
  132. package/lib-prod/build-info._auto-generated_.d.ts +24 -0
  133. package/lib-prod/build-info._auto-generated_.js +27 -0
  134. package/lib-prod/build-info._auto-generated_.js.map +1 -0
  135. package/lib-prod/constants.d.ts +1 -0
  136. package/lib-prod/constants.js +3 -0
  137. package/lib-prod/constants.js.map +1 -0
  138. package/lib-prod/env/env.angular-node-app.d.ts +67 -0
  139. package/lib-prod/env/env.angular-node-app.js +137 -0
  140. package/lib-prod/env/env.angular-node-app.js.map +1 -0
  141. package/lib-prod/env/env.docs-webapp.d.ts +67 -0
  142. package/lib-prod/env/env.docs-webapp.js +137 -0
  143. package/lib-prod/env/env.docs-webapp.js.map +1 -0
  144. package/lib-prod/env/env.electron-app.d.ts +67 -0
  145. package/lib-prod/env/env.electron-app.js +137 -0
  146. package/lib-prod/env/env.electron-app.js.map +1 -0
  147. package/lib-prod/env/env.mobile-app.d.ts +67 -0
  148. package/lib-prod/env/env.mobile-app.js +137 -0
  149. package/lib-prod/env/env.mobile-app.js.map +1 -0
  150. package/lib-prod/env/env.npm-lib-and-cli-tool.d.ts +67 -0
  151. package/lib-prod/env/env.npm-lib-and-cli-tool.js +137 -0
  152. package/lib-prod/env/env.npm-lib-and-cli-tool.js.map +1 -0
  153. package/lib-prod/env/env.vscode-plugin.d.ts +67 -0
  154. package/lib-prod/env/env.vscode-plugin.js +137 -0
  155. package/lib-prod/env/env.vscode-plugin.js.map +1 -0
  156. package/lib-prod/env/index.d.ts +6 -0
  157. package/lib-prod/env/index.js +7 -0
  158. package/lib-prod/env/index.js.map +1 -0
  159. package/lib-prod/index._auto-generated_.d.ts +25 -0
  160. package/lib-prod/index._auto-generated_.js +33 -0
  161. package/lib-prod/index._auto-generated_.js.map +1 -0
  162. package/lib-prod/index.d.ts +4 -0
  163. package/lib-prod/index.js +5 -0
  164. package/lib-prod/index.js.map +1 -0
  165. package/lib-prod/instances/index.d.ts +4 -0
  166. package/lib-prod/instances/index.js +6 -0
  167. package/lib-prod/instances/index.js.map +1 -0
  168. package/lib-prod/instances/instances.context.d.ts +19 -0
  169. package/lib-prod/instances/instances.context.js +64 -0
  170. package/lib-prod/instances/instances.context.js.map +1 -0
  171. package/lib-prod/instances/instances.controller.d.ts +10 -0
  172. package/lib-prod/instances/instances.controller.js +61 -0
  173. package/lib-prod/instances/instances.controller.js.map +1 -0
  174. package/lib-prod/instances/instances.d.ts +9 -0
  175. package/lib-prod/instances/instances.defaults-values.d.ts +2 -0
  176. package/lib-prod/instances/instances.defaults-values.js +5 -0
  177. package/lib-prod/instances/instances.defaults-values.js.map +1 -0
  178. package/lib-prod/instances/instances.js +40 -0
  179. package/lib-prod/instances/instances.js.map +1 -0
  180. package/lib-prod/instances/instances.repository.d.ts +6 -0
  181. package/lib-prod/instances/instances.repository.js +17 -0
  182. package/lib-prod/instances/instances.repository.js.map +1 -0
  183. package/lib-prod/instances/instances.terminal-ui.d.ts +11 -0
  184. package/lib-prod/instances/instances.terminal-ui.js +154 -0
  185. package/lib-prod/instances/instances.terminal-ui.js.map +1 -0
  186. package/lib-prod/instances/instances.worker.d.ts +18 -0
  187. package/lib-prod/instances/instances.worker.js +42 -0
  188. package/lib-prod/instances/instances.worker.js.map +1 -0
  189. package/lib-prod/models.d.ts +8 -0
  190. package/lib-prod/models.js +10 -0
  191. package/lib-prod/models.js.map +1 -0
  192. package/lib-prod/my-organization-proj.d.ts +1 -0
  193. package/lib-prod/my-organization-proj.js +3 -0
  194. package/lib-prod/my-organization-proj.js.map +1 -0
  195. package/lib-prod/package.json +4 -0
  196. package/lib-prod/processes/index.d.ts +4 -0
  197. package/lib-prod/processes/index.js +6 -0
  198. package/lib-prod/processes/index.js.map +1 -0
  199. package/lib-prod/processes/processes.context.d.ts +19 -0
  200. package/lib-prod/processes/processes.context.js +21 -0
  201. package/lib-prod/processes/processes.context.js.map +1 -0
  202. package/lib-prod/processes/processes.controller.d.ts +13 -0
  203. package/lib-prod/processes/processes.controller.js +168 -0
  204. package/lib-prod/processes/processes.controller.js.map +1 -0
  205. package/lib-prod/processes/processes.d.ts +24 -0
  206. package/lib-prod/processes/processes.defaults-values.d.ts +2 -0
  207. package/lib-prod/processes/processes.defaults-values.js +6 -0
  208. package/lib-prod/processes/processes.defaults-values.js.map +1 -0
  209. package/lib-prod/processes/processes.js +159 -0
  210. package/lib-prod/processes/processes.js.map +1 -0
  211. package/lib-prod/processes/processes.models.d.ts +33 -0
  212. package/lib-prod/processes/processes.models.js +43 -0
  213. package/lib-prod/processes/processes.models.js.map +1 -0
  214. package/lib-prod/processes/processes.repository.d.ts +18 -0
  215. package/lib-prod/processes/processes.repository.js +194 -0
  216. package/lib-prod/processes/processes.repository.js.map +1 -0
  217. package/lib-prod/processes/processes.terminal-ui.d.ts +19 -0
  218. package/lib-prod/processes/processes.terminal-ui.js +378 -0
  219. package/lib-prod/processes/processes.terminal-ui.js.map +1 -0
  220. package/lib-prod/processes/processes.utils.d.ts +4 -0
  221. package/lib-prod/processes/processes.utils.js +82 -0
  222. package/lib-prod/processes/processes.utils.js.map +1 -0
  223. package/lib-prod/processes/processes.worker.controller.d.ts +3 -0
  224. package/lib-prod/processes/processes.worker.controller.js +13 -0
  225. package/lib-prod/processes/processes.worker.controller.js.map +1 -0
  226. package/lib-prod/processes/processes.worker.d.ts +18 -0
  227. package/lib-prod/processes/processes.worker.js +52 -0
  228. package/lib-prod/processes/processes.worker.js.map +1 -0
  229. package/lib-prod/start-cli.d.ts +7 -0
  230. package/lib-prod/start-cli.js +43 -0
  231. package/lib-prod/start-cli.js.map +1 -0
  232. package/lib-prod/traefik/traefik.models.d.ts +20 -0
  233. package/lib-prod/traefik/traefik.models.js +2 -0
  234. package/lib-prod/traefik/traefik.models.js.map +1 -0
  235. package/lib-prod/traefik/traefik.provider.d.ts +42 -0
  236. package/lib-prod/traefik/traefik.provider.js +575 -0
  237. package/lib-prod/traefik/traefik.provider.js.map +1 -0
  238. package/lib-prod/traefik/treafik-service.provider.d.ts +41 -0
  239. package/lib-prod/traefik/treafik-service.provider.js +211 -0
  240. package/lib-prod/traefik/treafik-service.provider.js.map +1 -0
  241. package/lib-prod.re-export.json +1 -0
  242. package/lib-prod.split-namespaces.json +10 -0
  243. package/package.json +36 -0
  244. package/scss/global.scss +93 -0
  245. package/scss/index.scss +2 -0
  246. package/scss/lib/index.scss +1 -0
  247. package/scss/vars.scss +7 -0
  248. package/src.d.ts +6 -0
  249. package/src.js +20 -0
  250. package/websql/README.md +24 -0
  251. package/websql/fesm2022/cloud-websql.mjs +3385 -0
  252. package/websql/fesm2022/cloud-websql.mjs.map +1 -0
  253. package/websql/package.json +23 -0
  254. package/websql/types/cloud-websql.d.ts +793 -0
  255. package/websql-prod/README.md +24 -0
  256. package/websql-prod/fesm2022/cloud-websql-prod.mjs +3384 -0
  257. package/websql-prod/fesm2022/cloud-websql-prod.mjs.map +1 -0
  258. package/websql-prod/package.json +23 -0
  259. package/websql-prod/types/cloud-websql-prod.d.ts +791 -0
  260. package/websql-prod.re-export.json +1 -0
  261. package/websql-prod.split-namespaces.json +10 -0
@@ -0,0 +1,203 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.ProcessesRepository = void 0;
10
+ const lib_1 = require("taon/lib");
11
+ const lib_2 = require("tnp-core/lib");
12
+ const lib_3 = require("tnp-core/lib");
13
+ const processes_1 = require("./processes");
14
+ const lib_4 = require("taon/lib");
15
+ const processes_models_1 = require("./processes.models");
16
+ //#endregion
17
+ let ProcessesRepository = class ProcessesRepository extends lib_4.TaonBaseRepository {
18
+ //#region fields and getters
19
+ entityClassResolveFn = () => processes_1.Processes;
20
+ processFileLoggers = {};
21
+ //#endregion
22
+ //#region get by process id
23
+ async getByProcessID(processId) {
24
+ //#region @websqlFunc
25
+ const proc = await this.findOne({
26
+ where: {
27
+ id: processId?.toString(),
28
+ },
29
+ });
30
+ return proc;
31
+ //#endregion
32
+ }
33
+ //#endregion
34
+ //#region get by uniquer params
35
+ async getByUniqueParams({ cwd, command, }) {
36
+ //#region @websqlFunc
37
+ const proc = await this.findOne({
38
+ where: {
39
+ cwd,
40
+ command,
41
+ },
42
+ });
43
+ return proc;
44
+ //#endregion
45
+ }
46
+ //#endregion
47
+ //#region start process
48
+ async triggerStart(processId, options) {
49
+ //#region @backendFunc
50
+ options = options || {};
51
+ await this.getAndUpdateProcess(processId, async (proc) => {
52
+ if (!processes_models_1.ProcessesStatesAllowedStart.includes(proc.state)) {
53
+ throw new Error(`Process not allowed to start with state: ${proc.state}`);
54
+ }
55
+ //#region prepare process for start
56
+ proc.state = processes_models_1.ProcessesState.STARTING;
57
+ proc.outputLast40lines =
58
+ `${proc.outputLast40lines}` +
59
+ `\n----- new session ${(0, lib_2.dateformat)(new Date(), 'dd-mm-yyyy_HH:MM:ss')} -----\n`;
60
+ const [cmd, ...commandArgs] = proc.command.split(' '); // safer: parse properly
61
+ const realProcess = lib_2.child_process.spawn(cmd, commandArgs, {
62
+ env: { ...process.env, FORCE_COLOR: '1' },
63
+ stdio: ['ignore', 'pipe', 'pipe'], // don't inherit console
64
+ shell: true, // use shell if command has operators (&&, |, etc.)
65
+ });
66
+ proc.pid = realProcess.pid;
67
+ proc.ppid = process.pid;
68
+ //#endregion
69
+ //#region prepare logging
70
+ const processFileLogger = new lib_3.UtilsProcessLogger.ProcessFileLogger({
71
+ name: options.processName || `unknow-proc-name__id-${proc.id}`,
72
+ id: proc.id,
73
+ }, {
74
+ specialEvent: {
75
+ stderr: (proc.conditionProcessActiveStderr || []).map(stringInStream => ({
76
+ stringInStream,
77
+ callback: async () => {
78
+ await this.getAndUpdateProcess(proc.id, proc1 => {
79
+ proc1.state = processes_models_1.ProcessesState.ACTIVE;
80
+ });
81
+ },
82
+ })),
83
+ stdout: (proc.conditionProcessActiveStdout || []).map(stringInStream => ({
84
+ stringInStream,
85
+ callback: async () => {
86
+ await this.getAndUpdateProcess(proc.id, proc1 => {
87
+ proc1.state = processes_models_1.ProcessesState.ACTIVE;
88
+ });
89
+ },
90
+ })),
91
+ },
92
+ });
93
+ this.processFileLoggers[proc.id] = processFileLogger;
94
+ processFileLogger.startLogging(realProcess, {
95
+ cacheLinesMax: 40,
96
+ update: async ({ outputLines, stderrLines, stdoutLines }) => {
97
+ await this.getAndUpdateProcess(proc.id, proc1 => {
98
+ proc1.outputLast40lines = outputLines;
99
+ });
100
+ },
101
+ });
102
+ proc.fileLogAbsPath = processFileLogger.processLogAbsFilePath;
103
+ //#endregion
104
+ //#region handle process exit
105
+ /**
106
+ * 15 - soft kill
107
+ * 9 - hard kill
108
+ * 1 - from code exit
109
+ * 0 - process done
110
+ */
111
+ realProcess.on('exit', async (code, data) => {
112
+ await this.getAndUpdateProcess(proc.id, proc1 => {
113
+ if (proc1) {
114
+ if (proc1.state === processes_models_1.ProcessesState.KILLING) {
115
+ proc1.state = processes_models_1.ProcessesState.KILLED;
116
+ }
117
+ else {
118
+ proc1.state =
119
+ code === 0
120
+ ? processes_models_1.ProcessesState.ENDED_OK
121
+ : processes_models_1.ProcessesState.ENDED_WITH_ERROR;
122
+ }
123
+ proc1.pid = null;
124
+ }
125
+ delete this.processFileLoggers[proc.id];
126
+ }, {
127
+ skipThrowingErrorWhenNoProcess: true,
128
+ executeCallbackWhenNoProcess: true,
129
+ });
130
+ });
131
+ //#endregion
132
+ });
133
+ //#endregion
134
+ }
135
+ //#endregion
136
+ //#region stop/remove process
137
+ async triggerStop(processId, options) {
138
+ //#region @websqlFunc
139
+ options = options || {};
140
+ await this.getAndUpdateProcess(processId, proc => {
141
+ const alreadyStopped = processes_models_1.ProcessesStatesAllowedStart.includes(proc.state);
142
+ if (!alreadyStopped) {
143
+ if (!processes_models_1.ProcessesStatesAllowedStop.includes(proc.state)) {
144
+ throw new Error(`Process not allowed to stop with state: ${proc.state}`);
145
+ }
146
+ }
147
+ if (!alreadyStopped) {
148
+ proc.state = processes_models_1.ProcessesState.KILLING;
149
+ }
150
+ setTimeout(async () => {
151
+ try {
152
+ await lib_2.UtilsProcess.killProcess(proc.pid);
153
+ console.info(`Process killed successfully (by pid = ${proc.pid})`);
154
+ }
155
+ catch (error) {
156
+ console.error(`Not able to kill process by pid ${proc.pid}`);
157
+ }
158
+ if (options.deleteAfterKill) {
159
+ try {
160
+ await this.remove(proc);
161
+ }
162
+ catch (error) { }
163
+ }
164
+ }, 1000);
165
+ });
166
+ //#endregion
167
+ }
168
+ //#endregion
169
+ //#region private methods
170
+ //#region private methods / get and update process
171
+ async getAndUpdateProcess(processId,
172
+ /**
173
+ * Callback with process to update
174
+ * (any modifications done in callback will be saved after its end)
175
+ */
176
+ callback, options) {
177
+ //#region @backendFunc
178
+ options = options || {};
179
+ const proc = await this.findOne({
180
+ where: { id: processId?.toString() },
181
+ });
182
+ if (!proc) {
183
+ if (options.skipThrowingErrorWhenNoProcess) {
184
+ if (options.executeCallbackWhenNoProcess) {
185
+ await callback();
186
+ }
187
+ return;
188
+ }
189
+ throw new Error(`No process with id ${processId}`);
190
+ }
191
+ await callback(proc);
192
+ await this.update(proc);
193
+ this.ctx.realtimeServer.triggerEntityPropertyChanges(proc, 'outputLast40lines');
194
+ //#endregion
195
+ }
196
+ };
197
+ exports.ProcessesRepository = ProcessesRepository;
198
+ exports.ProcessesRepository = ProcessesRepository = __decorate([
199
+ (0, lib_1.TaonRepository)({
200
+ className: 'ProcessesRepository',
201
+ })
202
+ ], ProcessesRepository);
203
+ //# sourceMappingURL=processes.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processes.repository.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { CoreModels } from 'tnp-core';
2
+ import { BaseCliWorkerTerminalUI, BaseWorkerTerminalActionReturnType } from 'tnp-helpers';
3
+ import { Processes } from './processes';
4
+ import { ProcessesController } from './processes.controller';
5
+ import { ProcessesWorker } from './processes.worker';
6
+ export declare class ProcessesTerminalUI extends BaseCliWorkerTerminalUI<ProcessesWorker> {
7
+ protected headerText(): Promise<string>;
8
+ protected textHeaderStyle(): CoreModels.CfontStyle;
9
+ getDummyProcessParams(): Promise<{
10
+ command: string;
11
+ cwd: string;
12
+ }>;
13
+ protected refetchProcess(process: Processes, processesController: ProcessesController): Promise<Processes>;
14
+ protected crudMenuForSingleProcess(processFromDb: Processes, processesController: ProcessesController): Promise<void>;
15
+ getWorkerTerminalActions(options?: {
16
+ exitIsOnlyReturn?: boolean;
17
+ chooseAction?: boolean;
18
+ }): BaseWorkerTerminalActionReturnType;
19
+ }
@@ -0,0 +1,382 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProcessesTerminalUI = void 0;
4
+ const lib_1 = require("tnp-core/lib");
5
+ const lib_2 = require("tnp-core/lib");
6
+ const lib_3 = require("tnp-core/lib");
7
+ const lib_4 = require("tnp-helpers/lib");
8
+ const processes_1 = require("./processes");
9
+ const processes_controller_1 = require("./processes.controller");
10
+ const processes_models_1 = require("./processes.models");
11
+ const processes_utils_1 = require("./processes.utils");
12
+ //#endregion
13
+ let dummyProcessCreate = false;
14
+ class ProcessesTerminalUI extends lib_4.BaseCliWorkerTerminalUI {
15
+ //#region header text
16
+ async headerText() {
17
+ return 'Processes';
18
+ }
19
+ //#endregion
20
+ //#region text header style
21
+ textHeaderStyle() {
22
+ return 'simpleBlock';
23
+ }
24
+ //#endregion
25
+ //#region dummy process params
26
+ async getDummyProcessParams() {
27
+ //#region @backendFunc
28
+ // @ts-ignore
29
+ const { $Global } = await Promise.resolve().then(() => require('tnp/lib'));
30
+ const dummyDummyCommand = `${lib_1.config.frameworkName} ${lib_2.UtilsCliClassMethod.getFrom($Global.prototype.showRandomHamstersTypes, { globalMethod: true })}`;
31
+ const dummyProcessCwd = lib_3.UtilsOs.getRealHomeDir();
32
+ return { command: dummyDummyCommand, cwd: dummyProcessCwd };
33
+ //#endregion
34
+ }
35
+ //#endregion
36
+ //#region refetch process
37
+ async refetchProcess(process, processesController) {
38
+ //#region @backendFunc
39
+ while (true) {
40
+ try {
41
+ process = (await processesController.getByProcessID(process.id).request()).body.json;
42
+ return process;
43
+ }
44
+ catch (error) {
45
+ const fetchAgain = await lib_2.UtilsTerminal.confirm({
46
+ message: `Not able to fetch process (id=${process.id}). Try again?`,
47
+ defaultValue: true,
48
+ });
49
+ if (!fetchAgain) {
50
+ return;
51
+ }
52
+ }
53
+ }
54
+ //#endregion
55
+ }
56
+ //#endregion
57
+ //#region crud menu for single deployment
58
+ async crudMenuForSingleProcess(processFromDb, processesController) {
59
+ //#region @backendFunc
60
+ while (true) {
61
+ lib_2.Helpers.info(`Fetching processes data...`);
62
+ processFromDb = (await processesController.getByProcessID(processFromDb.id).request()).body.json;
63
+ lib_2.UtilsTerminal.clearConsole();
64
+ // Helpers.info(`You selected process:
65
+ // id: ${processFromDb.id}
66
+ // command: ${processFromDb.command}
67
+ // cwd: ${processFromDb.cwd}
68
+ // state: ${processFromDb.state}`);
69
+ const choices = {
70
+ back: {
71
+ name: ' - back - ',
72
+ },
73
+ startProcess: {
74
+ name: 'Start Process',
75
+ },
76
+ processInfo: {
77
+ name: 'Process Info',
78
+ },
79
+ realtimeProcessMonitor: {
80
+ name: 'Realtime Monitor',
81
+ },
82
+ displayProcessLog: {
83
+ name: 'Display Log File',
84
+ },
85
+ stopProcess: {
86
+ name: 'Stop Process',
87
+ },
88
+ removeProcess: {
89
+ name: 'Remove Process',
90
+ },
91
+ };
92
+ if (processes_models_1.ProcessesStatesAllowedStart.includes(processFromDb.state)) {
93
+ delete choices.stopProcess;
94
+ delete choices.realtimeProcessMonitor;
95
+ }
96
+ else {
97
+ delete choices.startProcess;
98
+ }
99
+ const selected = await lib_2.UtilsTerminal.select({
100
+ choices,
101
+ question: `[Process id=${processFromDb.id},status=${processFromDb.state}] What do you want to do?`,
102
+ });
103
+ switch (selected) {
104
+ case 'back':
105
+ return;
106
+ case 'processInfo':
107
+ processFromDb = await this.refetchProcess(processFromDb, processesController);
108
+ if (!processFromDb) {
109
+ return;
110
+ }
111
+ lib_2.UtilsTerminal.clearConsole();
112
+ console.log(processFromDb.fullPreviewString({ boldValues: true }));
113
+ await lib_2.UtilsTerminal.pressAnyKeyToContinueAsync();
114
+ break;
115
+ case 'startProcess':
116
+ await processesController.triggerStart(processFromDb.id).request();
117
+ lib_2.Helpers.info(`Triggered start for process`);
118
+ await lib_2.UtilsTerminal.pressAnyKeyToContinueAsync({
119
+ message: 'Press any key to go back to main menu',
120
+ });
121
+ break;
122
+ case 'realtimeProcessMonitor':
123
+ await processes_utils_1.ProcessesUtils.displayRealtimeProgressMonitor(processFromDb.id, processesController);
124
+ break;
125
+ case 'displayProcessLog':
126
+ await lib_2.UtilsTerminal.previewLongListGitLogLike(lib_2.Helpers.readFile(processFromDb.fileLogAbsPath) ||
127
+ '< empty log file >');
128
+ break;
129
+ case 'stopProcess':
130
+ await processesController.triggerStop(processFromDb.id).request();
131
+ lib_2.Helpers.info(`Triggered stop for process..please wait`);
132
+ await processesController.waitUntilProcessStopped(processFromDb.id);
133
+ await lib_2.UtilsTerminal.pressAnyKeyToContinueAsync({
134
+ message: 'Press any key to go back to main menu',
135
+ });
136
+ break;
137
+ case 'removeProcess':
138
+ await processesController
139
+ .triggerStop(processFromDb.id, true)
140
+ .request();
141
+ lib_2.Helpers.info(`Triggered remove of process... please wait... `);
142
+ await processesController.waitUntilProcessDeleted(processFromDb.id);
143
+ lib_2.Helpers.info(`Process removed successfully.`);
144
+ await lib_2.UtilsTerminal.pressAnyKeyToContinueAsync({
145
+ message: 'Press any key to go back to main menu',
146
+ });
147
+ return;
148
+ }
149
+ }
150
+ //#endregion
151
+ }
152
+ //#endregion
153
+ getWorkerTerminalActions(options) {
154
+ //#region @backendFunc
155
+ const myActions = {
156
+ //#region get all processes from backend
157
+ getStuffFromBackend: {
158
+ name: 'Get all processes from backend',
159
+ action: async () => {
160
+ // Helpers.info(`Stuff from backend will be fetched`);
161
+ const processesController = await this.worker.getRemoteControllerFor({
162
+ methodOptions: {
163
+ calledFrom: 'ProcessesTerminalUI.getWorkerTerminalActions/getStuffFromBackend',
164
+ },
165
+ controllerClass: processes_controller_1.ProcessesController,
166
+ });
167
+ while (true) {
168
+ const list = (await processesController.getAll().request())?.body.json || [];
169
+ lib_2.Helpers.info(`Fetched ${list.length} processes from backend.`);
170
+ const options = [
171
+ { name: ' - back - ', value: 'back' },
172
+ ...list.map(c => ({
173
+ name: c.previewString,
174
+ value: c.id?.toString(),
175
+ })),
176
+ ];
177
+ const selected = await lib_2.UtilsTerminal.select({
178
+ choices: options,
179
+ question: 'Select process',
180
+ });
181
+ if (selected !== 'back') {
182
+ await this.crudMenuForSingleProcess(list.find(l => l.id?.toString() === selected), processesController);
183
+ }
184
+ if (selected === 'back') {
185
+ return;
186
+ }
187
+ }
188
+ },
189
+ },
190
+ //#endregion
191
+ //#region create custom process
192
+ startCustomProcess: {
193
+ name: 'Start custom process',
194
+ action: async () => {
195
+ // Helpers.info(`Stuff from backend will be fetched`);
196
+ const processesController = await this.worker.getRemoteControllerFor({
197
+ methodOptions: {
198
+ calledFrom: 'ProcessesTerminalUI.getWorkerTerminalActions/startCustomProcess',
199
+ },
200
+ controllerClass: processes_controller_1.ProcessesController,
201
+ });
202
+ const command = await lib_2.UtilsTerminal.input({
203
+ required: true,
204
+ question: 'Enter command to run:',
205
+ });
206
+ const processFromDBReq = await processesController
207
+ .save(new processes_1.Processes().clone({
208
+ command,
209
+ cwd: process.cwd(),
210
+ }))
211
+ .request();
212
+ const processFromDB = processFromDBReq.body.json;
213
+ await processesController.triggerStart(processFromDB.id).request();
214
+ lib_2.Helpers.info(`Triggered start for process -
215
+
216
+ > command: "${command}"
217
+
218
+ `);
219
+ await lib_2.UtilsTerminal.pressAnyKeyToContinueAsync({
220
+ message: 'Press any key to go back to main menu',
221
+ });
222
+ },
223
+ },
224
+ //#endregion
225
+ //#region create dummy process
226
+ createDummyProcess: {
227
+ name: 'DUMMY PROCESS - create and start',
228
+ action: async () => {
229
+ // Helpers.info(`Stuff from backend will be fetched`);
230
+ try {
231
+ const processesController = await this.worker.getRemoteControllerFor({
232
+ methodOptions: {
233
+ calledFrom: 'ProcessesTerminalUI.getWorkerTerminalActions/createDummyProcess',
234
+ },
235
+ controllerClass: processes_controller_1.ProcessesController,
236
+ });
237
+ const { command, cwd } = await this.getDummyProcessParams();
238
+ const processFromDBReq = await processesController
239
+ .save(new processes_1.Processes().clone({
240
+ command,
241
+ cwd,
242
+ }))
243
+ .request();
244
+ const processFromDB = processFromDBReq.body.json;
245
+ await processesController.triggerStart(processFromDB.id).request();
246
+ dummyProcessCreate = true;
247
+ lib_2.Helpers.info(`Triggered start for dummy process -
248
+
249
+ > command: "${command}"
250
+
251
+ `);
252
+ }
253
+ catch (error) {
254
+ console.log(error);
255
+ await lib_2.UtilsTerminal.pressAnyKeyToContinueAsync({
256
+ message: 'Press any key to go back to main menu',
257
+ });
258
+ }
259
+ },
260
+ },
261
+ //#endregion
262
+ //#region stop dummy process
263
+ stopDummyProcess: {
264
+ name: 'DUMMY PROCESS - stop process',
265
+ action: async () => {
266
+ // Helpers.info(`Stuff from backend will be fetched`);
267
+ const processesController = await this.worker.getRemoteControllerFor({
268
+ methodOptions: {
269
+ calledFrom: 'ProcessesTerminalUI.getWorkerTerminalActions/stopDummyProcess',
270
+ },
271
+ controllerClass: processes_controller_1.ProcessesController,
272
+ });
273
+ const { command, cwd } = await this.getDummyProcessParams();
274
+ const processFromDBReq = await processesController
275
+ .save(new processes_1.Processes().clone({
276
+ command,
277
+ cwd,
278
+ }))
279
+ .request();
280
+ const processFromDB = processFromDBReq.body.json;
281
+ await processesController.triggerStop(processFromDB.id).request();
282
+ lib_2.Helpers.info(`Triggered stop for dummy process `);
283
+ await lib_2.UtilsTerminal.pressAnyKeyToContinueAsync({
284
+ message: 'Press any key to go back to main menu',
285
+ });
286
+ },
287
+ },
288
+ //#endregion
289
+ //#region get dummy process info
290
+ getDummyProcessInfo: {
291
+ name: 'DUMMY PROCESS - get info',
292
+ action: async () => {
293
+ // Helpers.info(`Stuff from backend will be fetched`);
294
+ const processesController = await this.worker.getRemoteControllerFor({
295
+ methodOptions: {
296
+ calledFrom: 'ProcessesTerminalUI.getWorkerTerminalActions/getDummyProcessInfo',
297
+ },
298
+ controllerClass: processes_controller_1.ProcessesController,
299
+ });
300
+ const { command, cwd } = await this.getDummyProcessParams();
301
+ const processFromDBReq = await processesController
302
+ .getByUniqueParams(cwd, command)
303
+ .request();
304
+ const processFromDB = processFromDBReq.body.json;
305
+ lib_2.Helpers.info(`
306
+ Dummy process info:
307
+
308
+ > id: ${processFromDB.id}
309
+ > cwd: ${processFromDB.cwd}
310
+ > command: ${processFromDB.command}
311
+ > state: ${processFromDB.state}
312
+ > pid: ${processFromDB.pid}
313
+ > ppid: ${processFromDB.ppid}
314
+ > log path: ${processFromDB.fileLogAbsPath}
315
+ > conditionProcessActiveStdout: ${(processFromDB.conditionProcessActiveStdout || []).join(', ') || '<empty>'}
316
+ > conditionProcessActiveStderr: ${(processFromDB.conditionProcessActiveStderr || []).join(', ') || '<empty>'}
317
+
318
+ `);
319
+ await lib_2.UtilsTerminal.pressAnyKeyToContinueAsync({
320
+ message: 'Press any key to go back to main menu',
321
+ });
322
+ },
323
+ },
324
+ //#endregion
325
+ //#region preview log file of dummy process
326
+ getPreviewLogFile: {
327
+ name: 'DUMMY PROCESS - preview log file',
328
+ action: async () => {
329
+ // Helpers.info(`Stuff from backend will be fetched`);
330
+ const processesController = await this.worker.getRemoteControllerFor({
331
+ methodOptions: {
332
+ calledFrom: 'ProcessesTerminalUI.getWorkerTerminalActions/getPreviewLogFile',
333
+ },
334
+ controllerClass: processes_controller_1.ProcessesController,
335
+ });
336
+ const { command, cwd } = await this.getDummyProcessParams();
337
+ const processFromDBReq = await processesController
338
+ .getByUniqueParams(cwd, command)
339
+ .request();
340
+ const processFromDB = processFromDBReq.body.json;
341
+ await lib_2.UtilsTerminal.previewLongListGitLogLike(lib_2.Helpers.readFile(processFromDB.fileLogAbsPath) ||
342
+ '< empty log file >');
343
+ },
344
+ },
345
+ //#endregion
346
+ //#region get realtime preview of dummy process output
347
+ realtimePreviewDummyProcess: {
348
+ name: 'DUMMY PROCESS - get realtime preview',
349
+ action: async () => {
350
+ // Helpers.info(`Stuff from backend will be fetched`);
351
+ const processesController = await this.worker.getRemoteControllerFor({
352
+ methodOptions: {
353
+ calledFrom: 'realtimePreviewDummyProcess',
354
+ },
355
+ controllerClass: processes_controller_1.ProcessesController,
356
+ });
357
+ const { command, cwd } = await this.getDummyProcessParams();
358
+ const processFromDBReq = await processesController
359
+ .getByUniqueParams(cwd, command)
360
+ .request();
361
+ const processFromDB = processFromDBReq.body.json;
362
+ await processes_utils_1.ProcessesUtils.displayRealtimeProgressMonitor(processFromDB.id, processesController);
363
+ },
364
+ },
365
+ //#endregion
366
+ };
367
+ if (!dummyProcessCreate) {
368
+ delete myActions.stopDummyProcess;
369
+ delete myActions.getDummyProcessInfo;
370
+ delete myActions.getPreviewLogFile;
371
+ delete myActions.realtimePreviewDummyProcess;
372
+ }
373
+ return {
374
+ ...this.chooseAction,
375
+ ...myActions,
376
+ ...super.getWorkerTerminalActions({ ...options, chooseAction: false }),
377
+ };
378
+ //#endregion
379
+ }
380
+ }
381
+ exports.ProcessesTerminalUI = ProcessesTerminalUI;
382
+ //# sourceMappingURL=processes.terminal-ui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processes.terminal-ui.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { ProcessesController } from './processes.controller';
2
+ export declare namespace ProcessesUtils {
3
+ const displayRealtimeProgressMonitor: (processId: number | string, processesController: ProcessesController, options?: {
4
+ resolveWhenTextInOutput?: string;
5
+ }) => Promise<void>;
6
+ }