@tachybase/module-workflow 1.5.1 → 1.6.1

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 (75) hide show
  1. package/dist/client/WorkflowCategoriesProvider.d.ts +4 -0
  2. package/dist/client/components/ColletionTreeSelect.d.ts +16 -0
  3. package/dist/client/components/EnabledStatusFilter.d.ts +2 -0
  4. package/dist/client/components/WorkflowCategoryColumn.d.ts +8 -0
  5. package/dist/client/components/index.d.ts +3 -0
  6. package/dist/client/features/script/Script.instruction.d.ts +136 -0
  7. package/dist/client/features/script/ScriptCodeEditor.d.ts +9 -0
  8. package/dist/client/features/script/SyncRemoteCodeButton.d.ts +6 -0
  9. package/dist/client/features/trigger-instruction/TriggerInstruction.d.ts +164 -5
  10. package/dist/client/hooks/index.d.ts +2 -0
  11. package/dist/client/hooks/useDumpAction.d.ts +7 -0
  12. package/dist/client/hooks/useRevisionAction.d.ts +7 -0
  13. package/dist/client/index.d.ts +2 -0
  14. package/dist/client/index.js +85 -59
  15. package/dist/client/nodes/select.d.ts +235 -0
  16. package/dist/client/schemas/workflows.d.ts +5 -0
  17. package/dist/client/utils.d.ts +2 -2
  18. package/dist/externalVersion.js +9 -9
  19. package/dist/locale/en-US.json +49 -1
  20. package/dist/locale/es-ES.json +19 -1
  21. package/dist/locale/fr-FR.json +18 -0
  22. package/dist/locale/ja-JP.json +19 -1
  23. package/dist/locale/ko_KR.json +19 -1
  24. package/dist/locale/pt-BR.json +19 -1
  25. package/dist/locale/ru-RU.json +20 -2
  26. package/dist/locale/tr-TR.json +20 -2
  27. package/dist/locale/zh-CN.json +52 -1
  28. package/dist/node_modules/@babel/core/lib/index.js +77 -77
  29. package/dist/node_modules/@babel/core/node_modules/.bin/parser +4 -4
  30. package/dist/node_modules/@babel/core/package.json +1 -1
  31. package/dist/node_modules/@babel/preset-env/lib/index.js +88 -88
  32. package/dist/node_modules/@babel/preset-env/package.json +1 -1
  33. package/dist/node_modules/@babel/preset-react/lib/index.js +80 -80
  34. package/dist/node_modules/@babel/preset-react/package.json +1 -1
  35. package/dist/node_modules/@babel/preset-typescript/lib/index.js +77 -77
  36. package/dist/node_modules/@babel/preset-typescript/package.json +1 -1
  37. package/dist/node_modules/cron-parser/package.json +1 -1
  38. package/dist/node_modules/form-data/package.json +1 -1
  39. package/dist/node_modules/jsonata/package.json +1 -1
  40. package/dist/node_modules/lru-cache/package.json +1 -1
  41. package/dist/node_modules/mime-types/package.json +1 -1
  42. package/dist/node_modules/qrcode/package.json +1 -1
  43. package/dist/server/Plugin.js +57 -1
  44. package/dist/server/actions/executions.d.ts +3 -3
  45. package/dist/server/actions/executions.js +42 -30
  46. package/dist/server/actions/index.js +3 -2
  47. package/dist/server/actions/nodes.d.ts +13 -6
  48. package/dist/server/actions/nodes.js +160 -34
  49. package/dist/server/actions/workflows.d.ts +17 -8
  50. package/dist/server/actions/workflows.helpers.d.ts +55 -0
  51. package/dist/server/actions/workflows.helpers.js +167 -0
  52. package/dist/server/actions/workflows.js +118 -69
  53. package/dist/server/features/interception/RequestInterceptionTrigger.d.ts +1 -1
  54. package/dist/server/features/interception/RequestInterceptionTrigger.js +12 -12
  55. package/dist/server/features/manual/actions.d.ts +1 -1
  56. package/dist/server/features/manual/actions.js +12 -12
  57. package/dist/server/features/notice/actions.js +19 -19
  58. package/dist/server/features/notice/plugin.js +0 -3
  59. package/dist/server/features/omni-trigger/CustomActionTrigger.d.ts +2 -2
  60. package/dist/server/features/omni-trigger/CustomActionTrigger.js +27 -27
  61. package/dist/server/features/script/script.instruction.js +146 -4
  62. package/dist/server/features/trigger-instruction/TriggerInstruction.d.ts +4 -0
  63. package/dist/server/features/trigger-instruction/TriggerInstruction.js +71 -5
  64. package/dist/server/instructions/SelectInstruction.d.ts +13 -0
  65. package/dist/server/instructions/SelectInstruction.js +126 -0
  66. package/dist/server/services/remote-code-fetcher.d.ts +48 -0
  67. package/dist/server/services/remote-code-fetcher.js +370 -0
  68. package/dist/server/utils/get-remote-code-fetcher.d.ts +7 -0
  69. package/dist/server/utils/get-remote-code-fetcher.js +39 -0
  70. package/dist/server/utils.d.ts +16 -0
  71. package/dist/server/utils.js +33 -2
  72. package/package.json +12 -12
  73. package/dist/client/provider/EventSourceProvider.d.ts +0 -7
  74. package/dist/server/features/trigger-instruction/index.d.ts +0 -0
  75. package/dist/server/features/trigger-instruction/index.js +0 -0
