statemachine-engine 0.0.2__py3-none-any.whl

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 (1022) hide show
  1. statemachine_engine/__init__.py +17 -0
  2. statemachine_engine/actions/__init__.py +3 -0
  3. statemachine_engine/actions/base.py +64 -0
  4. statemachine_engine/actions/builtin/__init__.py +17 -0
  5. statemachine_engine/actions/builtin/bash_action.py +313 -0
  6. statemachine_engine/actions/builtin/check_database_queue_action.py +103 -0
  7. statemachine_engine/actions/builtin/check_machine_state_action.py +138 -0
  8. statemachine_engine/actions/builtin/clear_events_action.py +77 -0
  9. statemachine_engine/actions/builtin/log_action.py +117 -0
  10. statemachine_engine/actions/builtin/send_event_action.py +209 -0
  11. statemachine_engine/cli.py +63 -0
  12. statemachine_engine/core/__init__.py +4 -0
  13. statemachine_engine/core/action_loader.py +204 -0
  14. statemachine_engine/core/engine.py +569 -0
  15. statemachine_engine/core/health_monitor.py +236 -0
  16. statemachine_engine/database/__init__.py +13 -0
  17. statemachine_engine/database/cli.py +1392 -0
  18. statemachine_engine/database/models/__init__.py +47 -0
  19. statemachine_engine/database/models/base.py +50 -0
  20. statemachine_engine/database/models/job.py +300 -0
  21. statemachine_engine/database/models/machine_event.py +73 -0
  22. statemachine_engine/database/models/machine_state.py +71 -0
  23. statemachine_engine/database/models/realtime_event.py +73 -0
  24. statemachine_engine/database/schema/generic/001_jobs.sql +53 -0
  25. statemachine_engine/database/schema/generic/002_machine_events.sql +49 -0
  26. statemachine_engine/database/schema/generic/003_machine_state.sql +41 -0
  27. statemachine_engine/database/schema/generic/004_realtime_events.sql +41 -0
  28. statemachine_engine/monitoring/__init__.py +0 -0
  29. statemachine_engine/monitoring/websocket_server.py +249 -0
  30. statemachine_engine/tools/__init__.py +0 -0
  31. statemachine_engine/tools/cli.py +105 -0
  32. statemachine_engine/tools/config.py +85 -0
  33. statemachine_engine/tools/diagrams.py +919 -0
  34. statemachine_engine/ui/node_modules/.package-lock.json +2295 -0
  35. statemachine_engine/ui/node_modules/@gar/promisify/index.js +36 -0
  36. statemachine_engine/ui/node_modules/@gar/promisify/package.json +32 -0
  37. statemachine_engine/ui/node_modules/@npmcli/fs/lib/common/file-url-to-path/index.js +17 -0
  38. statemachine_engine/ui/node_modules/@npmcli/fs/lib/common/file-url-to-path/polyfill.js +121 -0
  39. statemachine_engine/ui/node_modules/@npmcli/fs/lib/common/get-options.js +20 -0
  40. statemachine_engine/ui/node_modules/@npmcli/fs/lib/common/node.js +9 -0
  41. statemachine_engine/ui/node_modules/@npmcli/fs/lib/common/owner.js +92 -0
  42. statemachine_engine/ui/node_modules/@npmcli/fs/lib/copy-file.js +22 -0
  43. statemachine_engine/ui/node_modules/@npmcli/fs/lib/cp/index.js +22 -0
  44. statemachine_engine/ui/node_modules/@npmcli/fs/lib/cp/polyfill.js +428 -0
  45. statemachine_engine/ui/node_modules/@npmcli/fs/lib/errors.js +129 -0
  46. statemachine_engine/ui/node_modules/@npmcli/fs/lib/fs.js +8 -0
  47. statemachine_engine/ui/node_modules/@npmcli/fs/lib/index.js +10 -0
  48. statemachine_engine/ui/node_modules/@npmcli/fs/lib/mkdir/index.js +32 -0
  49. statemachine_engine/ui/node_modules/@npmcli/fs/lib/mkdir/polyfill.js +81 -0
  50. statemachine_engine/ui/node_modules/@npmcli/fs/lib/mkdtemp.js +28 -0
  51. statemachine_engine/ui/node_modules/@npmcli/fs/lib/rm/index.js +22 -0
  52. statemachine_engine/ui/node_modules/@npmcli/fs/lib/rm/polyfill.js +239 -0
  53. statemachine_engine/ui/node_modules/@npmcli/fs/lib/with-temp-dir.js +39 -0
  54. statemachine_engine/ui/node_modules/@npmcli/fs/lib/write-file.js +19 -0
  55. statemachine_engine/ui/node_modules/@npmcli/fs/package.json +38 -0
  56. statemachine_engine/ui/node_modules/@npmcli/move-file/index.js +162 -0
  57. statemachine_engine/ui/node_modules/@npmcli/move-file/package.json +34 -0
  58. statemachine_engine/ui/node_modules/@tootallnate/once/dist/index.js +39 -0
  59. statemachine_engine/ui/node_modules/@tootallnate/once/package.json +45 -0
  60. statemachine_engine/ui/node_modules/abbrev/abbrev.js +61 -0
  61. statemachine_engine/ui/node_modules/abbrev/package.json +21 -0
  62. statemachine_engine/ui/node_modules/accepts/index.js +238 -0
  63. statemachine_engine/ui/node_modules/accepts/package.json +47 -0
  64. statemachine_engine/ui/node_modules/agent-base/dist/src/index.js +203 -0
  65. statemachine_engine/ui/node_modules/agent-base/dist/src/promisify.js +18 -0
  66. statemachine_engine/ui/node_modules/agent-base/node_modules/debug/package.json +64 -0
  67. statemachine_engine/ui/node_modules/agent-base/node_modules/debug/src/browser.js +272 -0
  68. statemachine_engine/ui/node_modules/agent-base/node_modules/debug/src/common.js +292 -0
  69. statemachine_engine/ui/node_modules/agent-base/node_modules/debug/src/index.js +10 -0
  70. statemachine_engine/ui/node_modules/agent-base/node_modules/debug/src/node.js +263 -0
  71. statemachine_engine/ui/node_modules/agent-base/node_modules/ms/index.js +162 -0
  72. statemachine_engine/ui/node_modules/agent-base/node_modules/ms/package.json +38 -0
  73. statemachine_engine/ui/node_modules/agent-base/package.json +64 -0
  74. statemachine_engine/ui/node_modules/agentkeepalive/browser.js +5 -0
  75. statemachine_engine/ui/node_modules/agentkeepalive/index.js +7 -0
  76. statemachine_engine/ui/node_modules/agentkeepalive/lib/agent.js +402 -0
  77. statemachine_engine/ui/node_modules/agentkeepalive/lib/constants.js +14 -0
  78. statemachine_engine/ui/node_modules/agentkeepalive/lib/https_agent.js +51 -0
  79. statemachine_engine/ui/node_modules/agentkeepalive/package.json +56 -0
  80. statemachine_engine/ui/node_modules/aggregate-error/index.js +47 -0
  81. statemachine_engine/ui/node_modules/aggregate-error/package.json +41 -0
  82. statemachine_engine/ui/node_modules/ansi-regex/index.js +10 -0
  83. statemachine_engine/ui/node_modules/ansi-regex/package.json +55 -0
  84. statemachine_engine/ui/node_modules/aproba/index.js +105 -0
  85. statemachine_engine/ui/node_modules/aproba/package.json +35 -0
  86. statemachine_engine/ui/node_modules/are-we-there-yet/lib/index.js +4 -0
  87. statemachine_engine/ui/node_modules/are-we-there-yet/lib/tracker-base.js +11 -0
  88. statemachine_engine/ui/node_modules/are-we-there-yet/lib/tracker-group.js +116 -0
  89. statemachine_engine/ui/node_modules/are-we-there-yet/lib/tracker-stream.js +36 -0
  90. statemachine_engine/ui/node_modules/are-we-there-yet/lib/tracker.js +32 -0
  91. statemachine_engine/ui/node_modules/are-we-there-yet/package.json +56 -0
  92. statemachine_engine/ui/node_modules/array-flatten/array-flatten.js +64 -0
  93. statemachine_engine/ui/node_modules/array-flatten/package.json +39 -0
  94. statemachine_engine/ui/node_modules/balanced-match/index.js +62 -0
  95. statemachine_engine/ui/node_modules/balanced-match/package.json +48 -0
  96. statemachine_engine/ui/node_modules/base64-js/base64js.min.js +1 -0
  97. statemachine_engine/ui/node_modules/base64-js/index.js +150 -0
  98. statemachine_engine/ui/node_modules/base64-js/package.json +47 -0
  99. statemachine_engine/ui/node_modules/bindings/bindings.js +221 -0
  100. statemachine_engine/ui/node_modules/bindings/package.json +28 -0
  101. statemachine_engine/ui/node_modules/bl/BufferList.js +396 -0
  102. statemachine_engine/ui/node_modules/bl/bl.js +84 -0
  103. statemachine_engine/ui/node_modules/bl/package.json +37 -0
  104. statemachine_engine/ui/node_modules/bl/test/convert.js +21 -0
  105. statemachine_engine/ui/node_modules/bl/test/indexOf.js +492 -0
  106. statemachine_engine/ui/node_modules/bl/test/isBufferList.js +32 -0
  107. statemachine_engine/ui/node_modules/bl/test/test.js +869 -0
  108. statemachine_engine/ui/node_modules/body-parser/index.js +156 -0
  109. statemachine_engine/ui/node_modules/body-parser/lib/read.js +205 -0
  110. statemachine_engine/ui/node_modules/body-parser/lib/types/json.js +247 -0
  111. statemachine_engine/ui/node_modules/body-parser/lib/types/raw.js +101 -0
  112. statemachine_engine/ui/node_modules/body-parser/lib/types/text.js +121 -0
  113. statemachine_engine/ui/node_modules/body-parser/lib/types/urlencoded.js +307 -0
  114. statemachine_engine/ui/node_modules/body-parser/package.json +56 -0
  115. statemachine_engine/ui/node_modules/brace-expansion/index.js +201 -0
  116. statemachine_engine/ui/node_modules/brace-expansion/package.json +50 -0
  117. statemachine_engine/ui/node_modules/buffer/index.js +1817 -0
  118. statemachine_engine/ui/node_modules/buffer/package.json +96 -0
  119. statemachine_engine/ui/node_modules/bytes/index.js +170 -0
  120. statemachine_engine/ui/node_modules/bytes/package.json +42 -0
  121. statemachine_engine/ui/node_modules/cacache/get.js +237 -0
  122. statemachine_engine/ui/node_modules/cacache/index.js +46 -0
  123. statemachine_engine/ui/node_modules/cacache/lib/content/path.js +29 -0
  124. statemachine_engine/ui/node_modules/cacache/lib/content/read.js +244 -0
  125. statemachine_engine/ui/node_modules/cacache/lib/content/rm.js +19 -0
  126. statemachine_engine/ui/node_modules/cacache/lib/content/write.js +189 -0
  127. statemachine_engine/ui/node_modules/cacache/lib/entry-index.js +394 -0
  128. statemachine_engine/ui/node_modules/cacache/lib/memoization.js +73 -0
  129. statemachine_engine/ui/node_modules/cacache/lib/util/disposer.js +30 -0
  130. statemachine_engine/ui/node_modules/cacache/lib/util/fix-owner.js +142 -0
  131. statemachine_engine/ui/node_modules/cacache/lib/util/hash-to-segments.js +7 -0
  132. statemachine_engine/ui/node_modules/cacache/lib/util/move-file.js +67 -0
  133. statemachine_engine/ui/node_modules/cacache/lib/util/tmp.js +35 -0
  134. statemachine_engine/ui/node_modules/cacache/lib/verify.js +287 -0
  135. statemachine_engine/ui/node_modules/cacache/ls.js +6 -0
  136. statemachine_engine/ui/node_modules/cacache/package.json +80 -0
  137. statemachine_engine/ui/node_modules/cacache/put.js +83 -0
  138. statemachine_engine/ui/node_modules/cacache/rm.js +31 -0
  139. statemachine_engine/ui/node_modules/cacache/verify.js +3 -0
  140. statemachine_engine/ui/node_modules/call-bind-apply-helpers/actualApply.js +10 -0
  141. statemachine_engine/ui/node_modules/call-bind-apply-helpers/applyBind.js +10 -0
  142. statemachine_engine/ui/node_modules/call-bind-apply-helpers/functionApply.js +4 -0
  143. statemachine_engine/ui/node_modules/call-bind-apply-helpers/functionCall.js +4 -0
  144. statemachine_engine/ui/node_modules/call-bind-apply-helpers/index.js +15 -0
  145. statemachine_engine/ui/node_modules/call-bind-apply-helpers/package.json +85 -0
  146. statemachine_engine/ui/node_modules/call-bind-apply-helpers/reflectApply.js +4 -0
  147. statemachine_engine/ui/node_modules/call-bind-apply-helpers/test/index.js +63 -0
  148. statemachine_engine/ui/node_modules/call-bind-apply-helpers/tsconfig.json +9 -0
  149. statemachine_engine/ui/node_modules/call-bound/index.js +19 -0
  150. statemachine_engine/ui/node_modules/call-bound/package.json +99 -0
  151. statemachine_engine/ui/node_modules/call-bound/test/index.js +61 -0
  152. statemachine_engine/ui/node_modules/call-bound/tsconfig.json +10 -0
  153. statemachine_engine/ui/node_modules/chownr/chownr.js +167 -0
  154. statemachine_engine/ui/node_modules/chownr/package.json +32 -0
  155. statemachine_engine/ui/node_modules/clean-stack/index.js +40 -0
  156. statemachine_engine/ui/node_modules/clean-stack/package.json +39 -0
  157. statemachine_engine/ui/node_modules/color-support/bin.js +3 -0
  158. statemachine_engine/ui/node_modules/color-support/browser.js +14 -0
  159. statemachine_engine/ui/node_modules/color-support/index.js +134 -0
  160. statemachine_engine/ui/node_modules/color-support/package.json +36 -0
  161. statemachine_engine/ui/node_modules/concat-map/example/map.js +6 -0
  162. statemachine_engine/ui/node_modules/concat-map/index.js +13 -0
  163. statemachine_engine/ui/node_modules/concat-map/package.json +43 -0
  164. statemachine_engine/ui/node_modules/concat-map/test/map.js +39 -0
  165. statemachine_engine/ui/node_modules/console-control-strings/index.js +125 -0
  166. statemachine_engine/ui/node_modules/console-control-strings/package.json +27 -0
  167. statemachine_engine/ui/node_modules/content-disposition/index.js +458 -0
  168. statemachine_engine/ui/node_modules/content-disposition/package.json +44 -0
  169. statemachine_engine/ui/node_modules/content-type/index.js +225 -0
  170. statemachine_engine/ui/node_modules/content-type/package.json +42 -0
  171. statemachine_engine/ui/node_modules/cookie/index.js +334 -0
  172. statemachine_engine/ui/node_modules/cookie/package.json +44 -0
  173. statemachine_engine/ui/node_modules/cookie-signature/index.js +51 -0
  174. statemachine_engine/ui/node_modules/cookie-signature/package.json +18 -0
  175. statemachine_engine/ui/node_modules/debug/component.json +19 -0
  176. statemachine_engine/ui/node_modules/debug/karma.conf.js +70 -0
  177. statemachine_engine/ui/node_modules/debug/node.js +1 -0
  178. statemachine_engine/ui/node_modules/debug/package.json +49 -0
  179. statemachine_engine/ui/node_modules/debug/src/browser.js +185 -0
  180. statemachine_engine/ui/node_modules/debug/src/debug.js +202 -0
  181. statemachine_engine/ui/node_modules/debug/src/index.js +10 -0
  182. statemachine_engine/ui/node_modules/debug/src/inspector-log.js +15 -0
  183. statemachine_engine/ui/node_modules/debug/src/node.js +248 -0
  184. statemachine_engine/ui/node_modules/decompress-response/index.js +58 -0
  185. statemachine_engine/ui/node_modules/decompress-response/package.json +56 -0
  186. statemachine_engine/ui/node_modules/deep-extend/index.js +1 -0
  187. statemachine_engine/ui/node_modules/deep-extend/lib/deep-extend.js +150 -0
  188. statemachine_engine/ui/node_modules/deep-extend/package.json +62 -0
  189. statemachine_engine/ui/node_modules/delegates/index.js +121 -0
  190. statemachine_engine/ui/node_modules/delegates/package.json +13 -0
  191. statemachine_engine/ui/node_modules/delegates/test/index.js +94 -0
  192. statemachine_engine/ui/node_modules/depd/index.js +538 -0
  193. statemachine_engine/ui/node_modules/depd/lib/browser/index.js +77 -0
  194. statemachine_engine/ui/node_modules/depd/package.json +45 -0
  195. statemachine_engine/ui/node_modules/destroy/index.js +209 -0
  196. statemachine_engine/ui/node_modules/destroy/package.json +48 -0
  197. statemachine_engine/ui/node_modules/detect-libc/lib/detect-libc.js +313 -0
  198. statemachine_engine/ui/node_modules/detect-libc/lib/elf.js +39 -0
  199. statemachine_engine/ui/node_modules/detect-libc/lib/filesystem.js +51 -0
  200. statemachine_engine/ui/node_modules/detect-libc/lib/process.js +24 -0
  201. statemachine_engine/ui/node_modules/detect-libc/package.json +42 -0
  202. statemachine_engine/ui/node_modules/dunder-proto/get.js +30 -0
  203. statemachine_engine/ui/node_modules/dunder-proto/package.json +76 -0
  204. statemachine_engine/ui/node_modules/dunder-proto/set.js +35 -0
  205. statemachine_engine/ui/node_modules/dunder-proto/test/get.js +34 -0
  206. statemachine_engine/ui/node_modules/dunder-proto/test/index.js +4 -0
  207. statemachine_engine/ui/node_modules/dunder-proto/test/set.js +50 -0
  208. statemachine_engine/ui/node_modules/dunder-proto/tsconfig.json +9 -0
  209. statemachine_engine/ui/node_modules/ee-first/index.js +95 -0
  210. statemachine_engine/ui/node_modules/ee-first/package.json +29 -0
  211. statemachine_engine/ui/node_modules/emoji-regex/es2015/index.js +6 -0
  212. statemachine_engine/ui/node_modules/emoji-regex/es2015/text.js +6 -0
  213. statemachine_engine/ui/node_modules/emoji-regex/index.js +6 -0
  214. statemachine_engine/ui/node_modules/emoji-regex/package.json +50 -0
  215. statemachine_engine/ui/node_modules/emoji-regex/text.js +6 -0
  216. statemachine_engine/ui/node_modules/encodeurl/index.js +60 -0
  217. statemachine_engine/ui/node_modules/encodeurl/package.json +40 -0
  218. statemachine_engine/ui/node_modules/encoding/.prettierrc.js +8 -0
  219. statemachine_engine/ui/node_modules/encoding/lib/encoding.js +83 -0
  220. statemachine_engine/ui/node_modules/encoding/node_modules/iconv-lite/encodings/dbcs-codec.js +597 -0
  221. statemachine_engine/ui/node_modules/encoding/node_modules/iconv-lite/encodings/dbcs-data.js +188 -0
  222. statemachine_engine/ui/node_modules/encoding/node_modules/iconv-lite/encodings/index.js +23 -0
  223. statemachine_engine/ui/node_modules/encoding/node_modules/iconv-lite/encodings/internal.js +198 -0
  224. statemachine_engine/ui/node_modules/encoding/node_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
  225. statemachine_engine/ui/node_modules/encoding/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  226. statemachine_engine/ui/node_modules/encoding/node_modules/iconv-lite/encodings/sbcs-data.js +179 -0
  227. statemachine_engine/ui/node_modules/encoding/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  228. statemachine_engine/ui/node_modules/encoding/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  229. statemachine_engine/ui/node_modules/encoding/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  230. statemachine_engine/ui/node_modules/encoding/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  231. statemachine_engine/ui/node_modules/encoding/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  232. statemachine_engine/ui/node_modules/encoding/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  233. statemachine_engine/ui/node_modules/encoding/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
  234. statemachine_engine/ui/node_modules/encoding/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  235. statemachine_engine/ui/node_modules/encoding/node_modules/iconv-lite/encodings/utf16.js +197 -0
  236. statemachine_engine/ui/node_modules/encoding/node_modules/iconv-lite/encodings/utf32.js +319 -0
  237. statemachine_engine/ui/node_modules/encoding/node_modules/iconv-lite/encodings/utf7.js +290 -0
  238. statemachine_engine/ui/node_modules/encoding/node_modules/iconv-lite/lib/bom-handling.js +52 -0
  239. statemachine_engine/ui/node_modules/encoding/node_modules/iconv-lite/lib/index.js +180 -0
  240. statemachine_engine/ui/node_modules/encoding/node_modules/iconv-lite/lib/streams.js +109 -0
  241. statemachine_engine/ui/node_modules/encoding/node_modules/iconv-lite/package.json +44 -0
  242. statemachine_engine/ui/node_modules/encoding/package.json +18 -0
  243. statemachine_engine/ui/node_modules/encoding/test/test.js +49 -0
  244. statemachine_engine/ui/node_modules/end-of-stream/index.js +96 -0
  245. statemachine_engine/ui/node_modules/end-of-stream/package.json +37 -0
  246. statemachine_engine/ui/node_modules/env-paths/index.js +74 -0
  247. statemachine_engine/ui/node_modules/env-paths/package.json +45 -0
  248. statemachine_engine/ui/node_modules/err-code/.eslintrc.json +7 -0
  249. statemachine_engine/ui/node_modules/err-code/bower.json +30 -0
  250. statemachine_engine/ui/node_modules/err-code/index.js +47 -0
  251. statemachine_engine/ui/node_modules/err-code/index.umd.js +51 -0
  252. statemachine_engine/ui/node_modules/err-code/package.json +34 -0
  253. statemachine_engine/ui/node_modules/err-code/test/.eslintrc.json +5 -0
  254. statemachine_engine/ui/node_modules/err-code/test/test.js +159 -0
  255. statemachine_engine/ui/node_modules/es-define-property/index.js +14 -0
  256. statemachine_engine/ui/node_modules/es-define-property/package.json +81 -0
  257. statemachine_engine/ui/node_modules/es-define-property/test/index.js +56 -0
  258. statemachine_engine/ui/node_modules/es-define-property/tsconfig.json +10 -0
  259. statemachine_engine/ui/node_modules/es-errors/eval.js +4 -0
  260. statemachine_engine/ui/node_modules/es-errors/index.js +4 -0
  261. statemachine_engine/ui/node_modules/es-errors/package.json +80 -0
  262. statemachine_engine/ui/node_modules/es-errors/range.js +4 -0
  263. statemachine_engine/ui/node_modules/es-errors/ref.js +4 -0
  264. statemachine_engine/ui/node_modules/es-errors/syntax.js +4 -0
  265. statemachine_engine/ui/node_modules/es-errors/test/index.js +19 -0
  266. statemachine_engine/ui/node_modules/es-errors/tsconfig.json +49 -0
  267. statemachine_engine/ui/node_modules/es-errors/type.js +4 -0
  268. statemachine_engine/ui/node_modules/es-errors/uri.js +4 -0
  269. statemachine_engine/ui/node_modules/es-object-atoms/RequireObjectCoercible.js +11 -0
  270. statemachine_engine/ui/node_modules/es-object-atoms/ToObject.js +10 -0
  271. statemachine_engine/ui/node_modules/es-object-atoms/index.js +4 -0
  272. statemachine_engine/ui/node_modules/es-object-atoms/isObject.js +6 -0
  273. statemachine_engine/ui/node_modules/es-object-atoms/package.json +80 -0
  274. statemachine_engine/ui/node_modules/es-object-atoms/test/index.js +38 -0
  275. statemachine_engine/ui/node_modules/es-object-atoms/tsconfig.json +6 -0
  276. statemachine_engine/ui/node_modules/escape-html/index.js +78 -0
  277. statemachine_engine/ui/node_modules/escape-html/package.json +24 -0
  278. statemachine_engine/ui/node_modules/etag/index.js +131 -0
  279. statemachine_engine/ui/node_modules/etag/package.json +47 -0
  280. statemachine_engine/ui/node_modules/expand-template/index.js +26 -0
  281. statemachine_engine/ui/node_modules/expand-template/package.json +29 -0
  282. statemachine_engine/ui/node_modules/expand-template/test.js +67 -0
  283. statemachine_engine/ui/node_modules/express/index.js +11 -0
  284. statemachine_engine/ui/node_modules/express/lib/application.js +661 -0
  285. statemachine_engine/ui/node_modules/express/lib/express.js +116 -0
  286. statemachine_engine/ui/node_modules/express/lib/middleware/init.js +43 -0
  287. statemachine_engine/ui/node_modules/express/lib/middleware/query.js +47 -0
  288. statemachine_engine/ui/node_modules/express/lib/request.js +525 -0
  289. statemachine_engine/ui/node_modules/express/lib/response.js +1179 -0
  290. statemachine_engine/ui/node_modules/express/lib/router/index.js +673 -0
  291. statemachine_engine/ui/node_modules/express/lib/router/layer.js +181 -0
  292. statemachine_engine/ui/node_modules/express/lib/router/route.js +230 -0
  293. statemachine_engine/ui/node_modules/express/lib/utils.js +303 -0
  294. statemachine_engine/ui/node_modules/express/lib/view.js +182 -0
  295. statemachine_engine/ui/node_modules/express/package.json +102 -0
  296. statemachine_engine/ui/node_modules/file-uri-to-path/index.js +66 -0
  297. statemachine_engine/ui/node_modules/file-uri-to-path/package.json +32 -0
  298. statemachine_engine/ui/node_modules/file-uri-to-path/test/test.js +24 -0
  299. statemachine_engine/ui/node_modules/file-uri-to-path/test/tests.json +13 -0
  300. statemachine_engine/ui/node_modules/finalhandler/index.js +341 -0
  301. statemachine_engine/ui/node_modules/finalhandler/package.json +47 -0
  302. statemachine_engine/ui/node_modules/forwarded/index.js +90 -0
  303. statemachine_engine/ui/node_modules/forwarded/package.json +45 -0
  304. statemachine_engine/ui/node_modules/fresh/index.js +137 -0
  305. statemachine_engine/ui/node_modules/fresh/package.json +46 -0
  306. statemachine_engine/ui/node_modules/fs-constants/browser.js +1 -0
  307. statemachine_engine/ui/node_modules/fs-constants/index.js +1 -0
  308. statemachine_engine/ui/node_modules/fs-constants/package.json +19 -0
  309. statemachine_engine/ui/node_modules/fs-minipass/index.js +422 -0
  310. statemachine_engine/ui/node_modules/fs-minipass/package.json +39 -0
  311. statemachine_engine/ui/node_modules/fs.realpath/index.js +66 -0
  312. statemachine_engine/ui/node_modules/fs.realpath/old.js +303 -0
  313. statemachine_engine/ui/node_modules/fs.realpath/package.json +26 -0
  314. statemachine_engine/ui/node_modules/function-bind/implementation.js +84 -0
  315. statemachine_engine/ui/node_modules/function-bind/index.js +5 -0
  316. statemachine_engine/ui/node_modules/function-bind/package.json +87 -0
  317. statemachine_engine/ui/node_modules/function-bind/test/index.js +252 -0
  318. statemachine_engine/ui/node_modules/gauge/lib/base-theme.js +18 -0
  319. statemachine_engine/ui/node_modules/gauge/lib/error.js +24 -0
  320. statemachine_engine/ui/node_modules/gauge/lib/has-color.js +4 -0
  321. statemachine_engine/ui/node_modules/gauge/lib/index.js +289 -0
  322. statemachine_engine/ui/node_modules/gauge/lib/plumbing.js +50 -0
  323. statemachine_engine/ui/node_modules/gauge/lib/process.js +3 -0
  324. statemachine_engine/ui/node_modules/gauge/lib/progress-bar.js +41 -0
  325. statemachine_engine/ui/node_modules/gauge/lib/render-template.js +222 -0
  326. statemachine_engine/ui/node_modules/gauge/lib/set-immediate.js +7 -0
  327. statemachine_engine/ui/node_modules/gauge/lib/set-interval.js +3 -0
  328. statemachine_engine/ui/node_modules/gauge/lib/spin.js +5 -0
  329. statemachine_engine/ui/node_modules/gauge/lib/template-item.js +87 -0
  330. statemachine_engine/ui/node_modules/gauge/lib/theme-set.js +122 -0
  331. statemachine_engine/ui/node_modules/gauge/lib/themes.js +56 -0
  332. statemachine_engine/ui/node_modules/gauge/lib/wide-truncate.js +31 -0
  333. statemachine_engine/ui/node_modules/gauge/package.json +66 -0
  334. statemachine_engine/ui/node_modules/get-intrinsic/index.js +378 -0
  335. statemachine_engine/ui/node_modules/get-intrinsic/package.json +97 -0
  336. statemachine_engine/ui/node_modules/get-intrinsic/test/GetIntrinsic.js +274 -0
  337. statemachine_engine/ui/node_modules/get-proto/Object.getPrototypeOf.js +6 -0
  338. statemachine_engine/ui/node_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
  339. statemachine_engine/ui/node_modules/get-proto/index.js +27 -0
  340. statemachine_engine/ui/node_modules/get-proto/package.json +81 -0
  341. statemachine_engine/ui/node_modules/get-proto/test/index.js +68 -0
  342. statemachine_engine/ui/node_modules/get-proto/tsconfig.json +9 -0
  343. statemachine_engine/ui/node_modules/github-from-package/example/package.json +8 -0
  344. statemachine_engine/ui/node_modules/github-from-package/example/url.js +3 -0
  345. statemachine_engine/ui/node_modules/github-from-package/index.js +17 -0
  346. statemachine_engine/ui/node_modules/github-from-package/package.json +30 -0
  347. statemachine_engine/ui/node_modules/github-from-package/test/a.json +8 -0
  348. statemachine_engine/ui/node_modules/github-from-package/test/b.json +5 -0
  349. statemachine_engine/ui/node_modules/github-from-package/test/c.json +5 -0
  350. statemachine_engine/ui/node_modules/github-from-package/test/d.json +7 -0
  351. statemachine_engine/ui/node_modules/github-from-package/test/e.json +5 -0
  352. statemachine_engine/ui/node_modules/github-from-package/test/url.js +19 -0
  353. statemachine_engine/ui/node_modules/glob/common.js +238 -0
  354. statemachine_engine/ui/node_modules/glob/glob.js +790 -0
  355. statemachine_engine/ui/node_modules/glob/package.json +55 -0
  356. statemachine_engine/ui/node_modules/glob/sync.js +486 -0
  357. statemachine_engine/ui/node_modules/gopd/gOPD.js +4 -0
  358. statemachine_engine/ui/node_modules/gopd/index.js +15 -0
  359. statemachine_engine/ui/node_modules/gopd/package.json +77 -0
  360. statemachine_engine/ui/node_modules/gopd/test/index.js +36 -0
  361. statemachine_engine/ui/node_modules/gopd/tsconfig.json +9 -0
  362. statemachine_engine/ui/node_modules/graceful-fs/clone.js +23 -0
  363. statemachine_engine/ui/node_modules/graceful-fs/graceful-fs.js +448 -0
  364. statemachine_engine/ui/node_modules/graceful-fs/legacy-streams.js +118 -0
  365. statemachine_engine/ui/node_modules/graceful-fs/package.json +53 -0
  366. statemachine_engine/ui/node_modules/graceful-fs/polyfills.js +355 -0
  367. statemachine_engine/ui/node_modules/has-symbols/index.js +14 -0
  368. statemachine_engine/ui/node_modules/has-symbols/package.json +111 -0
  369. statemachine_engine/ui/node_modules/has-symbols/shams.js +45 -0
  370. statemachine_engine/ui/node_modules/has-symbols/test/index.js +22 -0
  371. statemachine_engine/ui/node_modules/has-symbols/test/shams/core-js.js +29 -0
  372. statemachine_engine/ui/node_modules/has-symbols/test/shams/get-own-property-symbols.js +29 -0
  373. statemachine_engine/ui/node_modules/has-symbols/test/tests.js +58 -0
  374. statemachine_engine/ui/node_modules/has-symbols/tsconfig.json +10 -0
  375. statemachine_engine/ui/node_modules/has-unicode/index.js +16 -0
  376. statemachine_engine/ui/node_modules/has-unicode/package.json +30 -0
  377. statemachine_engine/ui/node_modules/hasown/index.js +8 -0
  378. statemachine_engine/ui/node_modules/hasown/package.json +92 -0
  379. statemachine_engine/ui/node_modules/hasown/tsconfig.json +6 -0
  380. statemachine_engine/ui/node_modules/http-cache-semantics/index.js +928 -0
  381. statemachine_engine/ui/node_modules/http-cache-semantics/package.json +22 -0
  382. statemachine_engine/ui/node_modules/http-errors/index.js +289 -0
  383. statemachine_engine/ui/node_modules/http-errors/package.json +50 -0
  384. statemachine_engine/ui/node_modules/http-proxy-agent/dist/agent.js +145 -0
  385. statemachine_engine/ui/node_modules/http-proxy-agent/dist/index.js +14 -0
  386. statemachine_engine/ui/node_modules/http-proxy-agent/node_modules/debug/package.json +64 -0
  387. statemachine_engine/ui/node_modules/http-proxy-agent/node_modules/debug/src/browser.js +272 -0
  388. statemachine_engine/ui/node_modules/http-proxy-agent/node_modules/debug/src/common.js +292 -0
  389. statemachine_engine/ui/node_modules/http-proxy-agent/node_modules/debug/src/index.js +10 -0
  390. statemachine_engine/ui/node_modules/http-proxy-agent/node_modules/debug/src/node.js +263 -0
  391. statemachine_engine/ui/node_modules/http-proxy-agent/node_modules/ms/index.js +162 -0
  392. statemachine_engine/ui/node_modules/http-proxy-agent/node_modules/ms/package.json +38 -0
  393. statemachine_engine/ui/node_modules/http-proxy-agent/package.json +57 -0
  394. statemachine_engine/ui/node_modules/https-proxy-agent/dist/agent.js +177 -0
  395. statemachine_engine/ui/node_modules/https-proxy-agent/dist/index.js +14 -0
  396. statemachine_engine/ui/node_modules/https-proxy-agent/dist/parse-proxy-response.js +66 -0
  397. statemachine_engine/ui/node_modules/https-proxy-agent/node_modules/debug/package.json +64 -0
  398. statemachine_engine/ui/node_modules/https-proxy-agent/node_modules/debug/src/browser.js +272 -0
  399. statemachine_engine/ui/node_modules/https-proxy-agent/node_modules/debug/src/common.js +292 -0
  400. statemachine_engine/ui/node_modules/https-proxy-agent/node_modules/debug/src/index.js +10 -0
  401. statemachine_engine/ui/node_modules/https-proxy-agent/node_modules/debug/src/node.js +263 -0
  402. statemachine_engine/ui/node_modules/https-proxy-agent/node_modules/ms/index.js +162 -0
  403. statemachine_engine/ui/node_modules/https-proxy-agent/node_modules/ms/package.json +38 -0
  404. statemachine_engine/ui/node_modules/https-proxy-agent/package.json +56 -0
  405. statemachine_engine/ui/node_modules/humanize-ms/index.js +24 -0
  406. statemachine_engine/ui/node_modules/humanize-ms/package.json +37 -0
  407. statemachine_engine/ui/node_modules/iconv-lite/encodings/dbcs-codec.js +555 -0
  408. statemachine_engine/ui/node_modules/iconv-lite/encodings/dbcs-data.js +176 -0
  409. statemachine_engine/ui/node_modules/iconv-lite/encodings/index.js +22 -0
  410. statemachine_engine/ui/node_modules/iconv-lite/encodings/internal.js +188 -0
  411. statemachine_engine/ui/node_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
  412. statemachine_engine/ui/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  413. statemachine_engine/ui/node_modules/iconv-lite/encodings/sbcs-data.js +174 -0
  414. statemachine_engine/ui/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  415. statemachine_engine/ui/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  416. statemachine_engine/ui/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  417. statemachine_engine/ui/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  418. statemachine_engine/ui/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  419. statemachine_engine/ui/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  420. statemachine_engine/ui/node_modules/iconv-lite/encodings/tables/gbk-added.json +55 -0
  421. statemachine_engine/ui/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  422. statemachine_engine/ui/node_modules/iconv-lite/encodings/utf16.js +177 -0
  423. statemachine_engine/ui/node_modules/iconv-lite/encodings/utf7.js +290 -0
  424. statemachine_engine/ui/node_modules/iconv-lite/lib/bom-handling.js +52 -0
  425. statemachine_engine/ui/node_modules/iconv-lite/lib/extend-node.js +217 -0
  426. statemachine_engine/ui/node_modules/iconv-lite/lib/index.js +153 -0
  427. statemachine_engine/ui/node_modules/iconv-lite/lib/streams.js +121 -0
  428. statemachine_engine/ui/node_modules/iconv-lite/package.json +46 -0
  429. statemachine_engine/ui/node_modules/ieee754/index.js +85 -0
  430. statemachine_engine/ui/node_modules/ieee754/package.json +52 -0
  431. statemachine_engine/ui/node_modules/imurmurhash/imurmurhash.js +138 -0
  432. statemachine_engine/ui/node_modules/imurmurhash/imurmurhash.min.js +12 -0
  433. statemachine_engine/ui/node_modules/imurmurhash/package.json +40 -0
  434. statemachine_engine/ui/node_modules/indent-string/index.js +35 -0
  435. statemachine_engine/ui/node_modules/indent-string/package.json +37 -0
  436. statemachine_engine/ui/node_modules/infer-owner/index.js +71 -0
  437. statemachine_engine/ui/node_modules/infer-owner/package.json +26 -0
  438. statemachine_engine/ui/node_modules/inflight/inflight.js +54 -0
  439. statemachine_engine/ui/node_modules/inflight/package.json +29 -0
  440. statemachine_engine/ui/node_modules/inherits/inherits.js +9 -0
  441. statemachine_engine/ui/node_modules/inherits/inherits_browser.js +27 -0
  442. statemachine_engine/ui/node_modules/inherits/package.json +29 -0
  443. statemachine_engine/ui/node_modules/ini/ini.js +206 -0
  444. statemachine_engine/ui/node_modules/ini/package.json +33 -0
  445. statemachine_engine/ui/node_modules/ip-address/dist/address-error.js +12 -0
  446. statemachine_engine/ui/node_modules/ip-address/dist/common.js +46 -0
  447. statemachine_engine/ui/node_modules/ip-address/dist/ip-address.js +35 -0
  448. statemachine_engine/ui/node_modules/ip-address/dist/ipv4.js +327 -0
  449. statemachine_engine/ui/node_modules/ip-address/dist/ipv6.js +1003 -0
  450. statemachine_engine/ui/node_modules/ip-address/dist/v4/constants.js +8 -0
  451. statemachine_engine/ui/node_modules/ip-address/dist/v6/constants.js +76 -0
  452. statemachine_engine/ui/node_modules/ip-address/dist/v6/helpers.js +45 -0
  453. statemachine_engine/ui/node_modules/ip-address/dist/v6/regular-expressions.js +95 -0
  454. statemachine_engine/ui/node_modules/ip-address/package.json +78 -0
  455. statemachine_engine/ui/node_modules/ipaddr.js/ipaddr.min.js +1 -0
  456. statemachine_engine/ui/node_modules/ipaddr.js/lib/ipaddr.js +673 -0
  457. statemachine_engine/ui/node_modules/ipaddr.js/package.json +35 -0
  458. statemachine_engine/ui/node_modules/is-fullwidth-code-point/index.js +50 -0
  459. statemachine_engine/ui/node_modules/is-fullwidth-code-point/package.json +42 -0
  460. statemachine_engine/ui/node_modules/is-lambda/index.js +6 -0
  461. statemachine_engine/ui/node_modules/is-lambda/package.json +35 -0
  462. statemachine_engine/ui/node_modules/is-lambda/test.js +16 -0
  463. statemachine_engine/ui/node_modules/isexe/index.js +57 -0
  464. statemachine_engine/ui/node_modules/isexe/mode.js +41 -0
  465. statemachine_engine/ui/node_modules/isexe/package.json +31 -0
  466. statemachine_engine/ui/node_modules/isexe/test/basic.js +221 -0
  467. statemachine_engine/ui/node_modules/isexe/windows.js +42 -0
  468. statemachine_engine/ui/node_modules/lru-cache/index.js +334 -0
  469. statemachine_engine/ui/node_modules/lru-cache/package.json +34 -0
  470. statemachine_engine/ui/node_modules/make-fetch-happen/lib/agent.js +194 -0
  471. statemachine_engine/ui/node_modules/make-fetch-happen/lib/cache/entry.js +460 -0
  472. statemachine_engine/ui/node_modules/make-fetch-happen/lib/cache/errors.js +10 -0
  473. statemachine_engine/ui/node_modules/make-fetch-happen/lib/cache/index.js +45 -0
  474. statemachine_engine/ui/node_modules/make-fetch-happen/lib/cache/key.js +17 -0
  475. statemachine_engine/ui/node_modules/make-fetch-happen/lib/cache/policy.js +161 -0
  476. statemachine_engine/ui/node_modules/make-fetch-happen/lib/fetch.js +100 -0
  477. statemachine_engine/ui/node_modules/make-fetch-happen/lib/index.js +40 -0
  478. statemachine_engine/ui/node_modules/make-fetch-happen/lib/options.js +44 -0
  479. statemachine_engine/ui/node_modules/make-fetch-happen/lib/remote.js +102 -0
  480. statemachine_engine/ui/node_modules/make-fetch-happen/package.json +76 -0
  481. statemachine_engine/ui/node_modules/math-intrinsics/abs.js +4 -0
  482. statemachine_engine/ui/node_modules/math-intrinsics/constants/maxArrayLength.js +4 -0
  483. statemachine_engine/ui/node_modules/math-intrinsics/constants/maxSafeInteger.js +5 -0
  484. statemachine_engine/ui/node_modules/math-intrinsics/constants/maxValue.js +5 -0
  485. statemachine_engine/ui/node_modules/math-intrinsics/floor.js +4 -0
  486. statemachine_engine/ui/node_modules/math-intrinsics/isFinite.js +12 -0
  487. statemachine_engine/ui/node_modules/math-intrinsics/isInteger.js +16 -0
  488. statemachine_engine/ui/node_modules/math-intrinsics/isNaN.js +6 -0
  489. statemachine_engine/ui/node_modules/math-intrinsics/isNegativeZero.js +6 -0
  490. statemachine_engine/ui/node_modules/math-intrinsics/max.js +4 -0
  491. statemachine_engine/ui/node_modules/math-intrinsics/min.js +4 -0
  492. statemachine_engine/ui/node_modules/math-intrinsics/mod.js +9 -0
  493. statemachine_engine/ui/node_modules/math-intrinsics/package.json +86 -0
  494. statemachine_engine/ui/node_modules/math-intrinsics/pow.js +4 -0
  495. statemachine_engine/ui/node_modules/math-intrinsics/round.js +4 -0
  496. statemachine_engine/ui/node_modules/math-intrinsics/sign.js +11 -0
  497. statemachine_engine/ui/node_modules/math-intrinsics/test/index.js +192 -0
  498. statemachine_engine/ui/node_modules/math-intrinsics/tsconfig.json +3 -0
  499. statemachine_engine/ui/node_modules/media-typer/index.js +270 -0
  500. statemachine_engine/ui/node_modules/media-typer/package.json +26 -0
  501. statemachine_engine/ui/node_modules/merge-descriptors/index.js +60 -0
  502. statemachine_engine/ui/node_modules/merge-descriptors/package.json +39 -0
  503. statemachine_engine/ui/node_modules/methods/index.js +69 -0
  504. statemachine_engine/ui/node_modules/methods/package.json +36 -0
  505. statemachine_engine/ui/node_modules/mime/cli.js +8 -0
  506. statemachine_engine/ui/node_modules/mime/mime.js +108 -0
  507. statemachine_engine/ui/node_modules/mime/package.json +44 -0
  508. statemachine_engine/ui/node_modules/mime/src/build.js +53 -0
  509. statemachine_engine/ui/node_modules/mime/src/test.js +60 -0
  510. statemachine_engine/ui/node_modules/mime/types.json +1 -0
  511. statemachine_engine/ui/node_modules/mime-db/db.json +8519 -0
  512. statemachine_engine/ui/node_modules/mime-db/index.js +12 -0
  513. statemachine_engine/ui/node_modules/mime-db/package.json +60 -0
  514. statemachine_engine/ui/node_modules/mime-types/index.js +188 -0
  515. statemachine_engine/ui/node_modules/mime-types/package.json +44 -0
  516. statemachine_engine/ui/node_modules/mimic-response/index.js +77 -0
  517. statemachine_engine/ui/node_modules/mimic-response/package.json +42 -0
  518. statemachine_engine/ui/node_modules/minimatch/minimatch.js +947 -0
  519. statemachine_engine/ui/node_modules/minimatch/package.json +33 -0
  520. statemachine_engine/ui/node_modules/minimist/example/parse.js +4 -0
  521. statemachine_engine/ui/node_modules/minimist/index.js +263 -0
  522. statemachine_engine/ui/node_modules/minimist/package.json +75 -0
  523. statemachine_engine/ui/node_modules/minimist/test/all_bool.js +34 -0
  524. statemachine_engine/ui/node_modules/minimist/test/bool.js +177 -0
  525. statemachine_engine/ui/node_modules/minimist/test/dash.js +43 -0
  526. statemachine_engine/ui/node_modules/minimist/test/default_bool.js +37 -0
  527. statemachine_engine/ui/node_modules/minimist/test/dotted.js +24 -0
  528. statemachine_engine/ui/node_modules/minimist/test/kv_short.js +32 -0
  529. statemachine_engine/ui/node_modules/minimist/test/long.js +33 -0
  530. statemachine_engine/ui/node_modules/minimist/test/num.js +38 -0
  531. statemachine_engine/ui/node_modules/minimist/test/parse.js +209 -0
  532. statemachine_engine/ui/node_modules/minimist/test/parse_modified.js +11 -0
  533. statemachine_engine/ui/node_modules/minimist/test/proto.js +64 -0
  534. statemachine_engine/ui/node_modules/minimist/test/short.js +69 -0
  535. statemachine_engine/ui/node_modules/minimist/test/stop_early.js +17 -0
  536. statemachine_engine/ui/node_modules/minimist/test/unknown.js +104 -0
  537. statemachine_engine/ui/node_modules/minimist/test/whitespace.js +10 -0
  538. statemachine_engine/ui/node_modules/minipass/index.js +649 -0
  539. statemachine_engine/ui/node_modules/minipass/package.json +56 -0
  540. statemachine_engine/ui/node_modules/minipass-collect/index.js +71 -0
  541. statemachine_engine/ui/node_modules/minipass-collect/package.json +29 -0
  542. statemachine_engine/ui/node_modules/minipass-fetch/index.js +1 -0
  543. statemachine_engine/ui/node_modules/minipass-fetch/lib/abort-error.js +17 -0
  544. statemachine_engine/ui/node_modules/minipass-fetch/lib/blob.js +97 -0
  545. statemachine_engine/ui/node_modules/minipass-fetch/lib/body.js +334 -0
  546. statemachine_engine/ui/node_modules/minipass-fetch/lib/fetch-error.js +31 -0
  547. statemachine_engine/ui/node_modules/minipass-fetch/lib/headers.js +250 -0
  548. statemachine_engine/ui/node_modules/minipass-fetch/lib/index.js +341 -0
  549. statemachine_engine/ui/node_modules/minipass-fetch/lib/request.js +263 -0
  550. statemachine_engine/ui/node_modules/minipass-fetch/lib/response.js +89 -0
  551. statemachine_engine/ui/node_modules/minipass-fetch/package.json +53 -0
  552. statemachine_engine/ui/node_modules/minipass-flush/index.js +39 -0
  553. statemachine_engine/ui/node_modules/minipass-flush/package.json +39 -0
  554. statemachine_engine/ui/node_modules/minipass-pipeline/index.js +128 -0
  555. statemachine_engine/ui/node_modules/minipass-pipeline/package.json +29 -0
  556. statemachine_engine/ui/node_modules/minipass-sized/index.js +67 -0
  557. statemachine_engine/ui/node_modules/minipass-sized/package-lock.json +3464 -0
  558. statemachine_engine/ui/node_modules/minipass-sized/package.json +39 -0
  559. statemachine_engine/ui/node_modules/minipass-sized/test/basic.js +83 -0
  560. statemachine_engine/ui/node_modules/minizlib/constants.js +115 -0
  561. statemachine_engine/ui/node_modules/minizlib/index.js +348 -0
  562. statemachine_engine/ui/node_modules/minizlib/package.json +42 -0
  563. statemachine_engine/ui/node_modules/mkdirp/bin/cmd.js +68 -0
  564. statemachine_engine/ui/node_modules/mkdirp/index.js +31 -0
  565. statemachine_engine/ui/node_modules/mkdirp/lib/find-made.js +29 -0
  566. statemachine_engine/ui/node_modules/mkdirp/lib/mkdirp-manual.js +64 -0
  567. statemachine_engine/ui/node_modules/mkdirp/lib/mkdirp-native.js +39 -0
  568. statemachine_engine/ui/node_modules/mkdirp/lib/opts-arg.js +23 -0
  569. statemachine_engine/ui/node_modules/mkdirp/lib/path-arg.js +29 -0
  570. statemachine_engine/ui/node_modules/mkdirp/lib/use-native.js +10 -0
  571. statemachine_engine/ui/node_modules/mkdirp/package.json +44 -0
  572. statemachine_engine/ui/node_modules/mkdirp-classic/index.js +98 -0
  573. statemachine_engine/ui/node_modules/mkdirp-classic/package.json +18 -0
  574. statemachine_engine/ui/node_modules/ms/index.js +152 -0
  575. statemachine_engine/ui/node_modules/ms/package.json +37 -0
  576. statemachine_engine/ui/node_modules/napi-build-utils/index.js +214 -0
  577. statemachine_engine/ui/node_modules/napi-build-utils/package.json +42 -0
  578. statemachine_engine/ui/node_modules/negotiator/index.js +82 -0
  579. statemachine_engine/ui/node_modules/negotiator/lib/charset.js +169 -0
  580. statemachine_engine/ui/node_modules/negotiator/lib/encoding.js +184 -0
  581. statemachine_engine/ui/node_modules/negotiator/lib/language.js +179 -0
  582. statemachine_engine/ui/node_modules/negotiator/lib/mediaType.js +294 -0
  583. statemachine_engine/ui/node_modules/negotiator/package.json +42 -0
  584. statemachine_engine/ui/node_modules/node-abi/abi_registry.json +408 -0
  585. statemachine_engine/ui/node_modules/node-abi/index.js +179 -0
  586. statemachine_engine/ui/node_modules/node-abi/package.json +45 -0
  587. statemachine_engine/ui/node_modules/node-addon-api/index.js +12 -0
  588. statemachine_engine/ui/node_modules/node-addon-api/package-support.json +21 -0
  589. statemachine_engine/ui/node_modules/node-addon-api/package.json +480 -0
  590. statemachine_engine/ui/node_modules/node-addon-api/tools/check-napi.js +99 -0
  591. statemachine_engine/ui/node_modules/node-addon-api/tools/clang-format.js +71 -0
  592. statemachine_engine/ui/node_modules/node-addon-api/tools/conversion.js +301 -0
  593. statemachine_engine/ui/node_modules/node-addon-api/tools/eslint-format.js +79 -0
  594. statemachine_engine/ui/node_modules/node-gyp/bin/node-gyp.js +140 -0
  595. statemachine_engine/ui/node_modules/node-gyp/gyp/gyp_main.py +45 -0
  596. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/MSVSNew.py +367 -0
  597. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/MSVSProject.py +206 -0
  598. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings.py +1270 -0
  599. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py +1547 -0
  600. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/MSVSToolFile.py +59 -0
  601. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/MSVSUserFile.py +153 -0
  602. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.py +271 -0
  603. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py +574 -0
  604. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/__init__.py +666 -0
  605. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/common.py +654 -0
  606. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/common_test.py +78 -0
  607. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/easy_xml.py +165 -0
  608. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py +109 -0
  609. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py +55 -0
  610. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/generator/__init__.py +0 -0
  611. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/generator/analyzer.py +808 -0
  612. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py +1173 -0
  613. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake.py +1321 -0
  614. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/generator/compile_commands_json.py +120 -0
  615. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/generator/dump_dependency_json.py +103 -0
  616. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py +464 -0
  617. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/generator/gypd.py +89 -0
  618. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/generator/gypsh.py +58 -0
  619. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py +2518 -0
  620. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py +3978 -0
  621. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py +44 -0
  622. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py +2936 -0
  623. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py +55 -0
  624. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py +1394 -0
  625. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode_test.py +25 -0
  626. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/input.py +3137 -0
  627. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/input_test.py +98 -0
  628. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py +771 -0
  629. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py +1271 -0
  630. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/ninja_syntax.py +174 -0
  631. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/simple_copy.py +61 -0
  632. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py +374 -0
  633. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py +1939 -0
  634. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/xcode_ninja.py +302 -0
  635. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py +3197 -0
  636. statemachine_engine/ui/node_modules/node-gyp/gyp/pylib/gyp/xml_fix.py +65 -0
  637. statemachine_engine/ui/node_modules/node-gyp/gyp/setup.py +42 -0
  638. statemachine_engine/ui/node_modules/node-gyp/gyp/test_gyp.py +260 -0
  639. statemachine_engine/ui/node_modules/node-gyp/gyp/tools/graphviz.py +102 -0
  640. statemachine_engine/ui/node_modules/node-gyp/gyp/tools/pretty_gyp.py +156 -0
  641. statemachine_engine/ui/node_modules/node-gyp/gyp/tools/pretty_sln.py +181 -0
  642. statemachine_engine/ui/node_modules/node-gyp/gyp/tools/pretty_vcproj.py +339 -0
  643. statemachine_engine/ui/node_modules/node-gyp/lib/build.js +204 -0
  644. statemachine_engine/ui/node_modules/node-gyp/lib/clean.js +15 -0
  645. statemachine_engine/ui/node_modules/node-gyp/lib/configure.js +294 -0
  646. statemachine_engine/ui/node_modules/node-gyp/lib/create-config-gypi.js +146 -0
  647. statemachine_engine/ui/node_modules/node-gyp/lib/find-node-directory.js +63 -0
  648. statemachine_engine/ui/node_modules/node-gyp/lib/find-python.js +344 -0
  649. statemachine_engine/ui/node_modules/node-gyp/lib/find-visualstudio.js +446 -0
  650. statemachine_engine/ui/node_modules/node-gyp/lib/install.js +376 -0
  651. statemachine_engine/ui/node_modules/node-gyp/lib/list.js +27 -0
  652. statemachine_engine/ui/node_modules/node-gyp/lib/node-gyp.js +211 -0
  653. statemachine_engine/ui/node_modules/node-gyp/lib/process-release.js +147 -0
  654. statemachine_engine/ui/node_modules/node-gyp/lib/rebuild.js +13 -0
  655. statemachine_engine/ui/node_modules/node-gyp/lib/remove.js +46 -0
  656. statemachine_engine/ui/node_modules/node-gyp/lib/util.js +64 -0
  657. statemachine_engine/ui/node_modules/node-gyp/package.json +50 -0
  658. statemachine_engine/ui/node_modules/node-gyp/test/common.js +3 -0
  659. statemachine_engine/ui/node_modules/node-gyp/test/fixtures/test-charmap.py +31 -0
  660. statemachine_engine/ui/node_modules/node-gyp/test/process-exec-sync.js +140 -0
  661. statemachine_engine/ui/node_modules/node-gyp/test/simple-proxy.js +27 -0
  662. statemachine_engine/ui/node_modules/node-gyp/test/test-addon.js +150 -0
  663. statemachine_engine/ui/node_modules/node-gyp/test/test-configure-python.js +82 -0
  664. statemachine_engine/ui/node_modules/node-gyp/test/test-create-config-gypi.js +70 -0
  665. statemachine_engine/ui/node_modules/node-gyp/test/test-download.js +207 -0
  666. statemachine_engine/ui/node_modules/node-gyp/test/test-find-accessible-sync.js +84 -0
  667. statemachine_engine/ui/node_modules/node-gyp/test/test-find-node-directory.js +119 -0
  668. statemachine_engine/ui/node_modules/node-gyp/test/test-find-python.js +226 -0
  669. statemachine_engine/ui/node_modules/node-gyp/test/test-find-visualstudio.js +676 -0
  670. statemachine_engine/ui/node_modules/node-gyp/test/test-install.js +46 -0
  671. statemachine_engine/ui/node_modules/node-gyp/test/test-options.js +31 -0
  672. statemachine_engine/ui/node_modules/node-gyp/test/test-process-release.js +434 -0
  673. statemachine_engine/ui/node_modules/node-gyp/update-gyp.py +46 -0
  674. statemachine_engine/ui/node_modules/nopt/bin/nopt.js +54 -0
  675. statemachine_engine/ui/node_modules/nopt/lib/nopt.js +441 -0
  676. statemachine_engine/ui/node_modules/nopt/package.json +34 -0
  677. statemachine_engine/ui/node_modules/npmlog/lib/log.js +404 -0
  678. statemachine_engine/ui/node_modules/npmlog/package.json +51 -0
  679. statemachine_engine/ui/node_modules/object-inspect/example/all.js +23 -0
  680. statemachine_engine/ui/node_modules/object-inspect/example/circular.js +6 -0
  681. statemachine_engine/ui/node_modules/object-inspect/example/fn.js +5 -0
  682. statemachine_engine/ui/node_modules/object-inspect/example/inspect.js +10 -0
  683. statemachine_engine/ui/node_modules/object-inspect/index.js +544 -0
  684. statemachine_engine/ui/node_modules/object-inspect/package-support.json +20 -0
  685. statemachine_engine/ui/node_modules/object-inspect/package.json +105 -0
  686. statemachine_engine/ui/node_modules/object-inspect/test/bigint.js +58 -0
  687. statemachine_engine/ui/node_modules/object-inspect/test/browser/dom.js +15 -0
  688. statemachine_engine/ui/node_modules/object-inspect/test/circular.js +16 -0
  689. statemachine_engine/ui/node_modules/object-inspect/test/deep.js +12 -0
  690. statemachine_engine/ui/node_modules/object-inspect/test/element.js +53 -0
  691. statemachine_engine/ui/node_modules/object-inspect/test/err.js +48 -0
  692. statemachine_engine/ui/node_modules/object-inspect/test/fakes.js +29 -0
  693. statemachine_engine/ui/node_modules/object-inspect/test/fn.js +76 -0
  694. statemachine_engine/ui/node_modules/object-inspect/test/global.js +17 -0
  695. statemachine_engine/ui/node_modules/object-inspect/test/has.js +15 -0
  696. statemachine_engine/ui/node_modules/object-inspect/test/holes.js +15 -0
  697. statemachine_engine/ui/node_modules/object-inspect/test/indent-option.js +271 -0
  698. statemachine_engine/ui/node_modules/object-inspect/test/inspect.js +139 -0
  699. statemachine_engine/ui/node_modules/object-inspect/test/lowbyte.js +12 -0
  700. statemachine_engine/ui/node_modules/object-inspect/test/number.js +58 -0
  701. statemachine_engine/ui/node_modules/object-inspect/test/quoteStyle.js +26 -0
  702. statemachine_engine/ui/node_modules/object-inspect/test/toStringTag.js +40 -0
  703. statemachine_engine/ui/node_modules/object-inspect/test/undef.js +12 -0
  704. statemachine_engine/ui/node_modules/object-inspect/test/values.js +261 -0
  705. statemachine_engine/ui/node_modules/object-inspect/test-core-js.js +26 -0
  706. statemachine_engine/ui/node_modules/object-inspect/util.inspect.js +1 -0
  707. statemachine_engine/ui/node_modules/on-finished/index.js +234 -0
  708. statemachine_engine/ui/node_modules/on-finished/package.json +39 -0
  709. statemachine_engine/ui/node_modules/once/once.js +42 -0
  710. statemachine_engine/ui/node_modules/once/package.json +33 -0
  711. statemachine_engine/ui/node_modules/p-map/index.js +81 -0
  712. statemachine_engine/ui/node_modules/p-map/package.json +53 -0
  713. statemachine_engine/ui/node_modules/parseurl/index.js +158 -0
  714. statemachine_engine/ui/node_modules/parseurl/package.json +40 -0
  715. statemachine_engine/ui/node_modules/path-is-absolute/index.js +20 -0
  716. statemachine_engine/ui/node_modules/path-is-absolute/package.json +43 -0
  717. statemachine_engine/ui/node_modules/path-to-regexp/index.js +156 -0
  718. statemachine_engine/ui/node_modules/path-to-regexp/package.json +30 -0
  719. statemachine_engine/ui/node_modules/prebuild-install/asset.js +44 -0
  720. statemachine_engine/ui/node_modules/prebuild-install/bin.js +78 -0
  721. statemachine_engine/ui/node_modules/prebuild-install/download.js +142 -0
  722. statemachine_engine/ui/node_modules/prebuild-install/error.js +14 -0
  723. statemachine_engine/ui/node_modules/prebuild-install/index.js +1 -0
  724. statemachine_engine/ui/node_modules/prebuild-install/log.js +33 -0
  725. statemachine_engine/ui/node_modules/prebuild-install/package.json +67 -0
  726. statemachine_engine/ui/node_modules/prebuild-install/proxy.js +35 -0
  727. statemachine_engine/ui/node_modules/prebuild-install/rc.js +64 -0
  728. statemachine_engine/ui/node_modules/prebuild-install/util.js +143 -0
  729. statemachine_engine/ui/node_modules/promise-inflight/inflight.js +36 -0
  730. statemachine_engine/ui/node_modules/promise-inflight/package.json +24 -0
  731. statemachine_engine/ui/node_modules/promise-retry/index.js +52 -0
  732. statemachine_engine/ui/node_modules/promise-retry/package.json +37 -0
  733. statemachine_engine/ui/node_modules/promise-retry/test/test.js +263 -0
  734. statemachine_engine/ui/node_modules/proxy-addr/index.js +327 -0
  735. statemachine_engine/ui/node_modules/proxy-addr/package.json +47 -0
  736. statemachine_engine/ui/node_modules/pump/index.js +86 -0
  737. statemachine_engine/ui/node_modules/pump/package.json +24 -0
  738. statemachine_engine/ui/node_modules/pump/test-browser.js +66 -0
  739. statemachine_engine/ui/node_modules/pump/test-node.js +53 -0
  740. statemachine_engine/ui/node_modules/qs/dist/qs.js +90 -0
  741. statemachine_engine/ui/node_modules/qs/lib/formats.js +23 -0
  742. statemachine_engine/ui/node_modules/qs/lib/index.js +11 -0
  743. statemachine_engine/ui/node_modules/qs/lib/parse.js +296 -0
  744. statemachine_engine/ui/node_modules/qs/lib/stringify.js +351 -0
  745. statemachine_engine/ui/node_modules/qs/lib/utils.js +265 -0
  746. statemachine_engine/ui/node_modules/qs/package.json +91 -0
  747. statemachine_engine/ui/node_modules/qs/test/empty-keys-cases.js +267 -0
  748. statemachine_engine/ui/node_modules/qs/test/parse.js +1170 -0
  749. statemachine_engine/ui/node_modules/qs/test/stringify.js +1298 -0
  750. statemachine_engine/ui/node_modules/qs/test/utils.js +136 -0
  751. statemachine_engine/ui/node_modules/range-parser/index.js +162 -0
  752. statemachine_engine/ui/node_modules/range-parser/package.json +44 -0
  753. statemachine_engine/ui/node_modules/raw-body/index.js +336 -0
  754. statemachine_engine/ui/node_modules/raw-body/package.json +49 -0
  755. statemachine_engine/ui/node_modules/rc/browser.js +7 -0
  756. statemachine_engine/ui/node_modules/rc/cli.js +4 -0
  757. statemachine_engine/ui/node_modules/rc/index.js +53 -0
  758. statemachine_engine/ui/node_modules/rc/lib/utils.js +104 -0
  759. statemachine_engine/ui/node_modules/rc/package.json +29 -0
  760. statemachine_engine/ui/node_modules/rc/test/ini.js +16 -0
  761. statemachine_engine/ui/node_modules/rc/test/nested-env-vars.js +50 -0
  762. statemachine_engine/ui/node_modules/rc/test/test.js +59 -0
  763. statemachine_engine/ui/node_modules/readable-stream/errors-browser.js +127 -0
  764. statemachine_engine/ui/node_modules/readable-stream/errors.js +116 -0
  765. statemachine_engine/ui/node_modules/readable-stream/experimentalWarning.js +17 -0
  766. statemachine_engine/ui/node_modules/readable-stream/lib/_stream_duplex.js +126 -0
  767. statemachine_engine/ui/node_modules/readable-stream/lib/_stream_passthrough.js +37 -0
  768. statemachine_engine/ui/node_modules/readable-stream/lib/_stream_readable.js +1027 -0
  769. statemachine_engine/ui/node_modules/readable-stream/lib/_stream_transform.js +190 -0
  770. statemachine_engine/ui/node_modules/readable-stream/lib/_stream_writable.js +641 -0
  771. statemachine_engine/ui/node_modules/readable-stream/lib/internal/streams/async_iterator.js +180 -0
  772. statemachine_engine/ui/node_modules/readable-stream/lib/internal/streams/buffer_list.js +183 -0
  773. statemachine_engine/ui/node_modules/readable-stream/lib/internal/streams/destroy.js +96 -0
  774. statemachine_engine/ui/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +86 -0
  775. statemachine_engine/ui/node_modules/readable-stream/lib/internal/streams/from-browser.js +3 -0
  776. statemachine_engine/ui/node_modules/readable-stream/lib/internal/streams/from.js +52 -0
  777. statemachine_engine/ui/node_modules/readable-stream/lib/internal/streams/pipeline.js +86 -0
  778. statemachine_engine/ui/node_modules/readable-stream/lib/internal/streams/state.js +22 -0
  779. statemachine_engine/ui/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  780. statemachine_engine/ui/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  781. statemachine_engine/ui/node_modules/readable-stream/package.json +68 -0
  782. statemachine_engine/ui/node_modules/readable-stream/readable-browser.js +9 -0
  783. statemachine_engine/ui/node_modules/readable-stream/readable.js +16 -0
  784. statemachine_engine/ui/node_modules/retry/example/dns.js +31 -0
  785. statemachine_engine/ui/node_modules/retry/example/stop.js +40 -0
  786. statemachine_engine/ui/node_modules/retry/index.js +1 -0
  787. statemachine_engine/ui/node_modules/retry/lib/retry.js +100 -0
  788. statemachine_engine/ui/node_modules/retry/lib/retry_operation.js +158 -0
  789. statemachine_engine/ui/node_modules/retry/package.json +32 -0
  790. statemachine_engine/ui/node_modules/retry/test/common.js +10 -0
  791. statemachine_engine/ui/node_modules/retry/test/integration/test-forever.js +24 -0
  792. statemachine_engine/ui/node_modules/retry/test/integration/test-retry-operation.js +258 -0
  793. statemachine_engine/ui/node_modules/retry/test/integration/test-retry-wrap.js +101 -0
  794. statemachine_engine/ui/node_modules/retry/test/integration/test-timeouts.js +69 -0
  795. statemachine_engine/ui/node_modules/rimraf/bin.js +68 -0
  796. statemachine_engine/ui/node_modules/rimraf/package.json +32 -0
  797. statemachine_engine/ui/node_modules/rimraf/rimraf.js +360 -0
  798. statemachine_engine/ui/node_modules/safe-buffer/index.js +65 -0
  799. statemachine_engine/ui/node_modules/safe-buffer/package.json +51 -0
  800. statemachine_engine/ui/node_modules/safer-buffer/dangerous.js +58 -0
  801. statemachine_engine/ui/node_modules/safer-buffer/package.json +34 -0
  802. statemachine_engine/ui/node_modules/safer-buffer/safer.js +77 -0
  803. statemachine_engine/ui/node_modules/safer-buffer/tests.js +406 -0
  804. statemachine_engine/ui/node_modules/semver/bin/semver.js +191 -0
  805. statemachine_engine/ui/node_modules/semver/classes/comparator.js +143 -0
  806. statemachine_engine/ui/node_modules/semver/classes/index.js +7 -0
  807. statemachine_engine/ui/node_modules/semver/classes/range.js +556 -0
  808. statemachine_engine/ui/node_modules/semver/classes/semver.js +319 -0
  809. statemachine_engine/ui/node_modules/semver/functions/clean.js +8 -0
  810. statemachine_engine/ui/node_modules/semver/functions/cmp.js +54 -0
  811. statemachine_engine/ui/node_modules/semver/functions/coerce.js +62 -0
  812. statemachine_engine/ui/node_modules/semver/functions/compare-build.js +9 -0
  813. statemachine_engine/ui/node_modules/semver/functions/compare-loose.js +5 -0
  814. statemachine_engine/ui/node_modules/semver/functions/compare.js +7 -0
  815. statemachine_engine/ui/node_modules/semver/functions/diff.js +60 -0
  816. statemachine_engine/ui/node_modules/semver/functions/eq.js +5 -0
  817. statemachine_engine/ui/node_modules/semver/functions/gt.js +5 -0
  818. statemachine_engine/ui/node_modules/semver/functions/gte.js +5 -0
  819. statemachine_engine/ui/node_modules/semver/functions/inc.js +21 -0
  820. statemachine_engine/ui/node_modules/semver/functions/lt.js +5 -0
  821. statemachine_engine/ui/node_modules/semver/functions/lte.js +5 -0
  822. statemachine_engine/ui/node_modules/semver/functions/major.js +5 -0
  823. statemachine_engine/ui/node_modules/semver/functions/minor.js +5 -0
  824. statemachine_engine/ui/node_modules/semver/functions/neq.js +5 -0
  825. statemachine_engine/ui/node_modules/semver/functions/parse.js +18 -0
  826. statemachine_engine/ui/node_modules/semver/functions/patch.js +5 -0
  827. statemachine_engine/ui/node_modules/semver/functions/prerelease.js +8 -0
  828. statemachine_engine/ui/node_modules/semver/functions/rcompare.js +5 -0
  829. statemachine_engine/ui/node_modules/semver/functions/rsort.js +5 -0
  830. statemachine_engine/ui/node_modules/semver/functions/satisfies.js +12 -0
  831. statemachine_engine/ui/node_modules/semver/functions/sort.js +5 -0
  832. statemachine_engine/ui/node_modules/semver/functions/valid.js +8 -0
  833. statemachine_engine/ui/node_modules/semver/index.js +91 -0
  834. statemachine_engine/ui/node_modules/semver/internal/constants.js +37 -0
  835. statemachine_engine/ui/node_modules/semver/internal/debug.js +11 -0
  836. statemachine_engine/ui/node_modules/semver/internal/identifiers.js +25 -0
  837. statemachine_engine/ui/node_modules/semver/internal/lrucache.js +42 -0
  838. statemachine_engine/ui/node_modules/semver/internal/parse-options.js +17 -0
  839. statemachine_engine/ui/node_modules/semver/internal/re.js +223 -0
  840. statemachine_engine/ui/node_modules/semver/package.json +78 -0
  841. statemachine_engine/ui/node_modules/semver/preload.js +4 -0
  842. statemachine_engine/ui/node_modules/semver/ranges/gtr.js +6 -0
  843. statemachine_engine/ui/node_modules/semver/ranges/intersects.js +9 -0
  844. statemachine_engine/ui/node_modules/semver/ranges/ltr.js +6 -0
  845. statemachine_engine/ui/node_modules/semver/ranges/max-satisfying.js +27 -0
  846. statemachine_engine/ui/node_modules/semver/ranges/min-satisfying.js +26 -0
  847. statemachine_engine/ui/node_modules/semver/ranges/min-version.js +63 -0
  848. statemachine_engine/ui/node_modules/semver/ranges/outside.js +82 -0
  849. statemachine_engine/ui/node_modules/semver/ranges/simplify.js +49 -0
  850. statemachine_engine/ui/node_modules/semver/ranges/subset.js +249 -0
  851. statemachine_engine/ui/node_modules/semver/ranges/to-comparators.js +10 -0
  852. statemachine_engine/ui/node_modules/semver/ranges/valid.js +13 -0
  853. statemachine_engine/ui/node_modules/send/index.js +1142 -0
  854. statemachine_engine/ui/node_modules/send/node_modules/encodeurl/index.js +60 -0
  855. statemachine_engine/ui/node_modules/send/node_modules/encodeurl/package.json +40 -0
  856. statemachine_engine/ui/node_modules/send/node_modules/ms/index.js +162 -0
  857. statemachine_engine/ui/node_modules/send/node_modules/ms/package.json +38 -0
  858. statemachine_engine/ui/node_modules/send/package.json +62 -0
  859. statemachine_engine/ui/node_modules/serve-static/index.js +209 -0
  860. statemachine_engine/ui/node_modules/serve-static/package.json +42 -0
  861. statemachine_engine/ui/node_modules/set-blocking/index.js +7 -0
  862. statemachine_engine/ui/node_modules/set-blocking/package.json +42 -0
  863. statemachine_engine/ui/node_modules/setprototypeof/index.js +17 -0
  864. statemachine_engine/ui/node_modules/setprototypeof/package.json +38 -0
  865. statemachine_engine/ui/node_modules/setprototypeof/test/index.js +24 -0
  866. statemachine_engine/ui/node_modules/side-channel/index.js +43 -0
  867. statemachine_engine/ui/node_modules/side-channel/package.json +85 -0
  868. statemachine_engine/ui/node_modules/side-channel/test/index.js +104 -0
  869. statemachine_engine/ui/node_modules/side-channel/tsconfig.json +9 -0
  870. statemachine_engine/ui/node_modules/side-channel-list/index.js +113 -0
  871. statemachine_engine/ui/node_modules/side-channel-list/package.json +77 -0
  872. statemachine_engine/ui/node_modules/side-channel-list/test/index.js +104 -0
  873. statemachine_engine/ui/node_modules/side-channel-list/tsconfig.json +9 -0
  874. statemachine_engine/ui/node_modules/side-channel-map/index.js +68 -0
  875. statemachine_engine/ui/node_modules/side-channel-map/package.json +80 -0
  876. statemachine_engine/ui/node_modules/side-channel-map/test/index.js +114 -0
  877. statemachine_engine/ui/node_modules/side-channel-map/tsconfig.json +9 -0
  878. statemachine_engine/ui/node_modules/side-channel-weakmap/index.js +84 -0
  879. statemachine_engine/ui/node_modules/side-channel-weakmap/package.json +87 -0
  880. statemachine_engine/ui/node_modules/side-channel-weakmap/test/index.js +114 -0
  881. statemachine_engine/ui/node_modules/side-channel-weakmap/tsconfig.json +9 -0
  882. statemachine_engine/ui/node_modules/signal-exit/index.js +202 -0
  883. statemachine_engine/ui/node_modules/signal-exit/package.json +38 -0
  884. statemachine_engine/ui/node_modules/signal-exit/signals.js +53 -0
  885. statemachine_engine/ui/node_modules/simple-concat/index.js +15 -0
  886. statemachine_engine/ui/node_modules/simple-concat/package.json +47 -0
  887. statemachine_engine/ui/node_modules/simple-concat/test/basic.js +41 -0
  888. statemachine_engine/ui/node_modules/simple-get/index.js +108 -0
  889. statemachine_engine/ui/node_modules/simple-get/package.json +67 -0
  890. statemachine_engine/ui/node_modules/smart-buffer/build/smartbuffer.js +1233 -0
  891. statemachine_engine/ui/node_modules/smart-buffer/build/utils.js +108 -0
  892. statemachine_engine/ui/node_modules/smart-buffer/package.json +79 -0
  893. statemachine_engine/ui/node_modules/socks/build/client/socksclient.js +793 -0
  894. statemachine_engine/ui/node_modules/socks/build/common/constants.js +108 -0
  895. statemachine_engine/ui/node_modules/socks/build/common/helpers.js +167 -0
  896. statemachine_engine/ui/node_modules/socks/build/common/receivebuffer.js +43 -0
  897. statemachine_engine/ui/node_modules/socks/build/common/util.js +25 -0
  898. statemachine_engine/ui/node_modules/socks/build/index.js +18 -0
  899. statemachine_engine/ui/node_modules/socks/package.json +58 -0
  900. statemachine_engine/ui/node_modules/socks-proxy-agent/dist/index.js +197 -0
  901. statemachine_engine/ui/node_modules/socks-proxy-agent/node_modules/debug/package.json +64 -0
  902. statemachine_engine/ui/node_modules/socks-proxy-agent/node_modules/debug/src/browser.js +272 -0
  903. statemachine_engine/ui/node_modules/socks-proxy-agent/node_modules/debug/src/common.js +292 -0
  904. statemachine_engine/ui/node_modules/socks-proxy-agent/node_modules/debug/src/index.js +10 -0
  905. statemachine_engine/ui/node_modules/socks-proxy-agent/node_modules/debug/src/node.js +263 -0
  906. statemachine_engine/ui/node_modules/socks-proxy-agent/node_modules/ms/index.js +162 -0
  907. statemachine_engine/ui/node_modules/socks-proxy-agent/node_modules/ms/package.json +38 -0
  908. statemachine_engine/ui/node_modules/socks-proxy-agent/package.json +181 -0
  909. statemachine_engine/ui/node_modules/sqlite3/deps/extract.js +10 -0
  910. statemachine_engine/ui/node_modules/sqlite3/lib/sqlite3-binding.js +1 -0
  911. statemachine_engine/ui/node_modules/sqlite3/lib/sqlite3.js +207 -0
  912. statemachine_engine/ui/node_modules/sqlite3/lib/trace.js +38 -0
  913. statemachine_engine/ui/node_modules/sqlite3/package.json +89 -0
  914. statemachine_engine/ui/node_modules/ssri/index.js +470 -0
  915. statemachine_engine/ui/node_modules/ssri/package.json +52 -0
  916. statemachine_engine/ui/node_modules/statuses/codes.json +65 -0
  917. statemachine_engine/ui/node_modules/statuses/index.js +146 -0
  918. statemachine_engine/ui/node_modules/statuses/package.json +49 -0
  919. statemachine_engine/ui/node_modules/string-width/index.js +47 -0
  920. statemachine_engine/ui/node_modules/string-width/package.json +56 -0
  921. statemachine_engine/ui/node_modules/string_decoder/lib/string_decoder.js +296 -0
  922. statemachine_engine/ui/node_modules/string_decoder/package.json +34 -0
  923. statemachine_engine/ui/node_modules/strip-ansi/index.js +4 -0
  924. statemachine_engine/ui/node_modules/strip-ansi/package.json +54 -0
  925. statemachine_engine/ui/node_modules/strip-json-comments/index.js +70 -0
  926. statemachine_engine/ui/node_modules/strip-json-comments/package.json +42 -0
  927. statemachine_engine/ui/node_modules/tar/index.js +18 -0
  928. statemachine_engine/ui/node_modules/tar/lib/create.js +111 -0
  929. statemachine_engine/ui/node_modules/tar/lib/extract.js +113 -0
  930. statemachine_engine/ui/node_modules/tar/lib/get-write-flag.js +20 -0
  931. statemachine_engine/ui/node_modules/tar/lib/header.js +304 -0
  932. statemachine_engine/ui/node_modules/tar/lib/high-level-opt.js +29 -0
  933. statemachine_engine/ui/node_modules/tar/lib/large-numbers.js +104 -0
  934. statemachine_engine/ui/node_modules/tar/lib/list.js +139 -0
  935. statemachine_engine/ui/node_modules/tar/lib/mkdir.js +229 -0
  936. statemachine_engine/ui/node_modules/tar/lib/mode-fix.js +27 -0
  937. statemachine_engine/ui/node_modules/tar/lib/normalize-unicode.js +12 -0
  938. statemachine_engine/ui/node_modules/tar/lib/normalize-windows-path.js +8 -0
  939. statemachine_engine/ui/node_modules/tar/lib/pack.js +432 -0
  940. statemachine_engine/ui/node_modules/tar/lib/parse.js +552 -0
  941. statemachine_engine/ui/node_modules/tar/lib/path-reservations.js +156 -0
  942. statemachine_engine/ui/node_modules/tar/lib/pax.js +150 -0
  943. statemachine_engine/ui/node_modules/tar/lib/read-entry.js +107 -0
  944. statemachine_engine/ui/node_modules/tar/lib/replace.js +246 -0
  945. statemachine_engine/ui/node_modules/tar/lib/strip-absolute-path.js +24 -0
  946. statemachine_engine/ui/node_modules/tar/lib/strip-trailing-slashes.js +13 -0
  947. statemachine_engine/ui/node_modules/tar/lib/types.js +44 -0
  948. statemachine_engine/ui/node_modules/tar/lib/unpack.js +923 -0
  949. statemachine_engine/ui/node_modules/tar/lib/update.js +40 -0
  950. statemachine_engine/ui/node_modules/tar/lib/warn-mixin.js +24 -0
  951. statemachine_engine/ui/node_modules/tar/lib/winchars.js +23 -0
  952. statemachine_engine/ui/node_modules/tar/lib/write-entry.js +546 -0
  953. statemachine_engine/ui/node_modules/tar/node_modules/minipass/index.js +702 -0
  954. statemachine_engine/ui/node_modules/tar/node_modules/minipass/package.json +76 -0
  955. statemachine_engine/ui/node_modules/tar/package.json +70 -0
  956. statemachine_engine/ui/node_modules/tar-fs/index.js +363 -0
  957. statemachine_engine/ui/node_modules/tar-fs/node_modules/chownr/chownr.js +167 -0
  958. statemachine_engine/ui/node_modules/tar-fs/node_modules/chownr/package.json +29 -0
  959. statemachine_engine/ui/node_modules/tar-fs/package.json +41 -0
  960. statemachine_engine/ui/node_modules/tar-fs/test/index.js +346 -0
  961. statemachine_engine/ui/node_modules/tar-stream/extract.js +257 -0
  962. statemachine_engine/ui/node_modules/tar-stream/headers.js +295 -0
  963. statemachine_engine/ui/node_modules/tar-stream/index.js +2 -0
  964. statemachine_engine/ui/node_modules/tar-stream/pack.js +255 -0
  965. statemachine_engine/ui/node_modules/tar-stream/package.json +58 -0
  966. statemachine_engine/ui/node_modules/tar-stream/sandbox.js +11 -0
  967. statemachine_engine/ui/node_modules/toidentifier/index.js +32 -0
  968. statemachine_engine/ui/node_modules/toidentifier/package.json +38 -0
  969. statemachine_engine/ui/node_modules/tunnel-agent/index.js +244 -0
  970. statemachine_engine/ui/node_modules/tunnel-agent/package.json +22 -0
  971. statemachine_engine/ui/node_modules/type-is/index.js +266 -0
  972. statemachine_engine/ui/node_modules/type-is/package.json +45 -0
  973. statemachine_engine/ui/node_modules/unique-filename/.nyc_output/54942.json +1 -0
  974. statemachine_engine/ui/node_modules/unique-filename/.nyc_output/54944.json +1 -0
  975. statemachine_engine/ui/node_modules/unique-filename/coverage/__root__/index.html +73 -0
  976. statemachine_engine/ui/node_modules/unique-filename/coverage/__root__/index.js.html +69 -0
  977. statemachine_engine/ui/node_modules/unique-filename/coverage/base.css +182 -0
  978. statemachine_engine/ui/node_modules/unique-filename/coverage/index.html +73 -0
  979. statemachine_engine/ui/node_modules/unique-filename/coverage/prettify.css +1 -0
  980. statemachine_engine/ui/node_modules/unique-filename/coverage/prettify.js +1 -0
  981. statemachine_engine/ui/node_modules/unique-filename/coverage/sorter.js +156 -0
  982. statemachine_engine/ui/node_modules/unique-filename/index.js +8 -0
  983. statemachine_engine/ui/node_modules/unique-filename/package.json +27 -0
  984. statemachine_engine/ui/node_modules/unique-filename/test/index.js +23 -0
  985. statemachine_engine/ui/node_modules/unique-slug/index.js +11 -0
  986. statemachine_engine/ui/node_modules/unique-slug/package.json +23 -0
  987. statemachine_engine/ui/node_modules/unique-slug/test/index.js +13 -0
  988. statemachine_engine/ui/node_modules/unpipe/index.js +69 -0
  989. statemachine_engine/ui/node_modules/unpipe/package.json +27 -0
  990. statemachine_engine/ui/node_modules/util-deprecate/browser.js +67 -0
  991. statemachine_engine/ui/node_modules/util-deprecate/node.js +6 -0
  992. statemachine_engine/ui/node_modules/util-deprecate/package.json +27 -0
  993. statemachine_engine/ui/node_modules/utils-merge/index.js +23 -0
  994. statemachine_engine/ui/node_modules/utils-merge/package.json +40 -0
  995. statemachine_engine/ui/node_modules/vary/index.js +149 -0
  996. statemachine_engine/ui/node_modules/vary/package.json +43 -0
  997. statemachine_engine/ui/node_modules/which/package.json +43 -0
  998. statemachine_engine/ui/node_modules/which/which.js +125 -0
  999. statemachine_engine/ui/node_modules/wide-align/align.js +65 -0
  1000. statemachine_engine/ui/node_modules/wide-align/package.json +33 -0
  1001. statemachine_engine/ui/node_modules/wrappy/package.json +29 -0
  1002. statemachine_engine/ui/node_modules/wrappy/wrappy.js +33 -0
  1003. statemachine_engine/ui/node_modules/yallist/iterator.js +8 -0
  1004. statemachine_engine/ui/node_modules/yallist/package.json +29 -0
  1005. statemachine_engine/ui/node_modules/yallist/yallist.js +426 -0
  1006. statemachine_engine/ui/package-lock.json +2304 -0
  1007. statemachine_engine/ui/package.json +17 -0
  1008. statemachine_engine/ui/public/app-modular.js +158 -0
  1009. statemachine_engine/ui/public/app.js +903 -0
  1010. statemachine_engine/ui/public/index.html +77 -0
  1011. statemachine_engine/ui/public/modules/ActivityLogger.js +55 -0
  1012. statemachine_engine/ui/public/modules/DiagramManager.js +323 -0
  1013. statemachine_engine/ui/public/modules/MachineStateManager.js +261 -0
  1014. statemachine_engine/ui/public/modules/WebSocketManager.js +111 -0
  1015. statemachine_engine/ui/public/style.css +572 -0
  1016. statemachine_engine/ui/server.js +396 -0
  1017. statemachine_engine-0.0.2.dist-info/METADATA +448 -0
  1018. statemachine_engine-0.0.2.dist-info/RECORD +1022 -0
  1019. statemachine_engine-0.0.2.dist-info/WHEEL +5 -0
  1020. statemachine_engine-0.0.2.dist-info/entry_points.txt +5 -0
  1021. statemachine_engine-0.0.2.dist-info/licenses/LICENSE +21 -0
  1022. statemachine_engine-0.0.2.dist-info/top_level.txt +1 -0
