@winccoa-tools-pack/npm-winccoa-core 0.1.0-9176c0d

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 (357) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +234 -0
  3. package/dist/cjs/index.js +24 -0
  4. package/dist/cjs/index.js.map +1 -0
  5. package/dist/cjs/types/components/WinCCOAComponent.js +327 -0
  6. package/dist/cjs/types/components/WinCCOAComponent.js.map +1 -0
  7. package/dist/cjs/types/components/implementations/AlertManagerComponent.js +14 -0
  8. package/dist/cjs/types/components/implementations/AlertManagerComponent.js.map +1 -0
  9. package/dist/cjs/types/components/implementations/AndroidComponent.js +17 -0
  10. package/dist/cjs/types/components/implementations/AndroidComponent.js.map +1 -0
  11. package/dist/cjs/types/components/implementations/ApiComponent.js +14 -0
  12. package/dist/cjs/types/components/implementations/ApiComponent.js.map +1 -0
  13. package/dist/cjs/types/components/implementations/AsciiManagerComponent.js +14 -0
  14. package/dist/cjs/types/components/implementations/AsciiManagerComponent.js.map +1 -0
  15. package/dist/cjs/types/components/implementations/ConfComponent.js +17 -0
  16. package/dist/cjs/types/components/implementations/ConfComponent.js.map +1 -0
  17. package/dist/cjs/types/components/implementations/CtrlComponent.js +34 -0
  18. package/dist/cjs/types/components/implementations/CtrlComponent.js.map +1 -0
  19. package/dist/cjs/types/components/implementations/DNP3Component.js +17 -0
  20. package/dist/cjs/types/components/implementations/DNP3Component.js.map +1 -0
  21. package/dist/cjs/types/components/implementations/DataComponent.js +17 -0
  22. package/dist/cjs/types/components/implementations/DataComponent.js.map +1 -0
  23. package/dist/cjs/types/components/implementations/DbManagerComponent.js +14 -0
  24. package/dist/cjs/types/components/implementations/DbManagerComponent.js.map +1 -0
  25. package/dist/cjs/types/components/implementations/DistComponent.js +14 -0
  26. package/dist/cjs/types/components/implementations/DistComponent.js.map +1 -0
  27. package/dist/cjs/types/components/implementations/DriverComponent.js +14 -0
  28. package/dist/cjs/types/components/implementations/DriverComponent.js.map +1 -0
  29. package/dist/cjs/types/components/implementations/EventComponent.js +17 -0
  30. package/dist/cjs/types/components/implementations/EventComponent.js.map +1 -0
  31. package/dist/cjs/types/components/implementations/HttpComponent.js +14 -0
  32. package/dist/cjs/types/components/implementations/HttpComponent.js.map +1 -0
  33. package/dist/cjs/types/components/implementations/IEC60870Component.js +17 -0
  34. package/dist/cjs/types/components/implementations/IEC60870Component.js.map +1 -0
  35. package/dist/cjs/types/components/implementations/IEC61850Component.js +17 -0
  36. package/dist/cjs/types/components/implementations/IEC61850Component.js.map +1 -0
  37. package/dist/cjs/types/components/implementations/IosComponent.js +17 -0
  38. package/dist/cjs/types/components/implementations/IosComponent.js.map +1 -0
  39. package/dist/cjs/types/components/implementations/JavaComponent.js +17 -0
  40. package/dist/cjs/types/components/implementations/JavaComponent.js.map +1 -0
  41. package/dist/cjs/types/components/implementations/JavaScriptComponent.js +17 -0
  42. package/dist/cjs/types/components/implementations/JavaScriptComponent.js.map +1 -0
  43. package/dist/cjs/types/components/implementations/ModbusComponent.js +17 -0
  44. package/dist/cjs/types/components/implementations/ModbusComponent.js.map +1 -0
  45. package/dist/cjs/types/components/implementations/OpcComponent.js +17 -0
  46. package/dist/cjs/types/components/implementations/OpcComponent.js.map +1 -0
  47. package/dist/cjs/types/components/implementations/OpcDaComponent.js +17 -0
  48. package/dist/cjs/types/components/implementations/OpcDaComponent.js.map +1 -0
  49. package/dist/cjs/types/components/implementations/OpcUaComponent.js +17 -0
  50. package/dist/cjs/types/components/implementations/OpcUaComponent.js.map +1 -0
  51. package/dist/cjs/types/components/implementations/PmonComponent.js +728 -0
  52. package/dist/cjs/types/components/implementations/PmonComponent.js.map +1 -0
  53. package/dist/cjs/types/components/implementations/RdbComponent.js +14 -0
  54. package/dist/cjs/types/components/implementations/RdbComponent.js.map +1 -0
  55. package/dist/cjs/types/components/implementations/ReduComponent.js +14 -0
  56. package/dist/cjs/types/components/implementations/ReduComponent.js.map +1 -0
  57. package/dist/cjs/types/components/implementations/ReportManagerComponent.js +14 -0
  58. package/dist/cjs/types/components/implementations/ReportManagerComponent.js.map +1 -0
  59. package/dist/cjs/types/components/implementations/S7Component.js +17 -0
  60. package/dist/cjs/types/components/implementations/S7Component.js.map +1 -0
  61. package/dist/cjs/types/components/implementations/S7TopSapComponent.js +17 -0
  62. package/dist/cjs/types/components/implementations/S7TopSapComponent.js.map +1 -0
  63. package/dist/cjs/types/components/implementations/SimComponent.js +17 -0
  64. package/dist/cjs/types/components/implementations/SimComponent.js.map +1 -0
  65. package/dist/cjs/types/components/implementations/SplitComponent.js +14 -0
  66. package/dist/cjs/types/components/implementations/SplitComponent.js.map +1 -0
  67. package/dist/cjs/types/components/implementations/UIComponent.js +36 -0
  68. package/dist/cjs/types/components/implementations/UIComponent.js.map +1 -0
  69. package/dist/cjs/types/components/implementations/ValueArchManagerComponent.js +14 -0
  70. package/dist/cjs/types/components/implementations/ValueArchManagerComponent.js.map +1 -0
  71. package/dist/cjs/types/components/implementations/VideoDriverComponent.js +14 -0
  72. package/dist/cjs/types/components/implementations/VideoDriverComponent.js.map +1 -0
  73. package/dist/cjs/types/components/implementations/VisionComponent.js +17 -0
  74. package/dist/cjs/types/components/implementations/VisionComponent.js.map +1 -0
  75. package/dist/cjs/types/components/implementations/WebUIComponent.js +17 -0
  76. package/dist/cjs/types/components/implementations/WebUIComponent.js.map +1 -0
  77. package/dist/cjs/types/components/implementations/index.js +74 -0
  78. package/dist/cjs/types/components/implementations/index.js.map +1 -0
  79. package/dist/cjs/types/index.js +23 -0
  80. package/dist/cjs/types/index.js.map +1 -0
  81. package/dist/cjs/types/localization/OaLanguage.js +136 -0
  82. package/dist/cjs/types/localization/OaLanguage.js.map +1 -0
  83. package/dist/cjs/types/logs/WinCCOAErrorHandler.js +94 -0
  84. package/dist/cjs/types/logs/WinCCOAErrorHandler.js.map +1 -0
  85. package/dist/cjs/types/logs/WinCCOALogEntry.js +3 -0
  86. package/dist/cjs/types/logs/WinCCOALogEntry.js.map +1 -0
  87. package/dist/cjs/types/logs/WinCCOALogParser.js +213 -0
  88. package/dist/cjs/types/logs/WinCCOALogParser.js.map +1 -0
  89. package/dist/cjs/types/project/CurrentProjectInfo.js +12 -0
  90. package/dist/cjs/types/project/CurrentProjectInfo.js.map +1 -0
  91. package/dist/cjs/types/project/ProjEnv.js +109 -0
  92. package/dist/cjs/types/project/ProjEnv.js.map +1 -0
  93. package/dist/cjs/types/project/ProjEnvErrorHandler.js +12 -0
  94. package/dist/cjs/types/project/ProjEnvErrorHandler.js.map +1 -0
  95. package/dist/cjs/types/project/ProjEnvPmonStatus.js +22 -0
  96. package/dist/cjs/types/project/ProjEnvPmonStatus.js.map +1 -0
  97. package/dist/cjs/types/project/ProjEnvProject.js +1015 -0
  98. package/dist/cjs/types/project/ProjEnvProject.js.map +1 -0
  99. package/dist/cjs/types/project/ProjEnvProjectConfig.js +327 -0
  100. package/dist/cjs/types/project/ProjEnvProjectConfig.js.map +1 -0
  101. package/dist/cjs/types/project/ProjEnvProjectRegistry.js +327 -0
  102. package/dist/cjs/types/project/ProjEnvProjectRegistry.js.map +1 -0
  103. package/dist/cjs/types/status/WinCCOAManager.js +3 -0
  104. package/dist/cjs/types/status/WinCCOAManager.js.map +1 -0
  105. package/dist/cjs/types/version/DetailedVersionInfo.js +6 -0
  106. package/dist/cjs/types/version/DetailedVersionInfo.js.map +1 -0
  107. package/dist/cjs/utils/index.js +25 -0
  108. package/dist/cjs/utils/index.js.map +1 -0
  109. package/dist/cjs/utils/winccoa-components.js +7 -0
  110. package/dist/cjs/utils/winccoa-components.js.map +1 -0
  111. package/dist/cjs/utils/winccoa-localization.js +12 -0
  112. package/dist/cjs/utils/winccoa-localization.js.map +1 -0
  113. package/dist/cjs/utils/winccoa-logging.js +3 -0
  114. package/dist/cjs/utils/winccoa-logging.js.map +1 -0
  115. package/dist/cjs/utils/winccoa-paths.js +222 -0
  116. package/dist/cjs/utils/winccoa-paths.js.map +1 -0
  117. package/dist/cjs/utils/winccoa-project-environment.js +73 -0
  118. package/dist/cjs/utils/winccoa-project-environment.js.map +1 -0
  119. package/dist/cjs/utils/winccoa-version-info.js +23 -0
  120. package/dist/cjs/utils/winccoa-version-info.js.map +1 -0
  121. package/dist/esm/index.js +8 -0
  122. package/dist/esm/index.js.map +1 -0
  123. package/dist/esm/types/components/WinCCOAComponent.js +290 -0
  124. package/dist/esm/types/components/WinCCOAComponent.js.map +1 -0
  125. package/dist/esm/types/components/implementations/AlertManagerComponent.js +10 -0
  126. package/dist/esm/types/components/implementations/AlertManagerComponent.js.map +1 -0
  127. package/dist/esm/types/components/implementations/AndroidComponent.js +13 -0
  128. package/dist/esm/types/components/implementations/AndroidComponent.js.map +1 -0
  129. package/dist/esm/types/components/implementations/ApiComponent.js +10 -0
  130. package/dist/esm/types/components/implementations/ApiComponent.js.map +1 -0
  131. package/dist/esm/types/components/implementations/AsciiManagerComponent.js +10 -0
  132. package/dist/esm/types/components/implementations/AsciiManagerComponent.js.map +1 -0
  133. package/dist/esm/types/components/implementations/ConfComponent.js +13 -0
  134. package/dist/esm/types/components/implementations/ConfComponent.js.map +1 -0
  135. package/dist/esm/types/components/implementations/CtrlComponent.js +30 -0
  136. package/dist/esm/types/components/implementations/CtrlComponent.js.map +1 -0
  137. package/dist/esm/types/components/implementations/DNP3Component.js +13 -0
  138. package/dist/esm/types/components/implementations/DNP3Component.js.map +1 -0
  139. package/dist/esm/types/components/implementations/DataComponent.js +13 -0
  140. package/dist/esm/types/components/implementations/DataComponent.js.map +1 -0
  141. package/dist/esm/types/components/implementations/DbManagerComponent.js +10 -0
  142. package/dist/esm/types/components/implementations/DbManagerComponent.js.map +1 -0
  143. package/dist/esm/types/components/implementations/DistComponent.js +10 -0
  144. package/dist/esm/types/components/implementations/DistComponent.js.map +1 -0
  145. package/dist/esm/types/components/implementations/DriverComponent.js +10 -0
  146. package/dist/esm/types/components/implementations/DriverComponent.js.map +1 -0
  147. package/dist/esm/types/components/implementations/EventComponent.js +13 -0
  148. package/dist/esm/types/components/implementations/EventComponent.js.map +1 -0
  149. package/dist/esm/types/components/implementations/HttpComponent.js +10 -0
  150. package/dist/esm/types/components/implementations/HttpComponent.js.map +1 -0
  151. package/dist/esm/types/components/implementations/IEC60870Component.js +13 -0
  152. package/dist/esm/types/components/implementations/IEC60870Component.js.map +1 -0
  153. package/dist/esm/types/components/implementations/IEC61850Component.js +13 -0
  154. package/dist/esm/types/components/implementations/IEC61850Component.js.map +1 -0
  155. package/dist/esm/types/components/implementations/IosComponent.js +13 -0
  156. package/dist/esm/types/components/implementations/IosComponent.js.map +1 -0
  157. package/dist/esm/types/components/implementations/JavaComponent.js +13 -0
  158. package/dist/esm/types/components/implementations/JavaComponent.js.map +1 -0
  159. package/dist/esm/types/components/implementations/JavaScriptComponent.js +13 -0
  160. package/dist/esm/types/components/implementations/JavaScriptComponent.js.map +1 -0
  161. package/dist/esm/types/components/implementations/ModbusComponent.js +13 -0
  162. package/dist/esm/types/components/implementations/ModbusComponent.js.map +1 -0
  163. package/dist/esm/types/components/implementations/OpcComponent.js +13 -0
  164. package/dist/esm/types/components/implementations/OpcComponent.js.map +1 -0
  165. package/dist/esm/types/components/implementations/OpcDaComponent.js +13 -0
  166. package/dist/esm/types/components/implementations/OpcDaComponent.js.map +1 -0
  167. package/dist/esm/types/components/implementations/OpcUaComponent.js +13 -0
  168. package/dist/esm/types/components/implementations/OpcUaComponent.js.map +1 -0
  169. package/dist/esm/types/components/implementations/PmonComponent.js +723 -0
  170. package/dist/esm/types/components/implementations/PmonComponent.js.map +1 -0
  171. package/dist/esm/types/components/implementations/RdbComponent.js +10 -0
  172. package/dist/esm/types/components/implementations/RdbComponent.js.map +1 -0
  173. package/dist/esm/types/components/implementations/ReduComponent.js +10 -0
  174. package/dist/esm/types/components/implementations/ReduComponent.js.map +1 -0
  175. package/dist/esm/types/components/implementations/ReportManagerComponent.js +10 -0
  176. package/dist/esm/types/components/implementations/ReportManagerComponent.js.map +1 -0
  177. package/dist/esm/types/components/implementations/S7Component.js +13 -0
  178. package/dist/esm/types/components/implementations/S7Component.js.map +1 -0
  179. package/dist/esm/types/components/implementations/S7TopSapComponent.js +13 -0
  180. package/dist/esm/types/components/implementations/S7TopSapComponent.js.map +1 -0
  181. package/dist/esm/types/components/implementations/SimComponent.js +13 -0
  182. package/dist/esm/types/components/implementations/SimComponent.js.map +1 -0
  183. package/dist/esm/types/components/implementations/SplitComponent.js +10 -0
  184. package/dist/esm/types/components/implementations/SplitComponent.js.map +1 -0
  185. package/dist/esm/types/components/implementations/UIComponent.js +32 -0
  186. package/dist/esm/types/components/implementations/UIComponent.js.map +1 -0
  187. package/dist/esm/types/components/implementations/ValueArchManagerComponent.js +10 -0
  188. package/dist/esm/types/components/implementations/ValueArchManagerComponent.js.map +1 -0
  189. package/dist/esm/types/components/implementations/VideoDriverComponent.js +10 -0
  190. package/dist/esm/types/components/implementations/VideoDriverComponent.js.map +1 -0
  191. package/dist/esm/types/components/implementations/VisionComponent.js +13 -0
  192. package/dist/esm/types/components/implementations/VisionComponent.js.map +1 -0
  193. package/dist/esm/types/components/implementations/WebUIComponent.js +13 -0
  194. package/dist/esm/types/components/implementations/WebUIComponent.js.map +1 -0
  195. package/dist/esm/types/components/implementations/index.js +36 -0
  196. package/dist/esm/types/components/implementations/index.js.map +1 -0
  197. package/dist/esm/types/index.js +7 -0
  198. package/dist/esm/types/index.js.map +1 -0
  199. package/dist/esm/types/localization/OaLanguage.js +132 -0
  200. package/dist/esm/types/localization/OaLanguage.js.map +1 -0
  201. package/dist/esm/types/logs/WinCCOAErrorHandler.js +90 -0
  202. package/dist/esm/types/logs/WinCCOAErrorHandler.js.map +1 -0
  203. package/dist/esm/types/logs/WinCCOALogEntry.js +2 -0
  204. package/dist/esm/types/logs/WinCCOALogEntry.js.map +1 -0
  205. package/dist/esm/types/logs/WinCCOALogParser.js +176 -0
  206. package/dist/esm/types/logs/WinCCOALogParser.js.map +1 -0
  207. package/dist/esm/types/project/CurrentProjectInfo.js +11 -0
  208. package/dist/esm/types/project/CurrentProjectInfo.js.map +1 -0
  209. package/dist/esm/types/project/ProjEnv.js +103 -0
  210. package/dist/esm/types/project/ProjEnv.js.map +1 -0
  211. package/dist/esm/types/project/ProjEnvErrorHandler.js +8 -0
  212. package/dist/esm/types/project/ProjEnvErrorHandler.js.map +1 -0
  213. package/dist/esm/types/project/ProjEnvPmonStatus.js +18 -0
  214. package/dist/esm/types/project/ProjEnvPmonStatus.js.map +1 -0
  215. package/dist/esm/types/project/ProjEnvProject.js +1008 -0
  216. package/dist/esm/types/project/ProjEnvProject.js.map +1 -0
  217. package/dist/esm/types/project/ProjEnvProjectConfig.js +287 -0
  218. package/dist/esm/types/project/ProjEnvProjectConfig.js.map +1 -0
  219. package/dist/esm/types/project/ProjEnvProjectRegistry.js +283 -0
  220. package/dist/esm/types/project/ProjEnvProjectRegistry.js.map +1 -0
  221. package/dist/esm/types/status/WinCCOAManager.js +2 -0
  222. package/dist/esm/types/status/WinCCOAManager.js.map +1 -0
  223. package/dist/esm/types/version/DetailedVersionInfo.js +5 -0
  224. package/dist/esm/types/version/DetailedVersionInfo.js.map +1 -0
  225. package/dist/esm/utils/index.js +9 -0
  226. package/dist/esm/utils/index.js.map +1 -0
  227. package/dist/esm/utils/winccoa-components.js +4 -0
  228. package/dist/esm/utils/winccoa-components.js.map +1 -0
  229. package/dist/esm/utils/winccoa-localization.js +9 -0
  230. package/dist/esm/utils/winccoa-localization.js.map +1 -0
  231. package/dist/esm/utils/winccoa-logging.js +3 -0
  232. package/dist/esm/utils/winccoa-logging.js.map +1 -0
  233. package/dist/esm/utils/winccoa-paths.js +184 -0
  234. package/dist/esm/utils/winccoa-paths.js.map +1 -0
  235. package/dist/esm/utils/winccoa-project-environment.js +66 -0
  236. package/dist/esm/utils/winccoa-project-environment.js.map +1 -0
  237. package/dist/esm/utils/winccoa-version-info.js +20 -0
  238. package/dist/esm/utils/winccoa-version-info.js.map +1 -0
  239. package/dist/index.d.ts +7 -0
  240. package/dist/index.d.ts.map +1 -0
  241. package/dist/types/components/WinCCOAComponent.d.ts +138 -0
  242. package/dist/types/components/WinCCOAComponent.d.ts.map +1 -0
  243. package/dist/types/components/implementations/AlertManagerComponent.d.ts +6 -0
  244. package/dist/types/components/implementations/AlertManagerComponent.d.ts.map +1 -0
  245. package/dist/types/components/implementations/AndroidComponent.d.ts +9 -0
  246. package/dist/types/components/implementations/AndroidComponent.d.ts.map +1 -0
  247. package/dist/types/components/implementations/ApiComponent.d.ts +6 -0
  248. package/dist/types/components/implementations/ApiComponent.d.ts.map +1 -0
  249. package/dist/types/components/implementations/AsciiManagerComponent.d.ts +6 -0
  250. package/dist/types/components/implementations/AsciiManagerComponent.d.ts.map +1 -0
  251. package/dist/types/components/implementations/ConfComponent.d.ts +9 -0
  252. package/dist/types/components/implementations/ConfComponent.d.ts.map +1 -0
  253. package/dist/types/components/implementations/CtrlComponent.d.ts +10 -0
  254. package/dist/types/components/implementations/CtrlComponent.d.ts.map +1 -0
  255. package/dist/types/components/implementations/DNP3Component.d.ts +9 -0
  256. package/dist/types/components/implementations/DNP3Component.d.ts.map +1 -0
  257. package/dist/types/components/implementations/DataComponent.d.ts +9 -0
  258. package/dist/types/components/implementations/DataComponent.d.ts.map +1 -0
  259. package/dist/types/components/implementations/DbManagerComponent.d.ts +6 -0
  260. package/dist/types/components/implementations/DbManagerComponent.d.ts.map +1 -0
  261. package/dist/types/components/implementations/DistComponent.d.ts +6 -0
  262. package/dist/types/components/implementations/DistComponent.d.ts.map +1 -0
  263. package/dist/types/components/implementations/DriverComponent.d.ts +6 -0
  264. package/dist/types/components/implementations/DriverComponent.d.ts.map +1 -0
  265. package/dist/types/components/implementations/EventComponent.d.ts +9 -0
  266. package/dist/types/components/implementations/EventComponent.d.ts.map +1 -0
  267. package/dist/types/components/implementations/HttpComponent.d.ts +6 -0
  268. package/dist/types/components/implementations/HttpComponent.d.ts.map +1 -0
  269. package/dist/types/components/implementations/IEC60870Component.d.ts +9 -0
  270. package/dist/types/components/implementations/IEC60870Component.d.ts.map +1 -0
  271. package/dist/types/components/implementations/IEC61850Component.d.ts +9 -0
  272. package/dist/types/components/implementations/IEC61850Component.d.ts.map +1 -0
  273. package/dist/types/components/implementations/IosComponent.d.ts +9 -0
  274. package/dist/types/components/implementations/IosComponent.d.ts.map +1 -0
  275. package/dist/types/components/implementations/JavaComponent.d.ts +9 -0
  276. package/dist/types/components/implementations/JavaComponent.d.ts.map +1 -0
  277. package/dist/types/components/implementations/JavaScriptComponent.d.ts +9 -0
  278. package/dist/types/components/implementations/JavaScriptComponent.d.ts.map +1 -0
  279. package/dist/types/components/implementations/ModbusComponent.d.ts +9 -0
  280. package/dist/types/components/implementations/ModbusComponent.d.ts.map +1 -0
  281. package/dist/types/components/implementations/OpcComponent.d.ts +9 -0
  282. package/dist/types/components/implementations/OpcComponent.d.ts.map +1 -0
  283. package/dist/types/components/implementations/OpcDaComponent.d.ts +9 -0
  284. package/dist/types/components/implementations/OpcDaComponent.d.ts.map +1 -0
  285. package/dist/types/components/implementations/OpcUaComponent.d.ts +9 -0
  286. package/dist/types/components/implementations/OpcUaComponent.d.ts.map +1 -0
  287. package/dist/types/components/implementations/PmonComponent.d.ts +168 -0
  288. package/dist/types/components/implementations/PmonComponent.d.ts.map +1 -0
  289. package/dist/types/components/implementations/RdbComponent.d.ts +6 -0
  290. package/dist/types/components/implementations/RdbComponent.d.ts.map +1 -0
  291. package/dist/types/components/implementations/ReduComponent.d.ts +6 -0
  292. package/dist/types/components/implementations/ReduComponent.d.ts.map +1 -0
  293. package/dist/types/components/implementations/ReportManagerComponent.d.ts +6 -0
  294. package/dist/types/components/implementations/ReportManagerComponent.d.ts.map +1 -0
  295. package/dist/types/components/implementations/S7Component.d.ts +9 -0
  296. package/dist/types/components/implementations/S7Component.d.ts.map +1 -0
  297. package/dist/types/components/implementations/S7TopSapComponent.d.ts +9 -0
  298. package/dist/types/components/implementations/S7TopSapComponent.d.ts.map +1 -0
  299. package/dist/types/components/implementations/SimComponent.d.ts +9 -0
  300. package/dist/types/components/implementations/SimComponent.d.ts.map +1 -0
  301. package/dist/types/components/implementations/SplitComponent.d.ts +6 -0
  302. package/dist/types/components/implementations/SplitComponent.d.ts.map +1 -0
  303. package/dist/types/components/implementations/UIComponent.d.ts +13 -0
  304. package/dist/types/components/implementations/UIComponent.d.ts.map +1 -0
  305. package/dist/types/components/implementations/ValueArchManagerComponent.d.ts +6 -0
  306. package/dist/types/components/implementations/ValueArchManagerComponent.d.ts.map +1 -0
  307. package/dist/types/components/implementations/VideoDriverComponent.d.ts +6 -0
  308. package/dist/types/components/implementations/VideoDriverComponent.d.ts.map +1 -0
  309. package/dist/types/components/implementations/VisionComponent.d.ts +9 -0
  310. package/dist/types/components/implementations/VisionComponent.d.ts.map +1 -0
  311. package/dist/types/components/implementations/WebUIComponent.d.ts +9 -0
  312. package/dist/types/components/implementations/WebUIComponent.d.ts.map +1 -0
  313. package/dist/types/components/implementations/index.d.ts +36 -0
  314. package/dist/types/components/implementations/index.d.ts.map +1 -0
  315. package/dist/types/index.d.ts +7 -0
  316. package/dist/types/index.d.ts.map +1 -0
  317. package/dist/types/localization/OaLanguage.d.ts +101 -0
  318. package/dist/types/localization/OaLanguage.d.ts.map +1 -0
  319. package/dist/types/logs/WinCCOAErrorHandler.d.ts +35 -0
  320. package/dist/types/logs/WinCCOAErrorHandler.d.ts.map +1 -0
  321. package/dist/types/logs/WinCCOALogEntry.d.ts +12 -0
  322. package/dist/types/logs/WinCCOALogEntry.d.ts.map +1 -0
  323. package/dist/types/logs/WinCCOALogParser.d.ts +53 -0
  324. package/dist/types/logs/WinCCOALogParser.d.ts.map +1 -0
  325. package/dist/types/project/CurrentProjectInfo.d.ts +24 -0
  326. package/dist/types/project/CurrentProjectInfo.d.ts.map +1 -0
  327. package/dist/types/project/ProjEnv.d.ts +73 -0
  328. package/dist/types/project/ProjEnv.d.ts.map +1 -0
  329. package/dist/types/project/ProjEnvErrorHandler.d.ts +6 -0
  330. package/dist/types/project/ProjEnvErrorHandler.d.ts.map +1 -0
  331. package/dist/types/project/ProjEnvPmonStatus.d.ts +23 -0
  332. package/dist/types/project/ProjEnvPmonStatus.d.ts.map +1 -0
  333. package/dist/types/project/ProjEnvProject.d.ts +475 -0
  334. package/dist/types/project/ProjEnvProject.d.ts.map +1 -0
  335. package/dist/types/project/ProjEnvProjectConfig.d.ts +54 -0
  336. package/dist/types/project/ProjEnvProjectConfig.d.ts.map +1 -0
  337. package/dist/types/project/ProjEnvProjectRegistry.d.ts +61 -0
  338. package/dist/types/project/ProjEnvProjectRegistry.d.ts.map +1 -0
  339. package/dist/types/status/WinCCOAManager.d.ts +15 -0
  340. package/dist/types/status/WinCCOAManager.d.ts.map +1 -0
  341. package/dist/types/version/DetailedVersionInfo.d.ts +16 -0
  342. package/dist/types/version/DetailedVersionInfo.d.ts.map +1 -0
  343. package/dist/utils/index.d.ts +9 -0
  344. package/dist/utils/index.d.ts.map +1 -0
  345. package/dist/utils/winccoa-components.d.ts +3 -0
  346. package/dist/utils/winccoa-components.d.ts.map +1 -0
  347. package/dist/utils/winccoa-localization.d.ts +7 -0
  348. package/dist/utils/winccoa-localization.d.ts.map +1 -0
  349. package/dist/utils/winccoa-logging.d.ts +1 -0
  350. package/dist/utils/winccoa-logging.d.ts.map +1 -0
  351. package/dist/utils/winccoa-paths.d.ts +49 -0
  352. package/dist/utils/winccoa-paths.d.ts.map +1 -0
  353. package/dist/utils/winccoa-project-environment.d.ts +34 -0
  354. package/dist/utils/winccoa-project-environment.d.ts.map +1 -0
  355. package/dist/utils/winccoa-version-info.d.ts +14 -0
  356. package/dist/utils/winccoa-version-info.d.ts.map +1 -0
  357. package/package.json +70 -0