@@ -1 +1 @@
1
- {"name":"@babel/preset-typescript","version":"7.27.1","description":"Babel preset for TypeScript.","repository":{"type":"git","url":"https://github.com/babel/babel.git","directory":"packages/babel-preset-typescript"},"license":"MIT","publishConfig":{"access":"public"},"main":"./lib/index.js","keywords":["babel-preset","typescript"],"dependencies":{"@babel/helper-plugin-utils":"^7.27.1","@babel/helper-validator-option":"^7.27.1","@babel/plugin-syntax-jsx":"^7.27.1","@babel/plugin-transform-modules-commonjs":"^7.27.1","@babel/plugin-transform-typescript":"^7.27.1"},"peerDependencies":{"@babel/core":"^7.0.0-0"},"devDependencies":{"@babel/core":"^7.27.1","@babel/helper-plugin-test-runner":"^7.27.1"},"homepage":"https://babel.dev/docs/en/next/babel-preset-typescript","bugs":"https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22area%3A%20typescript%22+is%3Aopen","engines":{"node":">=6.9.0"},"author":"The Babel Team (https://babel.dev/team)","type":"commonjs","_lastModified":"2025-11-17T13:33:42.250Z"}
1
+ {"name":"@babel/preset-typescript","version":"7.27.1","description":"Babel preset for TypeScript.","repository":{"type":"git","url":"https://github.com/babel/babel.git","directory":"packages/babel-preset-typescript"},"license":"MIT","publishConfig":{"access":"public"},"main":"./lib/index.js","keywords":["babel-preset","typescript"],"dependencies":{"@babel/helper-plugin-utils":"^7.27.1","@babel/helper-validator-option":"^7.27.1","@babel/plugin-syntax-jsx":"^7.27.1","@babel/plugin-transform-modules-commonjs":"^7.27.1","@babel/plugin-transform-typescript":"^7.27.1"},"peerDependencies":{"@babel/core":"^7.0.0-0"},"devDependencies":{"@babel/core":"^7.27.1","@babel/helper-plugin-test-runner":"^7.27.1"},"homepage":"https://babel.dev/docs/en/next/babel-preset-typescript","bugs":"https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22area%3A%20typescript%22+is%3Aopen","engines":{"node":">=6.9.0"},"author":"The Babel Team (https://babel.dev/team)","type":"commonjs","_lastModified":"2025-12-05T07:17:11.495Z"}
@@ -1 +1 @@
1
- {"name":"cron-parser","version":"4.9.0","description":"Node.js library for parsing crontab instructions","main":"lib/parser.js","types":"types/index.d.ts","typesVersions":{"<4.1":{"*":["types/ts3/*"]}},"directories":{"test":"test"},"scripts":{"test:tsd":"tsd","test:unit":"TZ=UTC tap ./test/*.js","test:cover":"TZ=UTC tap --coverage-report=html ./test/*.js","lint":"eslint .","lint:fix":"eslint --fix .","test":"npm run lint && npm run test:unit && npm run test:tsd"},"repository":{"type":"git","url":"https://github.com/harrisiirak/cron-parser.git"},"keywords":["cron","crontab","parser"],"author":"Harri Siirak","contributors":["Nicholas Clawson","Daniel Prentis <daniel@salsitasoft.com>","Renault John Lecoultre","Richard Astbury <richard.astbury@gmail.com>","Meaglin Wasabi <Meaglin.wasabi@gmail.com>","Mike Kusold <hello@mikekusold.com>","Alex Kit <alex.kit@atmajs.com>","Santiago Gimeno <santiago.gimeno@gmail.com>","Daniel <darc.tec@gmail.com>","Christian Steininger <christian.steininger.cs@gmail.com>","Mykola Piskovyi <m.piskovyi@gmail.com>","Brian Vaughn <brian.david.vaughn@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Yasuhiroki <yasuhiroki.duck@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Brendan Warkentin <faazshift@gmail.com>","Charlie Fish <fishcharlie.code@gmail.com>","Ian Graves <ian+diskimage@iangrav.es>","Andy Thompson <me@andytson.com>","Regev Brody <regevbr@gmail.com>"],"license":"MIT","dependencies":{"luxon":"^3.2.1"},"devDependencies":{"eslint":"^8.27.0","sinon":"^15.0.1","tap":"^16.3.3","tsd":"^0.26.0"},"engines":{"node":">=12.0.0"},"browser":{"fs":false},"tap":{"check-coverage":false},"tsd":{"directory":"test","compilerOptions":{"lib":["es2017","dom"]}},"files":["lib","types","LICENSE","README.md"],"_lastModified":"2025-11-17T13:33:42.480Z"}
1
+ {"name":"cron-parser","version":"4.9.0","description":"Node.js library for parsing crontab instructions","main":"lib/parser.js","types":"types/index.d.ts","typesVersions":{"<4.1":{"*":["types/ts3/*"]}},"directories":{"test":"test"},"scripts":{"test:tsd":"tsd","test:unit":"TZ=UTC tap ./test/*.js","test:cover":"TZ=UTC tap --coverage-report=html ./test/*.js","lint":"eslint .","lint:fix":"eslint --fix .","test":"npm run lint && npm run test:unit && npm run test:tsd"},"repository":{"type":"git","url":"https://github.com/harrisiirak/cron-parser.git"},"keywords":["cron","crontab","parser"],"author":"Harri Siirak","contributors":["Nicholas Clawson","Daniel Prentis <daniel@salsitasoft.com>","Renault John Lecoultre","Richard Astbury <richard.astbury@gmail.com>","Meaglin Wasabi <Meaglin.wasabi@gmail.com>","Mike Kusold <hello@mikekusold.com>","Alex Kit <alex.kit@atmajs.com>","Santiago Gimeno <santiago.gimeno@gmail.com>","Daniel <darc.tec@gmail.com>","Christian Steininger <christian.steininger.cs@gmail.com>","Mykola Piskovyi <m.piskovyi@gmail.com>","Brian Vaughn <brian.david.vaughn@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Yasuhiroki <yasuhiroki.duck@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Brendan Warkentin <faazshift@gmail.com>","Charlie Fish <fishcharlie.code@gmail.com>","Ian Graves <ian+diskimage@iangrav.es>","Andy Thompson <me@andytson.com>","Regev Brody <regevbr@gmail.com>"],"license":"MIT","dependencies":{"luxon":"^3.2.1"},"devDependencies":{"eslint":"^8.27.0","sinon":"^15.0.1","tap":"^16.3.3","tsd":"^0.26.0"},"engines":{"node":">=12.0.0"},"browser":{"fs":false},"tap":{"check-coverage":false},"tsd":{"directory":"test","compilerOptions":{"lib":["es2017","dom"]}},"files":["lib","types","LICENSE","README.md"],"_lastModified":"2025-12-05T07:17:11.748Z"}
@@ -1 +1 @@
1
- {"author":"Felix Geisendörfer <felix@debuggable.com> (http://debuggable.com/)","name":"form-data","description":"A library to create readable \"multipart/form-data\" streams. Can be used to submit forms and file uploads to other web applications.","version":"4.0.4","repository":{"type":"git","url":"git://github.com/form-data/form-data.git"},"main":"./lib/form_data","browser":"./lib/browser","typings":"./index.d.ts","scripts":{"pretest":"npm run lint","pretests-only":"rimraf coverage test/tmp","tests-only":"istanbul cover test/run.js","posttests-only":"istanbul report lcov text","test":"npm run tests-only","posttest":"npx npm@'>=10.2' audit --production","lint":"eslint --ext=js,mjs .","report":"istanbul report lcov text","ci-lint":"is-node-modern 8 && npm run lint || is-node-not-modern 8","ci-test":"npm run tests-only && npm run browser && npm run report","predebug":"rimraf coverage test/tmp","debug":"verbose=1 ./test/run.js","browser":"browserify -t browserify-istanbul test/run-browser.js | obake --coverage","check":"istanbul check-coverage coverage/coverage*.json","files":"pkgfiles --sort=name","get-version":"node -e \"console.log(require('./package.json').version)\"","update-readme":"sed -i.bak 's/\\/master\\.svg/\\/v'$(npm --silent run get-version)'.svg/g' README.md","postupdate-readme":"mv README.md.bak READ.ME.md.bak","restore-readme":"mv READ.ME.md.bak README.md","prepublish":"not-in-publish || npm run prepublishOnly","prepack":"npm run update-readme","postpack":"npm run restore-readme","version":"auto-changelog && git add CHANGELOG.md","postversion":"auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""},"engines":{"node":">= 6"},"dependencies":{"asynckit":"^0.4.0","combined-stream":"^1.0.8","es-set-tostringtag":"^2.1.0","hasown":"^2.0.2","mime-types":"^2.1.12"},"devDependencies":{"@ljharb/eslint-config":"^21.2.0","auto-changelog":"^2.5.0","browserify":"^13.3.0","browserify-istanbul":"^2.0.0","coveralls":"^3.1.1","cross-spawn":"^6.0.6","eslint":"=8.8.0","fake":"^0.2.2","far":"^0.0.7","formidable":"^1.2.6","in-publish":"^2.0.1","is-node-modern":"^1.0.0","istanbul":"^0.4.5","obake":"^0.1.2","pkgfiles":"^2.3.2","pre-commit":"^1.2.2","predict-v8-randomness":"^1.0.35","puppeteer":"^1.20.0","request":"~2.87.0","rimraf":"^2.7.1","semver":"^6.3.1","tape":"^5.9.0"},"license":"MIT","auto-changelog":{"output":"CHANGELOG.md","template":"keepachangelog","unreleased":false,"commitLimit":false,"backfillLimit":false,"hideCredit":true},"_lastModified":"2025-11-17T13:33:28.941Z"}
1
+ {"author":"Felix Geisendörfer <felix@debuggable.com> (http://debuggable.com/)","name":"form-data","description":"A library to create readable \"multipart/form-data\" streams. Can be used to submit forms and file uploads to other web applications.","version":"4.0.4","repository":{"type":"git","url":"git://github.com/form-data/form-data.git"},"main":"./lib/form_data","browser":"./lib/browser","typings":"./index.d.ts","scripts":{"pretest":"npm run lint","pretests-only":"rimraf coverage test/tmp","tests-only":"istanbul cover test/run.js","posttests-only":"istanbul report lcov text","test":"npm run tests-only","posttest":"npx npm@'>=10.2' audit --production","lint":"eslint --ext=js,mjs .","report":"istanbul report lcov text","ci-lint":"is-node-modern 8 && npm run lint || is-node-not-modern 8","ci-test":"npm run tests-only && npm run browser && npm run report","predebug":"rimraf coverage test/tmp","debug":"verbose=1 ./test/run.js","browser":"browserify -t browserify-istanbul test/run-browser.js | obake --coverage","check":"istanbul check-coverage coverage/coverage*.json","files":"pkgfiles --sort=name","get-version":"node -e \"console.log(require('./package.json').version)\"","update-readme":"sed -i.bak 's/\\/master\\.svg/\\/v'$(npm --silent run get-version)'.svg/g' README.md","postupdate-readme":"mv README.md.bak READ.ME.md.bak","restore-readme":"mv READ.ME.md.bak README.md","prepublish":"not-in-publish || npm run prepublishOnly","prepack":"npm run update-readme","postpack":"npm run restore-readme","version":"auto-changelog && git add CHANGELOG.md","postversion":"auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""},"engines":{"node":">= 6"},"dependencies":{"asynckit":"^0.4.0","combined-stream":"^1.0.8","es-set-tostringtag":"^2.1.0","hasown":"^2.0.2","mime-types":"^2.1.12"},"devDependencies":{"@ljharb/eslint-config":"^21.2.0","auto-changelog":"^2.5.0","browserify":"^13.3.0","browserify-istanbul":"^2.0.0","coveralls":"^3.1.1","cross-spawn":"^6.0.6","eslint":"=8.8.0","fake":"^0.2.2","far":"^0.0.7","formidable":"^1.2.6","in-publish":"^2.0.1","is-node-modern":"^1.0.0","istanbul":"^0.4.5","obake":"^0.1.2","pkgfiles":"^2.3.2","pre-commit":"^1.2.2","predict-v8-randomness":"^1.0.35","puppeteer":"^1.20.0","request":"~2.87.0","rimraf":"^2.7.1","semver":"^6.3.1","tape":"^5.9.0"},"license":"MIT","auto-changelog":{"output":"CHANGELOG.md","template":"keepachangelog","unreleased":false,"commitLimit":false,"backfillLimit":false,"hideCredit":true},"_lastModified":"2025-12-05T07:16:52.461Z"}
@@ -1 +1 @@
1
- {"name":"jsonata","version":"2.0.6","description":"JSON query and transformation language","module":"jsonata.js","main":"jsonata.js","typings":"jsonata.d.ts","homepage":"http://jsonata.org/","repository":{"type":"git","url":"https://github.com/jsonata-js/jsonata.git"},"scripts":{"pretest":"npm run lint","mocha":"nyc ./node_modules/mocha/bin/_mocha -- \"test/**/*.js\"","test":"npm run mocha","posttest":"npm run check-coverage && npm run browserify && npm run minify && npm run build-es5","build-es5":"npm run mkdir-dist && npm run regenerator && npm run browserify-es5 && npm run minify-es5","check-coverage":"nyc check-coverage --statements 100 --branches 100 --functions 100 --lines 100","browserify":"browserify src/jsonata.js --outfile jsonata.js --standalone jsonata","mkdir-dist":"mkdirp ./dist","regenerator":"babel src --out-dir dist --presets=@babel/env","browserify-es5":"regenerator --include-runtime polyfill.js > jsonata-es5.js; browserify dist/jsonata.js --standalone jsonata >> jsonata-es5.js","prepublishOnly":"npm run browserify && npm run minify && npm run build-es5","lint":"eslint src","doc":"jsdoc --configure jsdoc.json .","cover":"nyc _mocha","minify":"uglifyjs jsonata.js -o jsonata.min.js --compress --mangle","minify-es5":"uglifyjs jsonata-es5.js -o jsonata-es5.min.js --compress --mangle"},"license":"MIT","keywords":["JSON","query","transformation","transform","mapping","path"],"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.4","@babel/preset-env":"^7.8.4","browserify":"^16.5.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"8.0.0","eslint-plugin-ideal":"^0.1.3","eslint-plugin-promise":"^6.0.0","jsdoc":"^3.6.3","mkdirp":"^1.0.3","mocha":"^7.0.1","mocha-lcov-reporter":"^1.3.0","nyc":"^15.1.0","regenerator":"^0.14.4","request":"^2.88.2","uglify-es":"^3.3.10"},"engines":{"node":">= 8"},"_lastModified":"2025-11-17T13:33:29.938Z"}
1
+ {"name":"jsonata","version":"2.0.6","description":"JSON query and transformation language","module":"jsonata.js","main":"jsonata.js","typings":"jsonata.d.ts","homepage":"http://jsonata.org/","repository":{"type":"git","url":"https://github.com/jsonata-js/jsonata.git"},"scripts":{"pretest":"npm run lint","mocha":"nyc ./node_modules/mocha/bin/_mocha -- \"test/**/*.js\"","test":"npm run mocha","posttest":"npm run check-coverage && npm run browserify && npm run minify && npm run build-es5","build-es5":"npm run mkdir-dist && npm run regenerator && npm run browserify-es5 && npm run minify-es5","check-coverage":"nyc check-coverage --statements 100 --branches 100 --functions 100 --lines 100","browserify":"browserify src/jsonata.js --outfile jsonata.js --standalone jsonata","mkdir-dist":"mkdirp ./dist","regenerator":"babel src --out-dir dist --presets=@babel/env","browserify-es5":"regenerator --include-runtime polyfill.js > jsonata-es5.js; browserify dist/jsonata.js --standalone jsonata >> jsonata-es5.js","prepublishOnly":"npm run browserify && npm run minify && npm run build-es5","lint":"eslint src","doc":"jsdoc --configure jsdoc.json .","cover":"nyc _mocha","minify":"uglifyjs jsonata.js -o jsonata.min.js --compress --mangle","minify-es5":"uglifyjs jsonata-es5.js -o jsonata-es5.min.js --compress --mangle"},"license":"MIT","keywords":["JSON","query","transformation","transform","mapping","path"],"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.4","@babel/preset-env":"^7.8.4","browserify":"^16.5.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"8.0.0","eslint-plugin-ideal":"^0.1.3","eslint-plugin-promise":"^6.0.0","jsdoc":"^3.6.3","mkdirp":"^1.0.3","mocha":"^7.0.1","mocha-lcov-reporter":"^1.3.0","nyc":"^15.1.0","regenerator":"^0.14.4","request":"^2.88.2","uglify-es":"^3.3.10"},"engines":{"node":">= 8"},"_lastModified":"2025-12-05T07:16:53.508Z"}
@@ -1 +1 @@
1
- {"type":"commonjs","_lastModified":"2025-11-17T13:33:28.527Z"}
1
+ {"type":"commonjs","_lastModified":"2025-12-05T07:16:52.047Z"}
@@ -1 +1 @@
1
- {"name":"mime-types","description":"The ultimate javascript content-type utility.","version":"3.0.1","contributors":["Douglas Christopher Wilson <doug@somethingdoug.com>","Jeremiah Senkpiel <fishrock123@rocketmail.com> (https://searchbeam.jit.su)","Jonathan Ong <me@jongleberry.com> (http://jongleberry.com)"],"license":"MIT","keywords":["mime","types"],"repository":"jshttp/mime-types","dependencies":{"mime-db":"^1.54.0"},"devDependencies":{"eslint":"8.33.0","eslint-config-standard":"14.1.1","eslint-plugin-import":"2.27.5","eslint-plugin-markdown":"3.0.0","eslint-plugin-node":"11.1.0","eslint-plugin-promise":"6.1.1","eslint-plugin-standard":"4.1.0","mocha":"10.2.0","nyc":"15.1.0"},"files":["HISTORY.md","LICENSE","index.js","mimeScore.js"],"engines":{"node":">= 0.6"},"scripts":{"lint":"eslint .","test":"mocha --reporter spec test/test.js","test-ci":"nyc --reporter=lcov --reporter=text npm test","test-cov":"nyc --reporter=html --reporter=text npm test"},"_lastModified":"2025-11-17T13:33:29.106Z"}
1
+ {"name":"mime-types","description":"The ultimate javascript content-type utility.","version":"3.0.1","contributors":["Douglas Christopher Wilson <doug@somethingdoug.com>","Jeremiah Senkpiel <fishrock123@rocketmail.com> (https://searchbeam.jit.su)","Jonathan Ong <me@jongleberry.com> (http://jongleberry.com)"],"license":"MIT","keywords":["mime","types"],"repository":"jshttp/mime-types","dependencies":{"mime-db":"^1.54.0"},"devDependencies":{"eslint":"8.33.0","eslint-config-standard":"14.1.1","eslint-plugin-import":"2.27.5","eslint-plugin-markdown":"3.0.0","eslint-plugin-node":"11.1.0","eslint-plugin-promise":"6.1.1","eslint-plugin-standard":"4.1.0","mocha":"10.2.0","nyc":"15.1.0"},"files":["HISTORY.md","LICENSE","index.js","mimeScore.js"],"engines":{"node":">= 0.6"},"scripts":{"lint":"eslint .","test":"mocha --reporter spec test/test.js","test-ci":"nyc --reporter=lcov --reporter=text npm test","test-cov":"nyc --reporter=html --reporter=text npm test"},"_lastModified":"2025-12-05T07:16:52.637Z"}
@@ -1 +1 @@
1
- {"name":"qrcode","description":"QRCode / 2d Barcode api with both server side and client side support using canvas","version":"1.5.4","author":"Ryan Day <soldair@gmail.com>","contributors":["Vincenzo Greco <greco.vincenzo@gmail.com>","Linus Unnebäck <linus@folkdatorn.se>"],"keywords":["qr","code","canvas","qrcode"],"main":"./lib/index.js","browser":{"./lib/index.js":"./lib/browser.js","fs":false},"files":["bin","build","lib","helper"],"homepage":"http://github.com/soldair/node-qrcode","license":"MIT","scripts":{"lint":"standard","pretest":"npm run lint","test":"node --throw-deprecation test.js","build":"rollup -c","prepublish":"npm run build","browser":"node examples/clientsideserver.js"},"bin":{"qrcode":"./bin/qrcode"},"dependencies":{"dijkstrajs":"^1.0.1","pngjs":"^5.0.0","yargs":"^15.3.1"},"devDependencies":{"@babel/core":"^7.9.0","@babel/preset-env":"^7.9.5","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-node-resolve":"^7.1.3","browserify":"^16.5.1","canvas":"^2.8.0","canvasutil":"0.0.4","colors":"^1.4.0","express":"^4.17.1","htmlparser2":"^4.1.0","rollup":"^2.6.1","rollup-plugin-babel":"^4.4.0","rollup-plugin-terser":"^5.3.0","sinon":"^9.0.2","standard":"^16.0.4","tap":"^16.2.0"},"repository":{"type":"git","url":"git://github.com/soldair/node-qrcode.git"},"engines":{"node":">=10.13.0"},"standard":{"ignore":["build/","examples/vendors/","lib/core/regex.js"]},"_lastModified":"2025-11-17T13:33:29.541Z"}
1
+ {"name":"qrcode","description":"QRCode / 2d Barcode api with both server side and client side support using canvas","version":"1.5.4","author":"Ryan Day <soldair@gmail.com>","contributors":["Vincenzo Greco <greco.vincenzo@gmail.com>","Linus Unnebäck <linus@folkdatorn.se>"],"keywords":["qr","code","canvas","qrcode"],"main":"./lib/index.js","browser":{"./lib/index.js":"./lib/browser.js","fs":false},"files":["bin","build","lib","helper"],"homepage":"http://github.com/soldair/node-qrcode","license":"MIT","scripts":{"lint":"standard","pretest":"npm run lint","test":"node --throw-deprecation test.js","build":"rollup -c","prepublish":"npm run build","browser":"node examples/clientsideserver.js"},"bin":{"qrcode":"./bin/qrcode"},"dependencies":{"dijkstrajs":"^1.0.1","pngjs":"^5.0.0","yargs":"^15.3.1"},"devDependencies":{"@babel/core":"^7.9.0","@babel/preset-env":"^7.9.5","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-node-resolve":"^7.1.3","browserify":"^16.5.1","canvas":"^2.8.0","canvasutil":"0.0.4","colors":"^1.4.0","express":"^4.17.1","htmlparser2":"^4.1.0","rollup":"^2.6.1","rollup-plugin-babel":"^4.4.0","rollup-plugin-terser":"^5.3.0","sinon":"^9.0.2","standard":"^16.0.4","tap":"^16.2.0"},"repository":{"type":"git","url":"git://github.com/soldair/node-qrcode.git"},"engines":{"node":">=10.13.0"},"standard":{"ignore":["build/","examples/vendors/","lib/core/regex.js"]},"_lastModified":"2025-12-05T07:16:53.093Z"}
@@ -4,6 +4,12 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __getProtoOf = Object.getPrototypeOf;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
8
+ var __typeError = (msg) => {
9
+ throw TypeError(msg);
10
+ };
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
7
13
  var __export = (target, all) => {
8
14
  for (var name in all)
9
15
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -25,6 +31,44 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
25
31
  mod
26
32
  ));
27
33
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
34
+ var __decoratorStart = (base) => [, , , __create((base == null ? void 0 : base[__knownSymbol("metadata")]) ?? null)];
35
+ var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
36
+ var __expectFn = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError("Function expected") : fn;
37
+ var __decoratorContext = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null)) });
38
+ var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
39
+ var __runInitializers = (array, flags, self, value) => {
40
+ for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
41
+ return value;
42
+ };
43
+ var __decorateElement = (array, flags, name, decorators, target, extra) => {
44
+ var fn, it, done, ctx, access, k = flags & 7, s = !!(flags & 8), p = !!(flags & 16);
45
+ var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0, key = __decoratorStrings[k + 5];
46
+ var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);
47
+ var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc(k < 4 ? target : { get [name]() {
48
+ return __privateGet(this, extra);
49
+ }, set [name](x) {
50
+ return __privateSet(this, extra, x);
51
+ } }, name));
52
+ k ? p && k < 4 && __name(extra, (k > 2 ? "set " : k > 1 ? "get " : "") + name) : __name(target, name);
53
+ for (var i = decorators.length - 1; i >= 0; i--) {
54
+ ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
55
+ if (k) {
56
+ ctx.static = s, ctx.private = p, access = ctx.access = { has: p ? (x) => __privateIn(target, x) : (x) => name in x };
57
+ if (k ^ 3) access.get = p ? (x) => (k ^ 1 ? __privateGet : __privateMethod)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];
58
+ if (k > 2) access.set = p ? (x, y) => __privateSet(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;
59
+ }
60
+ it = (0, decorators[i])(k ? k < 4 ? p ? extra : desc[key] : k > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;
61
+ if (k ^ 4 || it === void 0) __expectFn(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);
62
+ else if (typeof it !== "object" || it === null) __typeError("Object expected");
63
+ else __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);
64
+ }
65
+ return k || __decoratorMetadata(array, target), desc && __defProp(target, name, desc), p ? k ^ 4 ? extra : desc : target;
66
+ };
67
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
68
+ var __privateIn = (member, obj) => Object(obj) !== obj ? __typeError('Cannot use the "in" operator on this value') : member.has(obj);
69
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
70
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
71
+ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
28
72
  var Plugin_exports = {};