@@ -0,0 +1,17 @@
1
+ """State Machine Engine - Event-driven workflow framework"""
2
+
3
+ __version__ = "1.0.0"
4
+
5
+ from .core.engine import StateMachineEngine
6
+ from .core.action_loader import ActionLoader
7
+ from .actions.base import BaseAction
8
+ from .database.models.base import Database
9
+ from .database.models.job import JobModel
10
+
11
+ __all__ = [
12
+ "StateMachineEngine",
13
+ "ActionLoader",
14
+ "BaseAction",
15
+ "Database",
16
+ "JobModel",
17
+ ]
@@ -0,0 +1,3 @@
1
+ from .base import BaseAction
2
+
3
+ __all__ = ["BaseAction"]
@@ -0,0 +1,64 @@
1
+ """
2
+ BaseAction - Abstract base class for pluggable state machine actions
3
+
4
+ IMPORTANT: Changes via Change Management, see CLAUDE.md
5
+
6
+ Defines the standard interface for all state machine actions loaded dynamically from YAML configuration.
7
+ Actions receive config parameters from YAML and execution context from the state machine, then return
8
+ event names to trigger state transitions. Provides common functionality for configuration access,
9
+ logging setup, and description handling across all action implementations.
10
+
11
+ KEY FILES:
12
+ - src/actions/bash_action.py - Shell command execution implementation
13
+ - src/actions/check_queue_action.py - Job queue monitoring implementation
14
+ - src/state_machine/engine.py - Dynamic action loading and execution
15
+
16
+ KEY FUNCTIONS:
17
+ - execute(context) - Abstract method for action execution, returns event name
18
+ - get_description() - Get action description from config or generate default
19
+ - get_config_value(key, default) - Retrieve configuration values with fallbacks
20
+ """
21
+
22
+ import asyncio
23
+ import logging
24
+ from abc import ABC, abstractmethod
25
+ from typing import Dict, Any, Optional
26
+
27
+
28
+ class BaseAction(ABC):
29
+ """Base class for all state machine actions."""
30
+
31
+ def __init__(self, action_config: Dict[str, Any]):
32
+ """
33
+ Initialize action with configuration.
34
+
35
+ Args:
36
+ action_config: Configuration dictionary from YAML
37
+ """
38
+ self.config = action_config
39
+ self.logger = logging.getLogger(f"{self.__class__.__module__}.{self.__class__.__name__}")
40
+
41
+ @abstractmethod
42
+ async def execute(self, context: Dict[str, Any]) -> str:
43
+ """
44
+ Execute the action.
45
+
46
+ Args:
47
+ context: State machine context
48
+
49
+ Returns:
50
+ Event name to trigger next state transition
51
+ """
52
+ pass
53
+
54
+ def get_description(self) -> str:
55
+ """Get action description from config or default."""
56
+ return self.config.get('description', f"{self.__class__.__name__} action")
57
+
58
+ def get_config_value(self, key: str, default: Any = None) -> Any:
59
+ """Get configuration value with optional default."""
60
+ return self.config.get(key, default)
61
+
62
+ def get_machine_name(self, context: Dict[str, Any]) -> str:
63
+ """Get machine name from context for logging."""
64
+ return context.get('machine_name', 'unknown')
@@ -0,0 +1,17 @@
1
+ """Built-in Actions for State Machine Engine"""
2
+
3
+ from .bash_action import BashAction
4
+ from .check_database_queue_action import CheckDatabaseQueueAction
5
+ from .check_machine_state_action import CheckMachineStateAction
6
+ from .clear_events_action import ClearEventsAction
7
+ from .log_action import LogAction
8
+ from .send_event_action import SendEventAction
9
+
10
+ __all__ = [
11
+ 'BashAction',
12
+ 'CheckDatabaseQueueAction',
13
+ 'CheckMachineStateAction',
14
+ 'ClearEventsAction',
15
+ 'LogAction',
16
+ 'SendEventAction',
17
+ ]
@@ -0,0 +1,313 @@
1
+ """
2
+ BashAction - Execute shell commands with template parameter substitution and error mapping
3
+
4
+ IMPORTANT: Changes via Change Management, see CLAUDE.md
5
+
6
+ Executes bash commands defined in YAML configuration, substituting template parameters from job data
7
+ using {param_name} placeholders. Commands run with configurable timeout, and the action returns
8
+ custom success events or mapped error events based on exit codes. Supports error mapping to specific
9
+ events (e.g., exit code 1 → 'no_faces_detected') and prevents automatic job removal for recoverable
10
+ errors that should be handled by state machine transitions.
11
+
12
+ KEY FILES:
13
+ - config/face_changer_database.yaml - YAML configuration with bash actions, error_mappings, and success events
14
+ - src/database/ - Database-backed job storage and management
15
+ - working/ - Temporary directory for safe file processing
16
+
17
+ KEY FUNCTIONS:
18
+ - execute(context) - Main action execution with parameter substitution, command running, and error mapping
19
+ - get_config_value() - Retrieve configuration values including error_mappings and success events
20
+
21
+ NEW FEATURES:
22
+ - error_mappings: Map exit codes to specific error events (e.g., "1": "no_faces_detected")
23
+ - success: Custom success event names instead of default 'job_done'
24
+ - Conditional job removal: Specific errors like 'no_faces_detected' bypass auto-removal
25
+ """
26
+
27
+ import asyncio
28
+ import logging
29
+ from typing import Dict, Any
30
+ from ..base import BaseAction
31
+
32
+ logger = logging.getLogger(__name__)
33
+
34
+
35
+ class BashAction(BaseAction):
36
+ """
37
+ Action that executes bash commands with error mapping support.
38
+
39
+ Returns:
40
+ - Custom success event (from 'success' config) or 'job_done' on exit code 0
41
+ - Mapped error event (from 'error_mappings' config) on specific exit codes
42
+ - Default 'error' event on unmapped failures
43
+
44
+ Error Mapping Example:
45
+ error_mappings:
46
+ "1": "no_faces_detected" # Exit code 1 → no_faces_detected event
47
+ "2": "invalid_image" # Exit code 2 → invalid_image event
48
+ """
49
+
50
+ async def execute(self, context: Dict[str, Any]) -> str:
51
+ """
52
+ Execute bash command and return event based on exit code.
53
+
54
+ Args:
55
+ context: State machine context containing current_job and queue
56
+
57
+ Returns:
58
+ - success event (config 'success' or 'job_done') on exit code 0
59
+ - mapped error event (from 'error_mappings') on specific exit codes
60
+ - 'error' on unmapped failures
61
+
62
+ Error Handling:
63
+ - Mapped errors (e.g., 'no_faces_detected') preserve job for state machine handling
64
+ - Unmapped errors auto-remove job to prevent infinite retries
65
+ - Timeouts and exceptions also auto-remove job
66
+ """
67
+ # Get command from job data first, fall back to config with parameter substitution
68
+ job = context.get('current_job')
69
+ command = None
70
+
71
+ if job and isinstance(job.get('data'), dict):
72
+ job_data = job['data']
73
+ command = job_data.get('command')
74
+
75
+ # Use config command and substitute parameters from job data (assumes add-job.sh usage)
76
+ if not command:
77
+ command = self.get_config_value('command')
78
+ if command and job and isinstance(job.get('data'), dict):
79
+ job_data = job['data']
80
+
81
+ # Get context values for fallback substitution
82
+ # Start with ALL context (includes id, last_error, etc.), then overlay job_data
83
+ context_data = {**context} # Start with full context (includes propagated job fields)
84
+
85
+ # Overlay job_data (so job_data takes precedence over propagated context)
86
+ context_data.update(job_data)
87
+
88
+ # Add event payload data if available (for machine-to-machine communication)
89
+ event_data = context.get('event_data', {})
90
+ if event_data and isinstance(event_data, dict):
91
+ event_payload = event_data.get('payload', {})
92
+ if event_payload and isinstance(event_payload, dict):
93
+ # Merge event payload fields into context_data
94
+ for key, value in event_payload.items():
95
+ if key not in job_data: # Don't override job data
96
+ context_data[key] = value
97
+
98
+ # Handle fallback syntax first (e.g., {enhanced_prompt|pony_prompt})
99
+ import re
100
+ fallback_pattern = r'\{([^|}]+)\|([^}]+)\}'
101
+ fallback_matches = re.findall(fallback_pattern, command)
102
+
103
+ for primary_key, fallback_key in fallback_matches:
104
+ placeholder = f"{{{primary_key}|{fallback_key}}}"
105
+ quoted_placeholder = f"'{{{primary_key}|{fallback_key}}}'"
106
+
107
+ # Try primary key first, then fallback
108
+ value = context_data.get(primary_key)
109
+ if value is None:
110
+ value = context_data.get(fallback_key)
111
+
112
+ if value is not None:
113
+ # Handle quoted version - escape internal single quotes and wrap in single quotes
114
+ if quoted_placeholder in command:
115
+ # Escape single quotes in value for bash single-quote context
116
+ escaped_value = str(value).replace("'", "'\\''")
117
+ command = command.replace(quoted_placeholder, f"'{escaped_value}'")
118
+ machine_name = self.get_machine_name(context)
119
+ logger.debug(f"[{machine_name}] Substituted {quoted_placeholder} with '{escaped_value}' (using {primary_key if primary_key in context_data else fallback_key})")
120
+
121
+ # Handle unquoted version (separate from quoted, both can occur in same command)
122
+ if placeholder in command:
123
+ if isinstance(value, str) and ('/' in value or ' ' in value):
124
+ quoted_value = f'"{value}"'
125
+ else:
126
+ quoted_value = str(value)
127
+ command = command.replace(placeholder, quoted_value)
128
+ machine_name = self.get_machine_name(context)
129
+ logger.debug(f"[{machine_name}] Substituted {placeholder} with {quoted_value} (using {primary_key if primary_key in context_data else fallback_key})")
130
+
131
+ # Substitute regular parameters using {param_name} placeholders
132
+ for key, value in context_data.items():
133
+ if key != 'event': # Skip event field
134
+ placeholder = f"{{{key}}}"
135
+ quoted_placeholder = f"'{{{key}}}'"
136
+
137
+ # First handle quoted placeholders - escape internal single quotes and wrap in single quotes
138
+ if quoted_placeholder in command:
139
+ # Escape single quotes in value for bash single-quote context
140
+ escaped_value = str(value).replace("'", "'\\''")
141
+ command = command.replace(quoted_placeholder, f"'{escaped_value}'")
142
+ machine_name = self.get_machine_name(context)
143
+ logger.debug(f"[{machine_name}] Substituted {quoted_placeholder} with '{escaped_value}'")
144
+
145
+ # Then handle unquoted placeholders (separate from quoted, both can occur in same command)
146
+ if placeholder in command:
147
+ # For unquoted placeholders, add quotes for paths/strings with spaces
148
+ if isinstance(value, str) and ('/' in value or ' ' in value):
149
+ quoted_value = f'"{value}"'
150
+ else:
151
+ quoted_value = str(value)
152
+ command = command.replace(placeholder, quoted_value)
153
+ machine_name = self.get_machine_name(context)
154
+ logger.debug(f"[{machine_name}] Substituted {placeholder} with {quoted_value}")
155
+
156
+ # Check for any remaining unsubstituted placeholders
157
+ remaining_placeholders = re.findall(r'\{[^}]+\}', command)
158
+ if remaining_placeholders:
159
+ machine_name = self.get_machine_name(context)
160
+ logger.warning(f"[{machine_name}] Unsubstituted placeholders found: {remaining_placeholders}")
161
+
162
+ if not command:
163
+ machine_name = self.get_machine_name(context)
164
+ logger.error(f"[{machine_name}] No command specified in job data or bash action config")
165
+ return 'error'
166
+
167
+ timeout = self.get_config_value('timeout', 30)
168
+ job_id = job['id'] if job else 'unknown'
169
+
170
+ # Use description for user-facing messages (INFO level), command details only at DEBUG
171
+ description = self.get_config_value('description')
172
+ machine_name = self.get_machine_name(context)
173
+ if description:
174
+ # User-facing descriptions logged at INFO (but skip repetitive/routine ones)
175
+ # Suppress: Initialize, Check, Reset (cleanup), mkdir operations
176
+ skip_prefixes = ['🔄 Initialize', '📋 Check', '🔄 Reset']
177
+ if not any(description.startswith(prefix) for prefix in skip_prefixes):
178
+ logger.info(f"[{machine_name}] {description[:60]}")
179
+
180
+ # Command details only at DEBUG level (but skip simple mkdir commands)
181
+ # Add rate limiting for frequently executed commands
182
+ if not hasattr(self.__class__, '_cmd_count'):
183
+ self.__class__._cmd_count = {}
184
+
185
+ cmd_key = command[:50] # Use first 50 chars as key
186
+ if cmd_key not in self.__class__._cmd_count:
187
+ self.__class__._cmd_count[cmd_key] = 0
188
+ self.__class__._cmd_count[cmd_key] += 1
189
+
190
+ if not command.startswith('mkdir -p'):
191
+ # Log first occurrence and every 100th to track frequency
192
+ if self.__class__._cmd_count[cmd_key] == 1:
193
+ logger.info(f"[{machine_name}] [BASH FREQUENCY TRACKER] First execution: {command}")
194
+ elif self.__class__._cmd_count[cmd_key] % 100 == 0:
195
+ logger.warning(f"[{machine_name}] [BASH FREQUENCY TRACKER] Command executed {self.__class__._cmd_count[cmd_key]} times: {command}")
196
+
197
+ logger.debug(f"[{machine_name}] Executing command for job {job_id}: {command}")
198
+
199
+ try:
200
+ # Execute command with timeout
201
+ process = await asyncio.create_subprocess_shell(
202
+ command,
203
+ stdout=asyncio.subprocess.PIPE,
204
+ stderr=asyncio.subprocess.PIPE
205
+ )
206
+
207
+ stdout, stderr = await asyncio.wait_for(
208
+ process.communicate(),
209
+ timeout=timeout
210
+ )
211
+
212
+ # Only log output if non-empty and meaningful (skip routine messages)
213
+ stdout_text = stdout.decode().strip() if stdout else ""
214
+ stderr_text = stderr.decode().strip() if stderr else ""
215
+
216
+ routine_messages = [
217
+ "No stuck processing jobs found",
218
+ "Successfully",
219
+ "Job created:",
220
+ ]
221
+
222
+ is_routine = any(msg in stdout_text for msg in routine_messages)
223
+
224
+ if stdout_text and not is_routine:
225
+ logger.debug(f"[{machine_name}] Output: {stdout_text[:200]}") # Truncate long output
226
+ if stderr_text:
227
+ logger.warning(f"[{machine_name}] Error output: {stderr_text[:200]}")
228
+
229
+ # Check exit code (don't log success for every command)
230
+ if process.returncode == 0:
231
+ # Include command context in completion log
232
+ cmd_summary = command[:50] + "..." if len(command) > 50 else command
233
+ logger.debug(f"[{machine_name}] Command completed (exit 0): {cmd_summary}")
234
+
235
+ # Don't auto-complete jobs here - let the state machine handle job completion
236
+ # when the entire pipeline is done
237
+
238
+ # Don't clear current job here - it may be needed by subsequent actions in the same state
239
+
240
+ # Return custom success event if specified, otherwise 'job_done'
241
+ success_event = self.get_config_value('success', 'job_done')
242
+ return success_event
243
+ else:
244
+ error_output = stderr.decode().strip() if stderr else "No error output"
245
+ logger.error(f"[{machine_name}] Command failed with exit code {process.returncode} for job {job_id}")
246
+ logger.error(f"[{machine_name}] Failed command: {command}")
247
+ logger.error(f"[{machine_name}] Error output: {error_output}")
248
+
249
+ # Store error details in context for error_cleanup state with improved formatting
250
+ # Include command on separate line for better readability in logs
251
+ context['last_error'] = f"Command failed (exit {process.returncode}): {error_output}\nCommand: {command}"
252
+ context['last_error_action'] = 'bash'
253
+ context['last_error_command'] = command
254
+ context['last_error_exit_code'] = process.returncode
255
+
256
+ # Check for error mapping based on exit code
257
+ error_mappings = self.get_config_value('error_mappings', {})
258
+ if str(process.returncode) in error_mappings:
259
+ mapped_error = error_mappings[str(process.returncode)]
260
+ logger.info(f"[{machine_name}] Mapping exit code {process.returncode} to event: {mapped_error}")
261
+
262
+ # For specific error types like no_faces_detected, don't auto-remove job
263
+ # Let the state machine handle it through proper transitions
264
+ if mapped_error in ['no_faces_detected']:
265
+ return mapped_error
266
+
267
+ # For unmapped errors, let the state machine handle job failure via error event
268
+ # Don't auto-remove jobs here - the state machine will handle proper cleanup
269
+ # and status updates via error_cleanup state
270
+
271
+ # Clear current job on error to prevent infinite loops
272
+ context.pop('current_job', None)
273
+
274
+ # Return mapped error event if available, otherwise default 'error'
275
+ return error_mappings.get(str(process.returncode), 'error')
276
+
277
+ except asyncio.TimeoutError:
278
+ machine_name = self.get_machine_name(context)
279
+ timeout_msg = f"Command timed out after {timeout} seconds"
280
+ logger.error(f"[{machine_name}] {timeout_msg} for job {job_id}")
281
+ logger.error(f"[{machine_name}] Timed out command: {command}")
282
+
283
+ # Store timeout error in context with improved formatting
284
+ context['last_error'] = f"{timeout_msg}\nCommand: {command}"
285
+ context['last_error_action'] = 'bash'
286
+ context['last_error_command'] = command
287
+
288
+ # Let the state machine handle job failure via error event
289
+ # Don't auto-remove jobs here - the state machine will handle proper cleanup
290
+ # and status updates via error_cleanup state
291
+
292
+ # Clear current job on timeout to prevent infinite loops
293
+ context.pop('current_job', None)
294
+ return 'error'
295
+
296
+ except Exception as e:
297
+ machine_name = self.get_machine_name(context)
298
+ error_msg = f"Command execution exception: {str(e)}"
299
+ logger.error(f"[{machine_name}] {error_msg} for job {job_id}")
300
+ logger.error(f"[{machine_name}] Failed command: {command}")
301
+
302
+ # Store exception details in context with improved formatting
303
+ context['last_error'] = f"{error_msg}\nCommand: {command}"
304
+ context['last_error_action'] = 'bash'
305
+ context['last_error_command'] = command
306
+
307
+ # Let the state machine handle job failure via error event
308
+ # Don't auto-remove jobs here - the state machine will handle proper cleanup
309
+ # and status updates via error_cleanup state
310
+
311
+ # Clear current job on exception to prevent infinite loops
312
+ context.pop('current_job', None)
313
+ return 'error'
@@ -0,0 +1,103 @@
1
+ """
2
+ Unified database queue checking action
3
+
4
+ IMPORTANT: Changes via Change Management, see CLAUDE.md
5
+
6
+ Supports both face_processing and pony_flux job types in a single unified action
7
+ """
8
+ import logging
9
+ from typing import Dict, Any, Optional
10
+ import sys
11
+ from pathlib import Path
12
+
13
+ # Add src to path for imports
14
+ sys.path.insert(0, str(Path(__file__).parent.parent))
15
+
16
+ from ..base import BaseAction
17
+ from statemachine_engine.database.models import get_job_model
18
+
19
+ logger = logging.getLogger(__name__)
20
+
21
+ class CheckDatabaseQueueAction(BaseAction):
22
+ """
23
+ Unified action to check database queue for jobs of any type
24
+ Supports both face_processing and pony_flux job types
25
+ """
26
+
27
+ def __init__(self, config: Dict[str, Any]):
28
+ super().__init__(config)
29
+ self.job_model = get_job_model()
30
+ # Get job type from config, default to face_processing for backward compatibility
31
+ self.job_type = config.get('job_type', 'face_processing')
32
+ # Get machine type for concurrent architecture
33
+ self.machine_type = config.get('machine_type', None)
34
+
35
+ async def execute(self, context: Dict[str, Any]) -> str:
36
+ """Check database queue for next job of specified type"""
37
+ try:
38
+ # First, fail any processing jobs with missing input files (for face_processing only)
39
+ if self.job_type == 'face_processing':
40
+ self._fail_jobs_with_missing_files()
41
+
42
+ job = self.job_model.get_next_job(job_type=self.job_type, machine_type=self.machine_type)
43
+
44
+ if job:
45
+ # Extract data from JSON field (get_next_job() already parsed it)
46
+ job_data = job.get('data', {})
47
+
48
+ # Store job in context - data is already in the right format
49
+ # Engine will propagate job_data to context automatically
50
+ context['current_job'] = {
51
+ 'id': job['job_id'],
52
+ 'source_job_id': job.get('source_job_id'),
53
+ 'job_type': job['job_type'],
54
+ 'data': job_data # Already parsed by JobModel.get_next_job()
55
+ }
56
+
57
+ # Store job model in context for job completion
58
+ context['job_model'] = self.job_model
59
+
60
+ machine_name = context.get('machine_name', 'unknown')
61
+ logger.info(f"[{machine_name}] {job['job_type']} job {job['job_id']} retrieved from queue (data keys: {list(job_data.keys())})")
62
+
63
+ return "new_job"
64
+ else:
65
+ return "no_jobs"
66
+
67
+ except Exception as e:
68
+ machine_name = context.get('machine_name', 'unknown')
69
+ logger.error(f"[{machine_name}] Error checking database queue: {e}")
70
+ return "error"
71
+
72
+ def _fail_jobs_with_missing_files(self):
73
+ """Mark processing jobs as failed when they reference non-existent files"""
74
+ try:
75
+ # Only clean up jobs for this machine type
76
+ machine_type = self.config.get('machine_type')
77
+ problem_jobs = self.job_model.get_processing_jobs_with_missing_files(machine_type)
78
+
79
+ for job in problem_jobs:
80
+ job_id = job['job_id']
81
+ # get_processing_jobs_with_missing_files returns jobs with data already parsed
82
+ job_data = job.get('data', {})
83
+ input_path = job_data.get('input_image_path')
84
+
85
+ # Additional safety check for None values
86
+ if input_path is None:
87
+ machine_name = self.config.get('machine_type', 'unknown')
88
+ logger.warning(f"[{machine_name}] Skipping job {job_id} - no input image path")
89
+ continue
90
+
91
+ reason = f"Input file not found: {input_path}"
92
+
93
+ machine_name = self.config.get('machine_type', 'unknown')
94
+ logger.warning(f"[{machine_name}] Marking job {job_id} as failed - {reason}")
95
+ self.job_model.fail_job(job_id, reason)
96
+
97
+ if problem_jobs:
98
+ machine_name = self.config.get('machine_type', 'unknown')
99
+ logger.info(f"[{machine_name}] Marked {len(problem_jobs)} jobs with missing input files as failed")
100
+
101
+ except Exception as e:
102
+ machine_name = self.config.get('machine_type', 'unknown')
103
+ logger.error(f"[{machine_name}] Error during job cleanup: {e}")
@@ -0,0 +1,138 @@
1
+ """
2
+ CheckMachineStateAction - Validate target machine state
3
+
4
+ IMPORTANT: Changes via Change Management, see CLAUDE.md
5
+
6
+ Queries pipeline_results table to get target machine's current state
7
+ and validates it against expected states.
8
+ """
9
+ import logging
10
+ import subprocess
11
+ import asyncio
12
+ from typing import Dict, Any, List, Optional
13
+ from datetime import datetime
14
+
15
+ from ..base import BaseAction
16
+ from statemachine_engine.database.models import get_job_model
17
+
18
+ logger = logging.getLogger(__name__)
19
+
20
+ class CheckMachineStateAction(BaseAction):
21
+ """
22
+ Action to check another machine's current state and validate it.
23
+
24
+ Returns:
25
+ - in_expected_state: Machine is running and in expected state
26
+ - unexpected_state: Machine is running but in wrong state
27
+ - not_running: Machine process not found or state data stale
28
+ """
29
+
30
+ def __init__(self, config: Dict[str, Any]):
31
+ super().__init__(config)
32
+ self.target_machine = config.get('target_machine', 'unknown')
33
+ self.expected_states = config.get('expected_states', [])
34
+ self.timeout_seconds = config.get('timeout_seconds', 60)
35
+ self.job_model = get_job_model()
36
+
37
+ async def execute(self, context: Dict[str, Any]) -> str:
38
+ """Check target machine state and validate"""
39
+ try:
40
+ # 1. Check if machine process is running
41
+ machine_name = self.get_machine_name(context)
42
+ is_running = await self._is_process_running(self.target_machine)
43
+ if not is_running:
44
+ logger.warning(f"[{machine_name}] Machine {self.target_machine} process not found")
45
+ return 'not_running'
46
+
47
+ # 2. Get current state from database
48
+ current_state = self._get_current_state(self.target_machine)
49
+
50
+ if not current_state:
51
+ logger.warning(f"[{machine_name}] No recent state data for {self.target_machine}")
52
+ return 'not_running'
53
+
54
+ # 3. Validate against expected states
55
+ if current_state in self.expected_states:
56
+ logger.info(f"[{machine_name}] Machine {self.target_machine} in expected state: {current_state}")
57
+ return 'in_expected_state'
58
+ else:
59
+ logger.info(f"[{machine_name}] Machine {self.target_machine} in unexpected state: {current_state} (expected: {self.expected_states})")
60
+ # Store unexpected state in context for debugging
61
+ context['unexpected_machine_state'] = current_state
62
+ return 'unexpected_state'
63
+
64
+ except Exception as e:
65
+ machine_name = self.get_machine_name(context)
66
+ logger.error(f"[{machine_name}] Error checking machine state: {e}")
67
+ return 'error'
68
+
69
+ async def _is_process_running(self, machine_name: str) -> bool:
70
+ """Check if target machine process is running"""
71
+ try:
72
+ # Run ps command asynchronously
73
+ process = await asyncio.create_subprocess_exec(
74
+ 'ps', 'aux',
75
+ stdout=asyncio.subprocess.PIPE,
76
+ stderr=asyncio.subprocess.PIPE
77
+ )
78
+
79
+ stdout, stderr = await asyncio.wait_for(
80
+ process.communicate(),
81
+ timeout=5
82
+ )
83
+
84
+ output = stdout.decode('utf-8')
85
+
86
+ # Look for state_machine/cli.py with machine name
87
+ is_running = ('state_machine/cli.py' in output and
88
+ machine_name in output)
89
+
90
+ logger.debug(f"Process check for {machine_name}: {'running' if is_running else 'not found'}")
91
+ return is_running
92
+
93
+ except asyncio.TimeoutError:
94
+ logger.error("Process check timed out") # No context available in helper method
95
+ return False
96
+ except Exception as e:
97
+ logger.error(f"Error checking process: {e}") # No context available in helper method
98
+ return False
99
+
100
+ def _get_current_state(self, machine_name: str) -> Optional[str]:
101
+ """Get current state from pipeline_results table"""
102
+ try:
103
+ with self.job_model.db._get_connection() as conn:
104
+ row = conn.execute("""
105
+ SELECT
106
+ json_extract(metadata, '$.state') as current_state,
107
+ completed_at
108
+ FROM pipeline_results
109
+ WHERE step_name = 'state_change'
110
+ AND json_extract(metadata, '$.machine') = ?
111
+ ORDER BY completed_at DESC
112
+ LIMIT 1
113
+ """, (machine_name,)).fetchone()
114
+
115
+ if not row:
116
+ logger.debug(f"No state data found for {machine_name}") # Keep without prefix - debug level
117
+ return None
118
+
119
+ # Check if state data is fresh
120
+ completed_at_str = row['completed_at']
121
+ state_time = datetime.fromisoformat(completed_at_str)
122
+ # Database stores UTC timestamps, use utcnow() for comparison
123
+ now = datetime.utcnow()
124
+ age = (now - state_time).total_seconds()
125
+
126
+ logger.debug(f"State timestamp for {machine_name}: completed_at={completed_at_str}, parsed={state_time}, now={now}, age={age:.1f}s") # Keep without prefix - debug level
127
+
128
+ if age > self.timeout_seconds:
129
+ logger.warning(f"State data for {machine_name} is stale ({age:.0f}s old, limit {self.timeout_seconds}s)") # Keep without prefix - internal helper
130
+ return None
131
+
132
+ state = row['current_state']
133
+ logger.debug(f"Current state for {machine_name}: {state} (age: {age:.1f}s)") # Keep without prefix - debug level
134
+ return state
135
+
136
+ except Exception as e:
137
+ logger.error(f"Error querying state for {machine_name}: {e}") # Keep without prefix - internal helper
138
+ return None