@@ -0,0 +1,723 @@
1
+ import { WinCCOAComponent } from '../WinCCOAComponent.js';
2
+ import { ProjEnvPmonStatus } from '../../project/ProjEnvPmonStatus.js';
3
+ import { ProjEnvManagerStartMode, ProjEnvManagerState, ProjEnvProjectState, startModeToString, } from '../../project/ProjEnv.js';
4
+ export class PmonComponentCredential {
5
+ constructor(username, password) {
6
+ this.username = username;
7
+ this.password = password;
8
+ }
9
+ }
10
+ export class PmonComponent extends WinCCOAComponent {
11
+ constructor() {
12
+ //-------------------------------------------------------------------------
13
+ //@public members
14
+ //-------------------------------------------------------------------------
15
+ super(...arguments);
16
+ //-------------------------------------------------------------------------
17
+ //@private members
18
+ //-------------------------------------------------------------------------
19
+ this.currentCredentials = null;
20
+ }
21
+ //-------------------------------------------------------------------------
22
+ /**
23
+ * Returns the component name
24
+ */
25
+ getName() {
26
+ return 'WCCILpmon';
27
+ }
28
+ //-------------------------------------------------------------------------
29
+ /**
30
+ * Returns the component description
31
+ */
32
+ getDescription() {
33
+ return 'Process Monitor';
34
+ }
35
+ //-------------------------------------------------------------------------
36
+ /**
37
+ * Registers a sub-project using pmon's -regsubf option
38
+ * @param projectPath - Path to the sub-project directory
39
+ * @returns Promise that resolves when registration is complete
40
+ */
41
+ async registerSubProject(projectPath) {
42
+ const args = ['-regsubf', '-proj', projectPath, '-log', '+stderr'];
43
+ return this.startAndValidateOutput(args, { checkStdout: false });
44
+ }
45
+ //-------------------------------------------------------------------------
46
+ /**
47
+ * Unregisters a project using pmon's -unreg option
48
+ * @param projectName - Name of the project to unregister
49
+ * @param outputCallback - Optional callback for output logging
50
+ * @returns Promise that resolves when unregistration is complete
51
+ */
52
+ async unregisterProject(projectName) {
53
+ // Use -unreg option to unregister project
54
+ const args = ['-unreg', projectName, '-log', '+stderr'];
55
+ return this.startAndValidateOutput(args, { checkStdout: false });
56
+ }
57
+ //-------------------------------------------------------------------------
58
+ /**
59
+ * Registers a runnable project using pmon's -config -autofreg -status options
60
+ * @param configPath - Path to the project config file
61
+ * @param outputCallback - Optional callback for output logging
62
+ * @returns Promise that resolves when registration is complete with exit code
63
+ */
64
+ async registerProject(configPath, projectVersion) {
65
+ if (configPath === undefined || configPath === '') {
66
+ throw new Error('Config path is not set for PmonComponent');
67
+ }
68
+ // Use -config -autofreg -status options to register runnable project
69
+ const args = ['-config', configPath, '-log', '+stderr', '-autofreg', '-status'];
70
+ super.setVersion(projectVersion);
71
+ const code = this.startAndValidateOutput(args, { checkStdout: false });
72
+ // the pmon returns 3 if the project is not running after registrations
73
+ const state = this.pmonStateCodeToStatus(await code);
74
+ return state !== ProjEnvPmonStatus.Unknown ? 0 : -1;
75
+ }
76
+ //-------------------------------------------------------------------------
77
+ /**
78
+ * Get pmon status. It check if the pmon is running or not
79
+ */
80
+ async getStatus(projectName) {
81
+ /*
82
+ -status ... returns status of pmon:
83
+ 0=pmon is running, 3=pmon is stopped, 4=unknown
84
+ */
85
+ const args = ['-status', '-proj', projectName, '-log', '+stdout'];
86
+ const code = this.startAndValidateOutput(args, { checkStdout: () => { } });
87
+ return this.pmonStateCodeToStatus(await code);
88
+ }
89
+ //-------------------------------------------------------------------------
90
+ /**
91
+ * Starts pmon only (without auto-starting managers)
92
+ */
93
+ async startPmonOnly(projectName) {
94
+ const args = ['-proj', projectName, '-noAutostart'];
95
+ return this.startAndValidateOutput(args, { detached: true, waitForLog: 'WAIT_MODE' });
96
+ }
97
+ //-------------------------------------------------------------------------
98
+ /**
99
+ * Starts a project with all managers
100
+ */
101
+ async startProject(projectName, startAll = true) {
102
+ let args = ['-proj', projectName];
103
+ if (startAll) {
104
+ args = args.concat(['-command', this.makeCliCredentials() + 'START_ALL:']);
105
+ // INFO, 9/pmon, Das Projekt wurde gestartet und läuft. Gehe in den Überwachungsmodus
106
+ return this.startAndValidateOutput(args, { waitForLog: '9/pmon' });
107
+ }
108
+ else {
109
+ // starting pmon only without extra arguments means, it will start the project too.
110
+ // that means the pmon process will never end (hopefully, otherwise it crashed), so we need to detach
111
+ return this.startAndValidateOutput(args, { detached: true, waitForLog: 'WAIT_MODE' });
112
+ }
113
+ }
114
+ //-------------------------------------------------------------------------
115
+ /**
116
+ * Stops all managers in a project
117
+ */
118
+ async stopProject(projectName) {
119
+ const args = [
120
+ '-proj',
121
+ projectName,
122
+ '-command',
123
+ this.makeCliCredentials() + 'STOP_ALL:',
124
+ '-log',
125
+ '+stderr',
126
+ ];
127
+ // INFO, 13/pmon, Projekt wurde komplett gestoppt - warte auf Befehle
128
+ return this.startAndValidateOutput(args, { waitForLog: '13/pmon' });
129
+ }
130
+ //-------------------------------------------------------------------------
131
+ /**
132
+ * Stops all managers and exits pmon
133
+ */
134
+ async stopProjectAndPmon(projectName, timeout) {
135
+ const args = ['-proj', projectName, '-stopWait', '-log', '+stderr'];
136
+ return this.startAndValidateOutput(args, { timeout: timeout, checkStdout: false });
137
+ }
138
+ //-------------------------------------------------------------------------
139
+ /**
140
+ * Restarts all managers in a project
141
+ */
142
+ async restartProject(projectName) {
143
+ const args = [
144
+ '-proj',
145
+ projectName,
146
+ '-command',
147
+ this.makeCliCredentials() + 'RESTART_ALL:',
148
+ '-log',
149
+ '+stderr',
150
+ ];
151
+ return this.startAndValidateOutput(args);
152
+ }
153
+ //-------------------------------------------------------------------------
154
+ /**
155
+ * Sets pmon wait mode
156
+ */
157
+ async setWaitMode(projectName) {
158
+ const args = [
159
+ '-proj',
160
+ projectName,
161
+ '-command',
162
+ this.makeCliCredentials() + 'WAIT_MODE:',
163
+ '-log',
164
+ '+stderr',
165
+ ];
166
+ return this.startAndValidateOutput(args);
167
+ }
168
+ //-------------------------------------------------------------------------
169
+ /**
170
+ * Starts a specific manager by index
171
+ */
172
+ async startManager(projectName, managerIndex) {
173
+ const args = [
174
+ '-proj',
175
+ projectName,
176
+ '-command',
177
+ this.makeCliCredentials() + 'SINGLE_MGR:START',
178
+ managerIndex.toString(),
179
+ '-log',
180
+ '+stderr',
181
+ ];
182
+ return this.startAndValidateOutput(args);
183
+ }
184
+ //-------------------------------------------------------------------------
185
+ /**
186
+ * Stops a specific manager by index
187
+ */
188
+ async stopManager(projectName, managerIndex) {
189
+ const args = [
190
+ '-proj',
191
+ projectName,
192
+ '-command',
193
+ this.makeCliCredentials() + 'SINGLE_MGR:STOP',
194
+ managerIndex.toString(),
195
+ '-log',
196
+ '+stderr',
197
+ ];
198
+ return this.startAndValidateOutput(args);
199
+ }
200
+ //-------------------------------------------------------------------------
201
+ /**
202
+ * Kills a specific manager by index
203
+ */
204
+ async killManager(projectName, managerIndex) {
205
+ const args = [
206
+ '-proj',
207
+ projectName,
208
+ '-command',
209
+ this.makeCliCredentials() + 'SINGLE_MGR:KILL',
210
+ managerIndex.toString(),
211
+ '-log',
212
+ '+stderr',
213
+ ];
214
+ return this.startAndValidateOutput(args);
215
+ }
216
+ //-------------------------------------------------------------------------
217
+ /**
218
+ * Removes a specific manager by index
219
+ */
220
+ async removeManager(projectName, managerIndex) {
221
+ const args = [
222
+ '-proj',
223
+ projectName,
224
+ '-command',
225
+ this.makeCliCredentials() + 'SINGLE_MGR:DEL',
226
+ managerIndex.toString(),
227
+ '-log',
228
+ '+stderr',
229
+ ];
230
+ return this.startAndValidateOutput(args);
231
+ }
232
+ //-------------------------------------------------------------------------
233
+ /**
234
+ * Gets the list of managers in a project
235
+ */
236
+ async getManagerOptionsList(projectName) {
237
+ const pmonPath = this.getPath();
238
+ if (!pmonPath) {
239
+ throw new Error('WCCILpmon executable not found');
240
+ }
241
+ const args = [
242
+ '-proj',
243
+ projectName,
244
+ '-command',
245
+ this.makeCliCredentials() + 'MGRLIST:LIST',
246
+ '-log',
247
+ '+stdout',
248
+ ];
249
+ const callPath = pmonPath ?? '';
250
+ const lines = await this.execAndCollectLines(callPath, args);
251
+ const parsed = this.parseManagerList(lines.join('\n'));
252
+ return parsed;
253
+ }
254
+ //-------------------------------------------------------------------------
255
+ /**
256
+ * Convenience accessor for manager option (from MGRLIST:LIST) by index.
257
+ * If `projectName` is provided, it will refresh the options list first.
258
+ * If omitted, it returns the manager from last fetched list if available.
259
+ *
260
+ * TODO use command `>WCCILpmon.exe -proj Bla -log +stderr -command SINGLE_MGR:PROP_GET 2
261
+ once 30 3 1 -m gedi -n -num 5` to get the properties. It shall be mu more faster, then query the whole list
262
+ */
263
+ async getManagerOptionsAt(index, projectName) {
264
+ if (typeof index !== 'number' || index < 0)
265
+ return undefined;
266
+ if (projectName) {
267
+ const list = await this.getManagerOptionsList(projectName);
268
+ return list[index];
269
+ }
270
+ return undefined;
271
+ }
272
+ //-------------------------------------------------------------------------
273
+ /** Sets manager options at a specific index in project
274
+ *
275
+ * @param options
276
+ * @param projectName
277
+ * @param managerIndex
278
+ * @returns
279
+ */
280
+ async setManagerOptionsAt(options, projectName, managerIndex) {
281
+ const args = [
282
+ '-proj',
283
+ projectName,
284
+ '-command',
285
+ this.makeCliCredentials() + 'SINGLE_MGR:PROP_PUT',
286
+ managerIndex.toString(),
287
+ startModeToString(options.startMode),
288
+ options.secondToKill.toString(),
289
+ options.resetStartCounter.toString(),
290
+ options.resetMin.toString(),
291
+ options.startOptions,
292
+ '-log',
293
+ '+stderr',
294
+ ];
295
+ return this.startAndValidateOutput(args);
296
+ }
297
+ //-------------------------------------------------------------------------
298
+ /** Inserts a manager at a specific index into project
299
+ * @param options Manager options
300
+ * @param projectName Project name
301
+ * @param managerIndex Index to insert at
302
+ */
303
+ async insertManagerAt(options, projectName, managerIndex) {
304
+ if (managerIndex === undefined) {
305
+ managerIndex =
306
+ (await this.getManagerOptionsList(projectName).then((list) => list.length)) + 1;
307
+ }
308
+ // SINGLE_MGR:INS <idx> <manager> <startmode> <seckill> <restartcount> <resetmin> <args>
309
+ const args = [
310
+ '-proj',
311
+ projectName,
312
+ '-command',
313
+ this.makeCliCredentials() + 'SINGLE_MGR:INS',
314
+ managerIndex.toString(),
315
+ options.component,
316
+ startModeToString(options.startMode),
317
+ options.secondToKill.toString(),
318
+ options.resetStartCounter.toString(),
319
+ options.resetMin.toString(),
320
+ options.startOptions,
321
+ '-log',
322
+ '+stderr',
323
+ ];
324
+ return this.startAndValidateOutput(args);
325
+ }
326
+ //-------------------------------------------------------------------------
327
+ /** Sends a debug flag to a specific manager
328
+ * @param flag Debug flag to send (e.g., '-dbg http', '-dbg all')
329
+ * @param projectName Project name
330
+ * @param managerIndex Manager index
331
+ */
332
+ async sendDebugFlag(flag, projectName, managerIndex) {
333
+ const args = [
334
+ '-proj',
335
+ projectName,
336
+ '-command',
337
+ this.makeCliCredentials() + 'SINGLE_MGR:DEBUG',
338
+ managerIndex.toString(),
339
+ flag,
340
+ '-log',
341
+ '+stderr',
342
+ ];
343
+ return this.startAndValidateOutput(args);
344
+ }
345
+ //-------------------------------------------------------------------------
346
+ /** Gets detailed project and manager status (MGRLIST:STATI) and returns typed
347
+ * managers and optional project state
348
+ * @param projectName Project name
349
+ * @returns Parsed project status
350
+ */
351
+ async getProjectStatus(projectName) {
352
+ const pmonPath = this.getPath();
353
+ if (!pmonPath) {
354
+ const errorMsg = 'Could not locate WCCILpmon executable';
355
+ throw new Error(errorMsg);
356
+ }
357
+ const args = [
358
+ '-proj',
359
+ projectName,
360
+ '-command',
361
+ this.makeCliCredentials() + 'MGRLIST:STATI',
362
+ '-log',
363
+ '+stdout',
364
+ ];
365
+ const callPath = pmonPath ?? '';
366
+ const lines = await this.execAndCollectLines(callPath, args);
367
+ const raw = lines.join('\n');
368
+ const parsed = this.parseManagerStatus(raw);
369
+ return parsed;
370
+ }
371
+ //-------------------------------------------------------------------------
372
+ /**
373
+ * Convenience method to get a single manager status by index.
374
+ * If `projectName` is provided, it will refresh the list first.
375
+ * If omitted, it returns the manager from last fetched list if available.
376
+ */
377
+ async getManagerStatusAt(index, projectName) {
378
+ if (typeof index !== 'number' || index < 0)
379
+ return undefined;
380
+ if (projectName) {
381
+ const res = await this.getProjectStatus(projectName);
382
+ return res.managers[index];
383
+ }
384
+ // No cached data and no project specified
385
+ return undefined;
386
+ }
387
+ //-------------------------------------------------------------------------
388
+ /** Saves credentials for pmon authentication
389
+ *
390
+ * @param projectName Project name
391
+ * @param credentials Credentials to save
392
+ * @returns
393
+ */
394
+ async saveCredentials(projectName, credentials) {
395
+ if (!this.currentCredentials) {
396
+ this.currentCredentials = { username: '', password: '' };
397
+ }
398
+ this.validateCredentials(credentials);
399
+ const code = this._storeCredentials(projectName, this.currentCredentials, credentials);
400
+ if ((await code) === 0) {
401
+ this.currentCredentials = credentials;
402
+ console.log('Saved credentials for project', projectName);
403
+ }
404
+ else {
405
+ console.log('Failed to save credentials for project', projectName);
406
+ }
407
+ return code;
408
+ }
409
+ //-------------------------------------------------------------------------
410
+ /** Validates pmon credentials
411
+ *
412
+ * @param credentials
413
+ * throws Error if credentials are invalid
414
+ */
415
+ validateCredentials(credentials) {
416
+ if (!credentials.username || credentials.username.trim() === '') {
417
+ throw new Error('Username cannot be empty');
418
+ }
419
+ if (!credentials.password || credentials.password.trim() === '') {
420
+ throw new Error('Password cannot be empty');
421
+ }
422
+ if (credentials.username.indexOf('#') !== -1) {
423
+ throw new Error('Username cannot contains the character "#"');
424
+ }
425
+ if (credentials.password.indexOf('#') !== -1) {
426
+ throw new Error('Password cannot contains the character "#"');
427
+ }
428
+ }
429
+ //-------------------------------------------------------------------------
430
+ /** Gets the currently used credentials
431
+ *
432
+ * @returns
433
+ */
434
+ getCredentials() {
435
+ return this.currentCredentials;
436
+ }
437
+ //-------------------------------------------------------------------------
438
+ /** Verifies pmon credentials
439
+ *
440
+ * @param projectName Project name
441
+ * @param credentials Credentials to verify
442
+ * @returns
443
+ */
444
+ verifyCredentials(projectName, credentials) {
445
+ const oldCredentials = credentials;
446
+ // just try to store the same credentials again
447
+ return this._storeCredentials(projectName, oldCredentials, credentials).then((code) => code === 0);
448
+ }
449
+ makeCliCredentials() {
450
+ if (!this.currentCredentials) {
451
+ return '';
452
+ }
453
+ return `${this.currentCredentials.username}#${this.currentCredentials.password}`;
454
+ }
455
+ //-------------------------------------------------------------------------
456
+ _storeCredentials(projectName, oldCredentials, newCredentials) {
457
+ const args = [
458
+ '-proj',
459
+ projectName,
460
+ '-auth',
461
+ oldCredentials.username,
462
+ oldCredentials.password,
463
+ newCredentials.username,
464
+ newCredentials.password,
465
+ '-log',
466
+ '+stderr',
467
+ ];
468
+ return this.startAndValidateOutput(args);
469
+ }
470
+ startAndValidateOutput(args = [], options = {}) {
471
+ if (options.checkStdout === undefined) {
472
+ options.checkStdout = (stdout) => {
473
+ if (!stdout) {
474
+ console.warn('WARNING: Pmon command returned empty output. Do you means stdErr: ' +
475
+ this.stdErr);
476
+ return;
477
+ }
478
+ stdout = stdout.trim();
479
+ if (stdout != 'OK') {
480
+ console.error('ERROR: Pmon command failed with output:', stdout);
481
+ }
482
+ else if (stdout.startsWith('ERROR')) {
483
+ throw new Error(`Pmon command failed with error: ${stdout}`);
484
+ }
485
+ };
486
+ }
487
+ return super.start(args, options);
488
+ }
489
+ //-------------------------------------------------------------------------
490
+ /** Converts pmon exit code to ProjEnvPmonStatus
491
+ *
492
+ * @param code
493
+ * @returns
494
+ */
495
+ pmonStateCodeToStatus(code) {
496
+ console.log('Pmon status code:', code);
497
+ let status = ProjEnvPmonStatus.Unknown;
498
+ if (code === 0)
499
+ status = ProjEnvPmonStatus.Running;
500
+ else if (code === 3)
501
+ status = ProjEnvPmonStatus.NotRunning;
502
+ else
503
+ status = ProjEnvPmonStatus.Unknown;
504
+ return status;
505
+ }
506
+ //-------------------------------------------------------------------------
507
+ // Private parser for manager list output
508
+ parseManagerList(output) {
509
+ const lines = output
510
+ .split(/\r?\n/)
511
+ .map((l) => l.trim())
512
+ .filter((l) => l.length > 0 && l !== ';');
513
+ if (lines.length === 0)
514
+ return [];
515
+ if (/^LIST:\d+/i.test(lines[0]))
516
+ lines.shift();
517
+ const result = [];
518
+ for (const line of lines) {
519
+ const parts = line.split(';');
520
+ if (parts.length < 1)
521
+ continue;
522
+ if (parts.length < 6) {
523
+ throw new Error(`The line '${line}' has incorrect format`);
524
+ }
525
+ const name = parts[0];
526
+ const startModeNum = Number(parts[1]);
527
+ const seckill = Number(parts[2]);
528
+ const restartCount = Number(parts[3]);
529
+ const resetMin = Number(parts[4]);
530
+ const args = parts.slice(5).filter(Boolean).join(';');
531
+ let startModeEnum;
532
+ switch (startModeNum) {
533
+ case 0:
534
+ startModeEnum = ProjEnvManagerStartMode.Manual;
535
+ break;
536
+ case 1:
537
+ startModeEnum = ProjEnvManagerStartMode.Once;
538
+ break;
539
+ case 2:
540
+ startModeEnum = ProjEnvManagerStartMode.Always;
541
+ break;
542
+ default:
543
+ throw new Error(`The line '${line}' contains invalid start mode. Expected 0,1,2 becames ${startModeNum}`);
544
+ }
545
+ result.push({
546
+ component: name,
547
+ startMode: startModeEnum,
548
+ secondToKill: seckill,
549
+ resetMin: resetMin,
550
+ resetStartCounter: restartCount,
551
+ startOptions: args,
552
+ });
553
+ }
554
+ return result;
555
+ }
556
+ //-------------------------------------------------------------------------
557
+ // Parse project state line from STATI output
558
+ parseProjectState(line) {
559
+ const parts = line.trim().split(/\s+/);
560
+ if (parts.length >= 4) {
561
+ const statusCode = parseInt(parts[0], 10);
562
+ const text = parts[1];
563
+ const emergency = parseInt(parts[2], 10) === 1;
564
+ const demo = parseInt(parts[3], 10) === 1;
565
+ let status = ProjEnvProjectState.Unknown;
566
+ switch (statusCode) {
567
+ case -1:
568
+ status = ProjEnvProjectState.Unknown;
569
+ break;
570
+ case 0:
571
+ status = ProjEnvProjectState.Down;
572
+ break;
573
+ case 1:
574
+ status = ProjEnvProjectState.Starting;
575
+ break;
576
+ case 2:
577
+ status = ProjEnvProjectState.Monitoring;
578
+ break;
579
+ case 3:
580
+ status = ProjEnvProjectState.Stopping;
581
+ break;
582
+ case 5:
583
+ status = ProjEnvProjectState.Restarting;
584
+ break;
585
+ default:
586
+ status = ProjEnvProjectState.Unknown;
587
+ break;
588
+ }
589
+ return { status, statusCode, text, emergency, demo };
590
+ }
591
+ return null;
592
+ }
593
+ //-------------------------------------------------------------------------
594
+ // Parse STATI output into typed managers and project state
595
+ parseManagerStatus(output) {
596
+ const managers = [];
597
+ const lines = output.split('\n');
598
+ let listStarted = false;
599
+ let projectState = undefined;
600
+ let projectStateLineFound = false;
601
+ for (let i = 0; i < lines.length; i++) {
602
+ const trimmed = lines[i].trim();
603
+ if (trimmed.startsWith('STATI:') || trimmed.startsWith('LIST:')) {
604
+ listStarted = true;
605
+ continue;
606
+ }
607
+ if (trimmed === ';') {
608
+ break;
609
+ }
610
+ if (!listStarted || !trimmed)
611
+ continue;
612
+ // Look ahead to detect project state line (line before ';')
613
+ let isProjectStateLine = false;
614
+ for (let j = i + 1; j < lines.length; j++) {
615
+ const nextTrimmed = lines[j].trim();
616
+ if (nextTrimmed === ';') {
617
+ isProjectStateLine = true;
618
+ break;
619
+ }
620
+ else if (nextTrimmed !== '')
621
+ break;
622
+ }
623
+ if (isProjectStateLine && !projectStateLineFound) {
624
+ const parsed = this.parseProjectState(trimmed);
625
+ if (parsed)
626
+ projectState = parsed;
627
+ projectStateLineFound = true;
628
+ continue;
629
+ }
630
+ const parts = trimmed.split(';');
631
+ if (parts.length >= 5) {
632
+ const runningStateNum = parseInt(parts[0].trim(), 10);
633
+ const pid = parseInt(parts[1].trim(), 10);
634
+ const startModeNum = parseInt(parts[2].trim(), 10);
635
+ const startTimeStamp = parts[3].trim();
636
+ const managerNumber = parseInt(parts[4].trim(), 10);
637
+ let runningStateEnum;
638
+ switch (runningStateNum) {
639
+ case 0:
640
+ runningStateEnum = ProjEnvManagerState.NotRunning;
641
+ break;
642
+ case 1:
643
+ runningStateEnum = ProjEnvManagerState.Init;
644
+ break;
645
+ case 2:
646
+ runningStateEnum = ProjEnvManagerState.Running;
647
+ break;
648
+ case 3:
649
+ runningStateEnum = ProjEnvManagerState.Blocked;
650
+ break;
651
+ default:
652
+ runningStateEnum = ProjEnvManagerState.NotRunning;
653
+ break;
654
+ }
655
+ let startModeEnum;
656
+ switch (startModeNum) {
657
+ case 0:
658
+ startModeEnum = ProjEnvManagerStartMode.Manual;
659
+ break;
660
+ case 1:
661
+ startModeEnum = ProjEnvManagerStartMode.Once;
662
+ break;
663
+ case 2:
664
+ startModeEnum = ProjEnvManagerStartMode.Always;
665
+ break;
666
+ default:
667
+ startModeEnum = ProjEnvManagerStartMode.Manual;
668
+ break;
669
+ }
670
+ let parsedTimestamp;
671
+ if (startTimeStamp &&
672
+ startTimeStamp !== '0' &&
673
+ startTimeStamp !== '' &&
674
+ startTimeStamp !== '-1' &&
675
+ !startTimeStamp.startsWith('1970')) {
676
+ try {
677
+ const winccOaMatch = startTimeStamp.match(/^(\d{4})\.(\d{2})\.(\d{2})\s+(\d{2}):(\d{2}):(\d{2})\.(\d{3})$/);
678
+ if (winccOaMatch) {
679
+ const [, year, month, day, hours, minutes, seconds, milliseconds] = winccOaMatch;
680
+ parsedTimestamp = new Date(parseInt(year, 10), parseInt(month, 10) - 1, parseInt(day, 10), parseInt(hours, 10), parseInt(minutes, 10), parseInt(seconds, 10), parseInt(milliseconds, 10));
681
+ }
682
+ }
683
+ catch {
684
+ parsedTimestamp = undefined;
685
+ }
686
+ }
687
+ // Build object with new typed fields and include legacy field names for compatibility
688
+ const managerObj = {
689
+ state: runningStateEnum,
690
+ pid: pid === -1 ? undefined : pid,
691
+ startMode: startModeEnum,
692
+ startTime: parsedTimestamp,
693
+ managerNumber,
694
+ };
695
+ // Legacy compatibility fields used by older consumers/tests
696
+ managerObj.runningState =
697
+ runningStateEnum === ProjEnvManagerState.Running
698
+ ? 'running'
699
+ : runningStateEnum === ProjEnvManagerState.Init
700
+ ? 'init'
701
+ : runningStateEnum === ProjEnvManagerState.Blocked
702
+ ? 'blocked'
703
+ : 'stopped';
704
+ managerObj.startTimeStamp = parsedTimestamp;
705
+ managerObj.startMode =
706
+ startModeEnum === ProjEnvManagerStartMode.Always
707
+ ? 'always'
708
+ : startModeEnum === ProjEnvManagerStartMode.Once
709
+ ? 'once'
710
+ : startModeEnum === ProjEnvManagerStartMode.Manual
711
+ ? 'manual'
712
+ : 'unknown';
713
+ managers.push(managerObj);
714
+ }
715
+ }
716
+ const state = {
717
+ managers: managers,
718
+ project: projectState,
719
+ };
720
+ return state;
721
+ }
722
+ }
723
+ //# sourceMappingURL=PmonComponent.js.map