29
73
  __export(Plugin_exports, {
30
74
  default: () => PluginWorkflowServer
@@ -59,12 +103,18 @@ var import_CreateInstruction = __toESM(require("./instructions/CreateInstruction
59
103
  var import_DestroyInstruction = __toESM(require("./instructions/DestroyInstruction"));
60
104
  var import_EndInstruction = __toESM(require("./instructions/EndInstruction"));
61
105
  var import_QueryInstruction = __toESM(require("./instructions/QueryInstruction"));
106
+ var import_SelectInstruction = __toESM(require("./instructions/SelectInstruction"));
62
107
  var import_UpdateInstruction = __toESM(require("./instructions/UpdateInstruction"));
63
108
  var import_UpdateOrCreateInstruction = __toESM(require("./instructions/UpdateOrCreateInstruction"));
64
109
  var import_Processor = __toESM(require("./Processor"));
110
+ var import_remote_code_fetcher = require("./services/remote-code-fetcher");
65
111
  var import_CollectionTrigger = __toESM(require("./triggers/CollectionTrigger"));
66
112
  var import_ScheduleTrigger = __toESM(require("./triggers/ScheduleTrigger"));
67
- class PluginWorkflowServer extends import_server.Plugin {
113
+ var _PluginWorkflowServer_decorators, _init, _a;
114
+ _PluginWorkflowServer_decorators = [(0, import_server.InjectedPlugin)({
115
+ Services: [import_remote_code_fetcher.WorkflowRemoteCodeFetcher]
116
+ })];
117
+ class PluginWorkflowServer extends (_a = import_server.Plugin) {
68
118
  constructor(app, options) {
69
119
  super(app, options);
70
120
  this.instructions = new import_server.Registry();
@@ -76,6 +126,7 @@ class PluginWorkflowServer extends import_server.Plugin {
76
126
  this.pending = [];
77
127
  this.events = [];
78
128
  this.eventsCount = 0;
129
+ this.loggerCache = void 0;
79
130
  this.meter = null;
80
131
  this.onBeforeSave = async (instance, options) => {
81
132
  const Model = instance.constructor;
@@ -215,6 +266,7 @@ class PluginWorkflowServer extends import_server.Plugin {
215
266
  this.registerInstruction("updateorcreate", import_UpdateOrCreateInstruction.default);
216
267
  this.registerInstruction("destroy", import_DestroyInstruction.default);
217
268
  this.registerInstruction("query", import_QueryInstruction.default);
269
+ this.registerInstruction("select", import_SelectInstruction.default);
218
270
  this.registerInstruction("update", import_UpdateInstruction.default);
219
271
  for (const [name, instruction] of Object.entries({ ...more })) {
220
272
  this.registerInstruction(name, instruction);
@@ -246,6 +298,7 @@ class PluginWorkflowServer extends import_server.Plugin {
246
298
  "flow_nodes:destroy",
247
299
  "flow_nodes:moveUp",
248
300
  "flow_nodes:moveDown",
301
+ "flow_nodes:syncRemoteCode",
249
302
  "workflowCategories:*"
250
303
  ]
251
304
  });
@@ -506,3 +559,6 @@ class PluginWorkflowServer extends import_server.Plugin {
506
559
  }
507
560
  }
508
561
  }
562
+ _init = __decoratorStart(_a);
563
+ PluginWorkflowServer = __decorateElement(_init, 0, "PluginWorkflowServer", _PluginWorkflowServer_decorators, PluginWorkflowServer);
564
+ __runInitializers(_init, 1, PluginWorkflowServer);
@@ -1,4 +1,4 @@
1
1
  import { Context, Next } from '@tego/server';
2
- export declare function destroy(context: Context, next: any): Promise<void>;
3
- export declare function cancel(context: Context, next: any): Promise<never>;
4
- export declare function retry(context: Context, next: Next): Promise<void>;
2
+ export declare function destroy(ctx: Context, next: any): Promise<void>;
3
+ export declare function cancel(ctx: Context, next: any): Promise<never>;
4
+ export declare function retry(ctx: Context, next: Next): Promise<never>;
@@ -35,33 +35,34 @@ module.exports = __toCommonJS(executions_exports);
35
35
  var import_server = require("@tego/server");
36
36
  var import_constants = require("../constants");
37
37
  var import_Plugin = __toESM(require("../Plugin"));
38
- async function destroy(context, next) {
39
- context.action.mergeParams({
38
+ var import_utils = require("../utils");
39
+ async function destroy(ctx, next) {
40
+ ctx.action.mergeParams({
40
41
  filter: {
41
42
  status: {
42
43
  [import_server.Op.ne]: import_constants.EXECUTION_STATUS.STARTED
43
44
  }
44
45
  }
45
46
  });
46
- await import_server.actions.destroy(context, next);
47
+ await import_server.actions.destroy(ctx, next);
47
48
  }
48
- async function cancel(context, next) {
49
- const { filterByTk } = context.action.params;
50
- const ExecutionRepo = context.db.getRepository("executions");
51
- const JobRepo = context.db.getRepository("jobs");
49
+ async function cancel(ctx, next) {
50
+ const { filterByTk } = ctx.action.params;
51
+ const ExecutionRepo = ctx.db.getRepository("executions");
52
+ const JobRepo = ctx.db.getRepository("jobs");
52
53
  const execution = await ExecutionRepo.findOne({
53
54
  filterByTk,
54
55
  appends: ["jobs"]
55
56
  });
56
57
  if (!execution) {
57
- return context.throw(404);
58
+ return ctx.throw(404);
58
59
  }
59
60
  if (execution.status) {
60
- return context.throw(400);
61
+ return ctx.throw(400);
61
62
  }
62
63
  const cancelAt = /* @__PURE__ */ new Date();
63
64
  const executionDuration = cancelAt.getTime() - execution.createdAt.getTime();
64
- await context.db.sequelize.transaction(async (transaction) => {
65
+ await ctx.db.sequelize.transaction(async (transaction) => {
65
66
  await execution.update(
66
67
  {
67
68
  executionCost: executionDuration,
@@ -82,45 +83,56 @@ async function cancel(context, next) {
82
83
  transaction
83
84
  });
84
85
  });
85
- context.body = execution;
86
+ ctx.body = execution;
86
87
  await next();
87
88
  }
88
- async function retry(context, next) {
89
- const plugin = context.app.getPlugin(import_Plugin.default);
90
- const repository = import_server.utils.getRepositoryFromParams(context);
91
- const { filterByTk, filter = {}, values = {} } = context.action.params;
92
- const WorkflowRepo = context.db.getRepository("workflows");
93
- if (!context.state) {
94
- context.state = {};
89
+ async function retry(ctx, next) {
90
+ const plugin = ctx.tego.pm.get(import_Plugin.default);
91
+ const repository = import_server.utils.getRepositoryFromParams(ctx);
92
+ const { filterByTk, filter = {}, values = {} } = ctx.action.params;
93
+ const WorkflowRepo = ctx.db.getRepository("workflows");
94
+ if (!ctx.state) {
95
+ ctx.state = {};
95
96
  }
96
- if (!context.state.messages) {
97
- context.state.messages = [];
97
+ if (!ctx.state.messages) {
98
+ ctx.state.messages = [];
98
99
  }
99
100
  if (!filterByTk) {
100
- context.throw(400, context.t("Execution ID is required", { ns: "workflow" }));
101
+ ctx.throw(400, ctx.t("Execution ID is required", { ns: "workflow" }));
101
102
  }
102
103
  const execution = await repository.findOne({
103
104
  filterByTk
104
105
  });
105
106
  if (!execution) {
106
- context.throw(404, context.t("No execution records found for this workflow.", { ns: "workflow" }));
107
+ ctx.throw(404, ctx.t("No execution records found for this workflow.", { ns: "workflow" }));
107
108
  }
108
109
  const workflow = await WorkflowRepo.findOne({
109
110
  filterByTk: execution.workflowId,
110
111
  appends: ["nodes"],
111
- context
112
+ context: ctx
112
113
  });
113
114
  if (!workflow) {
114
- context.throw(404, context.t("Associated workflow not found.", { ns: "workflow" }));
115
+ ctx.throw(404, ctx.t("Associated workflow not found.", { ns: "workflow" }));
115
116
  }
116
117
  try {
117
- const result = await plugin.trigger(workflow, execution.context, { httpContext: context });
118
- context.app.logger.info(result);
119
- context.state.messages.push({ message: context.t("Execute ended", { ns: "workflow" }) });
120
- context.body = { executionId: execution.id };
118
+ const newExecution = await (0, import_utils.triggerWorkflowAndGetExecution)(
119
+ plugin,
120
+ workflow,
121
+ execution.context,
122
+ { httpContext: ctx, transaction: ctx.transaction },
123
+ ctx.db
124
+ );
125
+ if (!newExecution) {
126
+ ctx.state.messages.push({
127
+ message: ctx.t("Failed to create execution", { ns: "workflow" })
128
+ });
129
+ return ctx.throw(500, ctx.t("Failed to create execution", { ns: "workflow" }));
130
+ }
131
+ ctx.state.messages.push({ message: ctx.t("Execute ended", { ns: "workflow" }) });
132
+ ctx.body = newExecution;
121
133
  } catch (error) {
122
- context.app.logger.error(`Failed to retry execution ${execution.id}: ${error.message}`);
123
- context.throw(500, context.t("Failed to retry execution", { ns: "workflow" }));
134
+ ctx.tego.logger.error(`Failed to retry execution ${execution.id}: ${error.message}`);
135
+ ctx.throw(500, ctx.t("Failed to retry execution", { ns: "workflow" }));
124
136
  }
125
137
  await next();
126
138
  }
@@ -43,7 +43,7 @@ function make(name, mod) {
43
43
  );
44
44
  }
45
45
  function actions_default({ app }) {
46
- app.actions({
46
+ app.resourcer.registerActions({
47
47
  ...make("workflows", workflows),
48
48
  ...make("workflows.nodes", {
49
49
  create: nodes.create
@@ -52,7 +52,8 @@ function actions_default({ app }) {
52
52
  update: nodes.update,
53
53
  destroy: nodes.destroy,
54
54
  moveUp: nodes.moveUp,
55
- moveDown: nodes.moveDown
55
+ moveDown: nodes.moveDown,
56
+ syncRemoteCode: nodes.syncRemoteCode
56
57
  }),
57
58
  ...make("executions", executions)
58
59
  });
@@ -1,6 +1,13 @@
1
- import { Context } from '@tego/server';
2
- export declare function create(context: Context, next: any): Promise<void>;
3
- export declare function destroy(context: Context, next: any): Promise<void>;
4
- export declare function update(context: Context, next: any): Promise<void>;
5
- export declare function moveUp(context: Context, next: any): Promise<void>;
6
- export declare function moveDown(context: Context, next: any): Promise<void>;
1
+ import { Context, Next } from '@tego/server';
2
+ export declare function create(ctx: Context, next: any): Promise<void>;
3
+ export declare function destroy(ctx: Context, next: any): Promise<void>;
4
+ export declare function update(ctx: Context, next: any): Promise<void>;
5
+ export declare function moveUp(ctx: Context, next: any): Promise<void>;
6
+ export declare function moveDown(ctx: Context, next: any): Promise<void>;
7
+ /**
8
+ * 同步远程代码
9
+ * 从远程地址获取代码并返回
10
+ * 注意:此函数用于手动同步,总是获取最新代码并更新缓存
11
+ * 缓存机制在 script.instruction.ts 中的节点执行时使用(直接使用数据库中的缓存,不检查时间戳)
12
+ */
13
+ export declare function syncRemoteCode(ctx: Context, next: Next): Promise<void>;