procesio-cli 0.1.1__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 (647) hide show
  1. procesio_cli/__init__.py +18 -0
  2. procesio_cli/_cli.py +71 -0
  3. procesio_cli/agents/__init__.py +0 -0
  4. procesio_cli/agents/_lib/__init__.py +0 -0
  5. procesio_cli/agents/_lib/actiondef.py +24 -0
  6. procesio_cli/agents/_lib/errors.py +40 -0
  7. procesio_cli/agents/_lib/reversibility.py +236 -0
  8. procesio_cli/agents/_lib/toolrunner.py +141 -0
  9. procesio_cli/agents/connector-builder/CONNECTOR-BUILDER-PLAYBOOK.md +62 -0
  10. procesio_cli/agents/connector-builder/CONNECTOR-BUILDER-PROCESIO-INTEROP.md +76 -0
  11. procesio_cli/agents/connector-builder/CONNECTOR-BUILDER-TROUBLESHOOTING.md +60 -0
  12. procesio_cli/agents/connector-builder/README.md +51 -0
  13. procesio_cli/agents/connector-builder/agent.yaml +61 -0
  14. procesio_cli/agents/connector-builder/context.py +19 -0
  15. procesio_cli/agents/connector-builder/handlers/__init__.py +1 -0
  16. procesio_cli/agents/connector-builder/handlers/checklist.py +71 -0
  17. procesio_cli/agents/connector-builder/handlers/guidance.py +37 -0
  18. procesio_cli/agents/connector-builder/handlers/nextstep.py +221 -0
  19. procesio_cli/agents/connector-builder/handlers/status.py +35 -0
  20. procesio_cli/agents/connector-builder/knowledge.py +47 -0
  21. procesio_cli/agents/connector-builder/main.py +93 -0
  22. procesio_cli/agents/connector-builder/tests/conftest.py +95 -0
  23. procesio_cli/agents/connector-builder/tests/test_cba_agent.py +148 -0
  24. procesio_cli/agents/orchestrator/__init__.py +0 -0
  25. procesio_cli/agents/orchestrator/bootstraplib.py +166 -0
  26. procesio_cli/agents/procesio/IMPLEMENTATION-PATTERNS/00-INDEX.md +60 -0
  27. procesio_cli/agents/procesio/IMPLEMENTATION-PATTERNS/01-PROCESSES.md +230 -0
  28. procesio_cli/agents/procesio/IMPLEMENTATION-PATTERNS/02-FORMS.md +287 -0
  29. procesio_cli/agents/procesio/IMPLEMENTATION-PATTERNS/03-INTEGRATIONS.md +384 -0
  30. procesio_cli/agents/procesio/IMPLEMENTATION-PATTERNS/04-DATABASE.md +293 -0
  31. procesio_cli/agents/procesio/PROCESIO-API-RELIABILITY-DOCTRINE.md +113 -0
  32. procesio_cli/agents/procesio/PROCESIO-BEST-PRACTICES.md +316 -0
  33. procesio_cli/agents/procesio/PROCESIO-BUILD-AND-TEST-PLAYBOOK.md +217 -0
  34. procesio_cli/agents/procesio/PROCESIO-DATASTORE.md +72 -0
  35. procesio_cli/agents/procesio/PROCESIO-ENVIRONMENTS.md +62 -0
  36. procesio_cli/agents/procesio/PROCESIO-SCHEDULING.md +47 -0
  37. procesio_cli/agents/procesio/PROCESIO-VISUAL-ORGANIZATION.md +175 -0
  38. procesio_cli/agents/procesio/README.md +97 -0
  39. procesio_cli/agents/procesio/__init__.py +0 -0
  40. procesio_cli/agents/procesio/agent.yaml +73 -0
  41. procesio_cli/agents/procesio/audit.py +226 -0
  42. procesio_cli/agents/procesio/checklist.py +135 -0
  43. procesio_cli/agents/procesio/context.py +19 -0
  44. procesio_cli/agents/procesio/handlers/__init__.py +0 -0
  45. procesio_cli/agents/procesio/handlers/audit.py +39 -0
  46. procesio_cli/agents/procesio/handlers/checklist.py +34 -0
  47. procesio_cli/agents/procesio/handlers/guidance.py +36 -0
  48. procesio_cli/agents/procesio/handlers/status.py +33 -0
  49. procesio_cli/agents/procesio/handlers/verify.py +39 -0
  50. procesio_cli/agents/procesio/knowledge.py +115 -0
  51. procesio_cli/agents/procesio/main.py +89 -0
  52. procesio_cli/agents/procesio/tests/__init__.py +0 -0
  53. procesio_cli/agents/procesio/tests/conftest.py +62 -0
  54. procesio_cli/agents/procesio/tests/test_audit.py +91 -0
  55. procesio_cli/agents/procesio/tests/test_checklist.py +28 -0
  56. procesio_cli/agents/procesio/tests/test_guidance.py +78 -0
  57. procesio_cli/agents/procesio/tests/test_manifest_sync.py +48 -0
  58. procesio_cli/agents/procesio/tests/test_verify.py +134 -0
  59. procesio_cli/agents/procesio/tests/test_workspace_scope.py +97 -0
  60. procesio_cli/agents/procesio/verifylib.py +222 -0
  61. procesio_cli/dashboard/README.md +117 -0
  62. procesio_cli/dashboard/__init__.py +18 -0
  63. procesio_cli/dashboard/serve.py +98 -0
  64. procesio_cli/dashboard/server/__init__.py +1 -0
  65. procesio_cli/dashboard/server/config_schemas.py +92 -0
  66. procesio_cli/dashboard/server/google.py +103 -0
  67. procesio_cli/dashboard/server/handler.py +160 -0
  68. procesio_cli/dashboard/server/inventory.py +213 -0
  69. procesio_cli/dashboard/server/jobs.py +118 -0
  70. procesio_cli/dashboard/server/llmtest.py +181 -0
  71. procesio_cli/dashboard/server/procesio_env.py +94 -0
  72. procesio_cli/dashboard/server/routes.py +74 -0
  73. procesio_cli/dashboard/server/runner.py +150 -0
  74. procesio_cli/dashboard/server/security.py +29 -0
  75. procesio_cli/dashboard/server/setup.py +211 -0
  76. procesio_cli/dashboard/server/validate.py +152 -0
  77. procesio_cli/dashboard/tests/conftest.py +16 -0
  78. procesio_cli/dashboard/tests/test_dashboard.py +225 -0
  79. procesio_cli/dashboard/tests/test_procesio_env.py +159 -0
  80. procesio_cli/dashboard/web/actions.js +274 -0
  81. procesio_cli/dashboard/web/api.js +79 -0
  82. procesio_cli/dashboard/web/app.js +385 -0
  83. procesio_cli/dashboard/web/copilot.js +72 -0
  84. procesio_cli/dashboard/web/google.js +121 -0
  85. procesio_cli/dashboard/web/index.html +67 -0
  86. procesio_cli/dashboard/web/procesio_env.js +187 -0
  87. procesio_cli/dashboard/web/styles.css +207 -0
  88. procesio_cli/registry.py +370 -0
  89. procesio_cli/scripts/build-router.py +249 -0
  90. procesio_cli/scripts/build-tool-skill.py +202 -0
  91. procesio_cli/scripts/check-requirements.py +131 -0
  92. procesio_cli/scripts/check-skill-governance.py +174 -0
  93. procesio_cli/scripts/evaluate-skill-routing.py +217 -0
  94. procesio_cli/scripts/evaluate-skills.py +316 -0
  95. procesio_cli/scripts/get-skill.py +122 -0
  96. procesio_cli/scripts/list-skills.py +68 -0
  97. procesio_cli/scripts/list-tools.py +73 -0
  98. procesio_cli/scripts/run-agent.py +59 -0
  99. procesio_cli/scripts/run-tool.py +123 -0
  100. procesio_cli/scripts/secret_scan.py +584 -0
  101. procesio_cli/scripts/set-credential.py +126 -0
  102. procesio_cli/scripts/validate-skills.py +530 -0
  103. procesio_cli/skills/PORTFOLIO.md +134 -0
  104. procesio_cli/skills/__init__.py +6 -0
  105. procesio_cli/skills/agent-skill-engineer/SKILL.md +226 -0
  106. procesio_cli/skills/agent-skill-engineer/evals/evals.json +422 -0
  107. procesio_cli/skills/agent-skill-engineer/references/authoring-standard.md +178 -0
  108. procesio_cli/skills/agent-skill-engineer/references/decision-framework.md +107 -0
  109. procesio_cli/skills/agent-skill-engineer/references/domain-evidence-protocol.md +248 -0
  110. procesio_cli/skills/agent-skill-engineer/references/evaluation-standard.md +191 -0
  111. procesio_cli/skills/agent-skill-engineer/references/expert-lenses.md +167 -0
  112. procesio_cli/skills/agent-skill-engineer/references/field-gate-standard.md +231 -0
  113. procesio_cli/skills/agent-skill-engineer/references/optimization-protocol.md +233 -0
  114. procesio_cli/skills/agent-skill-engineer/references/optimizer-contract.md +268 -0
  115. procesio_cli/skills/agent-skill-engineer/references/portability-standard.md +99 -0
  116. procesio_cli/skills/agent-skill-engineer/references/research-basis.md +128 -0
  117. procesio_cli/skills/agent-skill-engineer/references/review-standard.md +143 -0
  118. procesio_cli/skills/agent-skill-engineer/scripts/audit_skill.py +959 -0
  119. procesio_cli/skills/agent-skill-engineer/scripts/optimize_skill.py +891 -0
  120. procesio_cli/skills/agent-skill-engineer/scripts/scaffold_skill.py +397 -0
  121. procesio_cli/skills/evals/baseline-catalog.json +14 -0
  122. procesio_cli/skills/evals/baseline-routing-v2.json +38 -0
  123. procesio_cli/skills/evals/baseline.json +37 -0
  124. procesio_cli/skills/evals/behavioral.json +367 -0
  125. procesio_cli/skills/evals/field-boundary-development-v1.json +126 -0
  126. procesio_cli/skills/evals/field-closeout-correction-development-v1.json +23 -0
  127. procesio_cli/skills/evals/field-closeout-development-v1.json +89 -0
  128. procesio_cli/skills/evals/portfolio-pressure-training-v1.json +83 -0
  129. procesio_cli/skills/evals/routing.json +363 -0
  130. procesio_cli/skills/evals/validation-baseline.json +4 -0
  131. procesio_cli/skills/procesio-cli/SKILL.md +134 -0
  132. procesio_cli/skills/procesio-cli/evals/evals.json +111 -0
  133. procesio_cli/skills/procesio-cli/evals/workflows.json +16 -0
  134. procesio_cli/skills/procesio-cli/references/connector-lifecycle.md +47 -0
  135. procesio_cli/skills/procesio-cli/references/credentials-admin.md +113 -0
  136. procesio_cli/skills/procesio-cli/references/data-verification.md +71 -0
  137. procesio_cli/skills/procesio-cli/references/documents-files.md +44 -0
  138. procesio_cli/skills/procesio-cli/references/form-e2e.md +57 -0
  139. procesio_cli/skills/procesio-cli/references/operation-contract.md +138 -0
  140. procesio_cli/skills/procesio-cli/references/process-debugging.md +65 -0
  141. procesio_cli/skills/procesio-cli/references/process-lifecycle.md +88 -0
  142. procesio_cli/skills/procesio-cli/references/schedules-webhooks.md +58 -0
  143. procesio_cli/skills/procesio-cli/references/transport-environments.md +53 -0
  144. procesio_cli/skills/procesio-cli-maintainer/SKILL.md +84 -0
  145. procesio_cli/skills/procesio-cli-maintainer/evals/evals.json +116 -0
  146. procesio_cli/skills/procesio-cli-maintainer/references/change-contract.md +34 -0
  147. procesio_cli/skills/procesio-cli-maintainer/references/mcp-compatibility.md +13 -0
  148. procesio_cli/skills/procesio-cli-maintainer/references/skill-authoring.md +51 -0
  149. procesio_cli/skills/procesio-platform-advisor/SKILL.md +82 -0
  150. procesio_cli/skills/procesio-platform-advisor/evals/evals.json +116 -0
  151. procesio_cli/skills/procesio-platform-advisor/references/capability-map.md +22 -0
  152. procesio_cli/skills/procesio-platform-advisor/references/fit-framework.md +35 -0
  153. procesio_cli/skills/procesio-platform-advisor/references/freshness-policy.md +25 -0
  154. procesio_cli/skills/procesio-platform-advisor/references/sizing-method.md +70 -0
  155. procesio_cli/skills/procesio-platform-advisor/scripts/estimate_capacity.py +99 -0
  156. procesio_cli/skills/procesio-setup/SKILL.md +180 -0
  157. procesio_cli/skills/sql-server-optimizer/SKILL.md +86 -0
  158. procesio_cli/skills/sql-server-optimizer/evals/evals.json +116 -0
  159. procesio_cli/skills/sql-server-optimizer/references/db-context.md +44 -0
  160. procesio_cli/skills/sql-server-optimizer/references/generic-mode.md +32 -0
  161. procesio_cli/skills/sql-server-optimizer/references/procesio-mode.md +40 -0
  162. procesio_cli/skills/sql-server-optimizer/references/sql-rules.md +43 -0
  163. procesio_cli/skills/sql-server-optimizer/scripts/export-indexes.sql +178 -0
  164. procesio_cli/skills/sql-server-optimizer/scripts/export-procs-and-functions.sql +118 -0
  165. procesio_cli/skills/sql-server-optimizer/scripts/export-tables.sql +367 -0
  166. procesio_cli/skills/tests/__init__.py +0 -0
  167. procesio_cli/skills/tests/test_agent_skill_engineer.py +240 -0
  168. procesio_cli/skills/tests/test_auth_failure_stop.py +25 -0
  169. procesio_cli/skills/tests/test_capacity_estimator.py +85 -0
  170. procesio_cli/skills/tests/test_field_boundary_learning.py +100 -0
  171. procesio_cli/skills/tests/test_field_closeout_learning.py +123 -0
  172. procesio_cli/skills/tests/test_field_gate_standard.py +76 -0
  173. procesio_cli/skills/tests/test_operational_playbooks.py +51 -0
  174. procesio_cli/skills/tests/test_portfolio_pressure_training.py +35 -0
  175. procesio_cli/skills/tests/test_process_lifecycle_single_run.py +25 -0
  176. procesio_cli/skills/tests/test_skill_evaluator.py +67 -0
  177. procesio_cli/skills/tests/test_skill_optimizer.py +473 -0
  178. procesio_cli/skills/tests/test_skill_portfolio_review.py +70 -0
  179. procesio_cli/skills/tests/test_skill_release_binding.py +204 -0
  180. procesio_cli/skills/tests/test_skill_routing.py +74 -0
  181. procesio_cli/skills/tests/test_skill_scaffold_v2.py +116 -0
  182. procesio_cli/skills/tests/test_validate_skills.py +115 -0
  183. procesio_cli/tools/__init__.py +0 -0
  184. procesio_cli/tools/_lib/README.md +119 -0
  185. procesio_cli/tools/_lib/__init__.py +0 -0
  186. procesio_cli/tools/_lib/accounting.py +120 -0
  187. procesio_cli/tools/_lib/contacts.py +544 -0
  188. procesio_cli/tools/_lib/creds.py +83 -0
  189. procesio_cli/tools/_lib/creds_backends.py +578 -0
  190. procesio_cli/tools/_lib/dbprofiles.py +147 -0
  191. procesio_cli/tools/_lib/dbquery.py +286 -0
  192. procesio_cli/tools/_lib/dbschema.py +225 -0
  193. procesio_cli/tools/_lib/io.py +54 -0
  194. procesio_cli/tools/_lib/manifest.py +297 -0
  195. procesio_cli/tools/_lib/skill_release.py +127 -0
  196. procesio_cli/tools/_lib/skill_resources.py +118 -0
  197. procesio_cli/tools/_lib/userdata.py +228 -0
  198. procesio_cli/tools/_lib/webserialize/__init__.py +16 -0
  199. procesio_cli/tools/_lib/webserialize/admin.py +61 -0
  200. procesio_cli/tools/_lib/webserialize/client.py +264 -0
  201. procesio_cli/tools/_lib/webserialize/config.py +96 -0
  202. procesio_cli/tools/_lib/webserialize/errors.py +27 -0
  203. procesio_cli/tools/_lib/webserialize/framing.py +45 -0
  204. procesio_cli/tools/_lib/webserialize/registry.py +47 -0
  205. procesio_cli/tools/_lib/webserialize/runtime.py +61 -0
  206. procesio_cli/tools/_lib/webserialize/server.py +510 -0
  207. procesio_cli/tools/_lib/websession.py +194 -0
  208. procesio_cli/tools/connector-builder/CONNECTOR-BUILDER-API-NOTES.md +91 -0
  209. procesio_cli/tools/connector-builder/README.md +101 -0
  210. procesio_cli/tools/connector-builder/SKILL.md +248 -0
  211. procesio_cli/tools/connector-builder/__init__.py +7 -0
  212. procesio_cli/tools/connector-builder/actiondef.py +24 -0
  213. procesio_cli/tools/connector-builder/client.py +251 -0
  214. procesio_cli/tools/connector-builder/errors.py +44 -0
  215. procesio_cli/tools/connector-builder/gen_manifest.py +142 -0
  216. procesio_cli/tools/connector-builder/handlers/__init__.py +1 -0
  217. procesio_cli/tools/connector-builder/handlers/admin.py +182 -0
  218. procesio_cli/tools/connector-builder/handlers/auth.py +74 -0
  219. procesio_cli/tools/connector-builder/handlers/builds.py +396 -0
  220. procesio_cli/tools/connector-builder/handlers/common.py +104 -0
  221. procesio_cli/tools/connector-builder/handlers/files.py +111 -0
  222. procesio_cli/tools/connector-builder/handlers/raw.py +38 -0
  223. procesio_cli/tools/connector-builder/handlers/telemetry.py +39 -0
  224. procesio_cli/tools/connector-builder/main.py +94 -0
  225. procesio_cli/tools/connector-builder/tests/conftest.py +146 -0
  226. procesio_cli/tools/connector-builder/tests/test_cb_client.py +86 -0
  227. procesio_cli/tools/connector-builder/tests/test_cb_dispatch.py +105 -0
  228. procesio_cli/tools/connector-builder/tests/test_cb_manifest_sync.py +76 -0
  229. procesio_cli/tools/connector-builder/tests/test_cb_wait.py +123 -0
  230. procesio_cli/tools/connector-builder/tool.yaml +671 -0
  231. procesio_cli/tools/framework-map/.gitattributes +2 -0
  232. procesio_cli/tools/framework-map/README.md +98 -0
  233. procesio_cli/tools/framework-map/SKILL.md +30 -0
  234. procesio_cli/tools/framework-map/app.js +188 -0
  235. procesio_cli/tools/framework-map/fm_builder.py +476 -0
  236. procesio_cli/tools/framework-map/fm_catalog.py +19 -0
  237. procesio_cli/tools/framework-map/fm_ro_catalog.py +94 -0
  238. procesio_cli/tools/framework-map/fm_strings.py +101 -0
  239. procesio_cli/tools/framework-map/main.py +95 -0
  240. procesio_cli/tools/framework-map/styles.css +214 -0
  241. procesio_cli/tools/framework-map/tests/conftest.py +33 -0
  242. procesio_cli/tools/framework-map/tests/test_fm_build.py +126 -0
  243. procesio_cli/tools/framework-map/tests/test_fm_manifest_sync.py +63 -0
  244. procesio_cli/tools/framework-map/tests/test_fm_store_tree.py +75 -0
  245. procesio_cli/tools/framework-map/tool.yaml +61 -0
  246. procesio_cli/tools/mysql/MOVED-TO-CENTRAL.md +29 -0
  247. procesio_cli/tools/mysql/README.md +196 -0
  248. procesio_cli/tools/mysql/SKILL.md +37 -0
  249. procesio_cli/tools/mysql/__init__.py +0 -0
  250. procesio_cli/tools/mysql/connection.py +191 -0
  251. procesio_cli/tools/mysql/main.py +487 -0
  252. procesio_cli/tools/mysql/profiles.template.json +1 -0
  253. procesio_cli/tools/mysql/schema.py +434 -0
  254. procesio_cli/tools/mysql/tests/__init__.py +0 -0
  255. procesio_cli/tools/mysql/tests/conftest.py +21 -0
  256. procesio_cli/tools/mysql/tests/test_manifest_sync.py +68 -0
  257. procesio_cli/tools/mysql/tests/test_mysql.py +201 -0
  258. procesio_cli/tools/mysql/tests/test_mysql_schema.py +337 -0
  259. procesio_cli/tools/mysql/tool.yaml +112 -0
  260. procesio_cli/tools/procesio/DTO-SUBTOOLS-NOTE.md +360 -0
  261. procesio_cli/tools/procesio/FORM-DEV-GUIDE/00-INDEX.md +67 -0
  262. procesio_cli/tools/procesio/FORM-DEV-GUIDE/01-ANATOMY.md +209 -0
  263. procesio_cli/tools/procesio/FORM-DEV-GUIDE/02-CODE-INJECTION.md +309 -0
  264. procesio_cli/tools/procesio/FORM-DEV-GUIDE/03-DOM-CONTRACT.md +370 -0
  265. procesio_cli/tools/procesio/FORM-DEV-GUIDE/04-INTERACTION-RECIPES.md +600 -0
  266. procesio_cli/tools/procesio/FORM-DEV-GUIDE/05-STEPPER-AND-MOTION.md +426 -0
  267. procesio_cli/tools/procesio/FORM-DEV-GUIDE/06-PROCESS-INTEGRATION.md +347 -0
  268. procesio_cli/tools/procesio/FORM-DEV-GUIDE/07-DEPLOY-WORKFLOW.md +294 -0
  269. procesio_cli/tools/procesio/FORM-DEV-GUIDE/08-PITFALLS.md +569 -0
  270. procesio_cli/tools/procesio/FORM-DEV-GUIDE/09-NAVIGATION-AND-HOSTING.md +308 -0
  271. procesio_cli/tools/procesio/PHASE4-E2E-NOTES.md +594 -0
  272. procesio_cli/tools/procesio/PROCESIO-API-CORRECTIONS.md +295 -0
  273. procesio_cli/tools/procesio/PROCESIO-API-NOTES.md +6976 -0
  274. procesio_cli/tools/procesio/PROCESIO-AUTH-NOTES.md +226 -0
  275. procesio_cli/tools/procesio/PROCESIO-CARD-BUILD-NOTES.md +183 -0
  276. procesio_cli/tools/procesio/PROCESIO-CONNECTORS-NOTES.md +141 -0
  277. procesio_cli/tools/procesio/PROCESIO-CUSTOM-ACTION-NOTES.md +179 -0
  278. procesio_cli/tools/procesio/PROCESIO-DOCS-FIX-REPORT.md +123 -0
  279. procesio_cli/tools/procesio/PROCESIO-ENVIRONMENTS-NOTES.md +94 -0
  280. procesio_cli/tools/procesio/PROCESIO-FE-VALIDATION-NOTES.md +107 -0
  281. procesio_cli/tools/procesio/PROCESIO-FOREACH-NOTES.md +199 -0
  282. procesio_cli/tools/procesio/PROCESIO-FORM-API-HANG-NOTE.md +101 -0
  283. procesio_cli/tools/procesio/PROCESIO-FORM-SUBMISSION-NOTES.md +172 -0
  284. procesio_cli/tools/procesio/PROCESIO-HTML-TO-DOCX-NOTES.md +110 -0
  285. procesio_cli/tools/procesio/PROCESIO-INSTANCE-HISTORY-NOTES.md +242 -0
  286. procesio_cli/tools/procesio/PROCESIO-METERING-NOTES.md +201 -0
  287. procesio_cli/tools/procesio/PROCESIO-NODE-CODE-NOTES.md +279 -0
  288. procesio_cli/tools/procesio/PROCESIO-NODE-MODULE-WHITELIST.md +113 -0
  289. procesio_cli/tools/procesio/PROCESIO-PYTHON-ACTION-NOTES.md +165 -0
  290. procesio_cli/tools/procesio/PROCESIO-QUERY-STORE-NOTES.md +826 -0
  291. procesio_cli/tools/procesio/PROCESIO-RECONCILIATION-PATTERNS.md +104 -0
  292. procesio_cli/tools/procesio/PROCESIO-RESOURCE-MODEL-NOTES.md +1100 -0
  293. procesio_cli/tools/procesio/PROCESIO-SEND-EMAIL-CRED-OPTIONALITY.md +45 -0
  294. procesio_cli/tools/procesio/PROCESIO-SEND-EMAIL-NOTES.md +252 -0
  295. procesio_cli/tools/procesio/PROCESIO-SQL-ACTIONS-NOTES.md +284 -0
  296. procesio_cli/tools/procesio/PROCESIO-USAGE-GUIDE.md +219 -0
  297. procesio_cli/tools/procesio/README.md +341 -0
  298. procesio_cli/tools/procesio/SCHEDULE-INPUT-SECURITY-NOTES.md +63 -0
  299. procesio_cli/tools/procesio/SKILL.md +694 -0
  300. procesio_cli/tools/procesio/__init__.py +1 -0
  301. procesio_cli/tools/procesio/actiondef.py +27 -0
  302. procesio_cli/tools/procesio/assets/html2docx/html2docx.js +2155 -0
  303. procesio_cli/tools/procesio/auth.py +354 -0
  304. procesio_cli/tools/procesio/autogen.py +121 -0
  305. procesio_cli/tools/procesio/client.py +355 -0
  306. procesio_cli/tools/procesio/config.py +96 -0
  307. procesio_cli/tools/procesio/data/endpoints.json +2901 -0
  308. procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/01-authentication.md +180 -0
  309. procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/02-conventions.md +116 -0
  310. procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/ANONYMOUS-SURFACE.md +51 -0
  311. procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/README.md +104 -0
  312. procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/SYMBOL-INDEX.md +444 -0
  313. procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/03-auth-users-workspaces.md +731 -0
  314. procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/04-processes.md +913 -0
  315. procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/05-actions.md +605 -0
  316. procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/06-files.md +237 -0
  317. procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/07-forms-documents.md +985 -0
  318. procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/08-credentials.md +532 -0
  319. procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/09-datastore-datatypes.md +830 -0
  320. procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/10-custom-urls.md +319 -0
  321. procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/11-subscriptions-resources-analytics.md +455 -0
  322. procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/12-webhooks-notifications-misc.md +519 -0
  323. procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/13-realtime-signalr.md +153 -0
  324. procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/99-internal-and-other-services.md +52 -0
  325. procesio_cli/tools/procesio/docs_info/FormBuilder mock.ts +5725 -0
  326. procesio_cli/tools/procesio/docs_info/Procesio Platform Actions.json +30219 -0
  327. procesio_cli/tools/procesio/docs_info/form-config-enums.ts +92 -0
  328. procesio_cli/tools/procesio/docs_info/form-theme.ts +1603 -0
  329. procesio_cli/tools/procesio/docs_info/process-validation-reference-1.md +2739 -0
  330. procesio_cli/tools/procesio/dto/__init__.py +13 -0
  331. procesio_cli/tools/procesio/dto/credential/builder.py +179 -0
  332. procesio_cli/tools/procesio/dto/credential/config.schema.json +19 -0
  333. procesio_cli/tools/procesio/dto/credential/description.md +193 -0
  334. procesio_cli/tools/procesio/dto/credential/fixtures/rest.config.json +11 -0
  335. procesio_cli/tools/procesio/dto/credential/fixtures/rest.dto.json +28 -0
  336. procesio_cli/tools/procesio/dto/credential/fixtures/rest.template.json +44 -0
  337. procesio_cli/tools/procesio/dto/credential/template.dto.json +16 -0
  338. procesio_cli/tools/procesio/dto/data/_refresh.py +147 -0
  339. procesio_cli/tools/procesio/dto/data/action_catalog.json +30825 -0
  340. procesio_cli/tools/procesio/dto/data/action_families.json +55 -0
  341. procesio_cli/tools/procesio/dto/data/platform_types.json +182 -0
  342. procesio_cli/tools/procesio/dto/datatype/builder.py +223 -0
  343. procesio_cli/tools/procesio/dto/datatype/config.schema.json +47 -0
  344. procesio_cli/tools/procesio/dto/datatype/description.md +85 -0
  345. procesio_cli/tools/procesio/dto/datatype/fixtures/customer.config.json +41 -0
  346. procesio_cli/tools/procesio/dto/datatype/fixtures/customer.dto.json +164 -0
  347. procesio_cli/tools/procesio/dto/datatype/template.dto.json +37 -0
  348. procesio_cli/tools/procesio/dto/document/builder.py +193 -0
  349. procesio_cli/tools/procesio/dto/document/config.schema.json +33 -0
  350. procesio_cli/tools/procesio/dto/document/description.md +124 -0
  351. procesio_cli/tools/procesio/dto/document/fixtures/invoice.config.json +16 -0
  352. procesio_cli/tools/procesio/dto/document/fixtures/invoice.dto.json +32 -0
  353. procesio_cli/tools/procesio/dto/document/template.dto.json +14 -0
  354. procesio_cli/tools/procesio/dto/form/FORM-STYLING-NOTES.md +142 -0
  355. procesio_cli/tools/procesio/dto/form/GOLDEN-DRIFT-NOTES.md +72 -0
  356. procesio_cli/tools/procesio/dto/form/RUN-PROCESS-RESULT-NOTES.md +80 -0
  357. procesio_cli/tools/procesio/dto/form/addelement.py +277 -0
  358. procesio_cli/tools/procesio/dto/form/builder.py +1009 -0
  359. procesio_cli/tools/procesio/dto/form/capture_goldens.py +106 -0
  360. procesio_cli/tools/procesio/dto/form/code_cipher.py +67 -0
  361. procesio_cli/tools/procesio/dto/form/config.schema.json +76 -0
  362. procesio_cli/tools/procesio/dto/form/data_shell.json +1 -0
  363. procesio_cli/tools/procesio/dto/form/description.md +346 -0
  364. procesio_cli/tools/procesio/dto/form/elements/approval.json +259 -0
  365. procesio_cli/tools/procesio/dto/form/elements/assignee.json +137 -0
  366. procesio_cli/tools/procesio/dto/form/elements/button.json +125 -0
  367. procesio_cli/tools/procesio/dto/form/elements/chart.json +341 -0
  368. procesio_cli/tools/procesio/dto/form/elements/chat.json +199 -0
  369. procesio_cli/tools/procesio/dto/form/elements/checkbox.json +153 -0
  370. procesio_cli/tools/procesio/dto/form/elements/column.json +77 -0
  371. procesio_cli/tools/procesio/dto/form/elements/columns.json +78 -0
  372. procesio_cli/tools/procesio/dto/form/elements/datetime-input.json +304 -0
  373. procesio_cli/tools/procesio/dto/form/elements/divider.json +54 -0
  374. procesio_cli/tools/procesio/dto/form/elements/dropdown.json +130 -0
  375. procesio_cli/tools/procesio/dto/form/elements/dynamic-table-row.json +253 -0
  376. procesio_cli/tools/procesio/dto/form/elements/file-upload.json +196 -0
  377. procesio_cli/tools/procesio/dto/form/elements/file-viewer.json +169 -0
  378. procesio_cli/tools/procesio/dto/form/elements/heading.json +79 -0
  379. procesio_cli/tools/procesio/dto/form/elements/icon.json +107 -0
  380. procesio_cli/tools/procesio/dto/form/elements/image.json +174 -0
  381. procesio_cli/tools/procesio/dto/form/elements/input.json +206 -0
  382. procesio_cli/tools/procesio/dto/form/elements/list.json +202 -0
  383. procesio_cli/tools/procesio/dto/form/elements/number-input.json +202 -0
  384. procesio_cli/tools/procesio/dto/form/elements/paragraph.json +79 -0
  385. procesio_cli/tools/procesio/dto/form/elements/radiobox.json +174 -0
  386. procesio_cli/tools/procesio/dto/form/elements/section.json +114 -0
  387. procesio_cli/tools/procesio/dto/form/elements/select.json +217 -0
  388. procesio_cli/tools/procesio/dto/form/elements/side-panel.json +146 -0
  389. procesio_cli/tools/procesio/dto/form/elements/signature-pad.json +141 -0
  390. procesio_cli/tools/procesio/dto/form/elements/static-table-row.json +84 -0
  391. procesio_cli/tools/procesio/dto/form/elements/step.json +105 -0
  392. procesio_cli/tools/procesio/dto/form/elements/stepper.json +126 -0
  393. procesio_cli/tools/procesio/dto/form/elements/tab.json +77 -0
  394. procesio_cli/tools/procesio/dto/form/elements/table.json +279 -0
  395. procesio_cli/tools/procesio/dto/form/elements/tabs.json +114 -0
  396. procesio_cli/tools/procesio/dto/form/elements/textarea.json +213 -0
  397. procesio_cli/tools/procesio/dto/form/enum_map.json +68 -0
  398. procesio_cli/tools/procesio/dto/form/fieldpath.py +284 -0
  399. procesio_cli/tools/procesio/dto/form/fixtures/reg.config.json +32 -0
  400. procesio_cli/tools/procesio/dto/form/fixtures/reg.elements.json +638 -0
  401. procesio_cli/tools/procesio/dto/form/sync_from_mock.py +386 -0
  402. procesio_cli/tools/procesio/dto/framework.py +125 -0
  403. procesio_cli/tools/procesio/dto/process/builder.py +1991 -0
  404. procesio_cli/tools/procesio/dto/process/config.schema.json +159 -0
  405. procesio_cli/tools/procesio/dto/process/description.md +218 -0
  406. procesio_cli/tools/procesio/dto/process/fixtures/greet.config.json +32 -0
  407. procesio_cli/tools/procesio/dto/process/fixtures/greet.dto.json +317 -0
  408. procesio_cli/tools/procesio/dto/process/naming.py +305 -0
  409. procesio_cli/tools/procesio/dto/process/normalize.py +74 -0
  410. procesio_cli/tools/procesio/dto/process/template.dto.json +32 -0
  411. procesio_cli/tools/procesio/dto/refdata.py +87 -0
  412. procesio_cli/tools/procesio/dto/registry.py +27 -0
  413. procesio_cli/tools/procesio/dto/webhook/builder.py +142 -0
  414. procesio_cli/tools/procesio/dto/webhook/config.schema.json +25 -0
  415. procesio_cli/tools/procesio/dto/webhook/description.md +92 -0
  416. procesio_cli/tools/procesio/dto/webhook/fixtures/order.config.json +10 -0
  417. procesio_cli/tools/procesio/dto/webhook/fixtures/order.dto.json +25 -0
  418. procesio_cli/tools/procesio/dto/webhook/template.dto.json +14 -0
  419. procesio_cli/tools/procesio/environments.py +264 -0
  420. procesio_cli/tools/procesio/errors.py +166 -0
  421. procesio_cli/tools/procesio/flowmodel/README.md +37 -0
  422. procesio_cli/tools/procesio/flowmodel/__init__.py +14 -0
  423. procesio_cli/tools/procesio/flowmodel/digest.py +223 -0
  424. procesio_cli/tools/procesio/flowmodel/families.py +34 -0
  425. procesio_cli/tools/procesio/flowmodel/fevalidation.py +1098 -0
  426. procesio_cli/tools/procesio/flowmodel/formdigest.py +232 -0
  427. procesio_cli/tools/procesio/flowmodel/inspect.py +78 -0
  428. procesio_cli/tools/procesio/flowmodel/model.py +82 -0
  429. procesio_cli/tools/procesio/flowmodel/nodeparam.py +871 -0
  430. procesio_cli/tools/procesio/flowmodel/reader.py +191 -0
  431. procesio_cli/tools/procesio/flowmodel/sqlparam.py +410 -0
  432. procesio_cli/tools/procesio/form_code_keys.py +50 -0
  433. procesio_cli/tools/procesio/formlint.py +292 -0
  434. procesio_cli/tools/procesio/gen_manifest.py +118 -0
  435. procesio_cli/tools/procesio/handlers/__init__.py +1 -0
  436. procesio_cli/tools/procesio/handlers/auth_actions.py +103 -0
  437. procesio_cli/tools/procesio/handlers/catalog.py +147 -0
  438. procesio_cli/tools/procesio/handlers/common.py +90 -0
  439. procesio_cli/tools/procesio/handlers/customaction_ops.py +146 -0
  440. procesio_cli/tools/procesio/handlers/datastore_ops.py +482 -0
  441. procesio_cli/tools/procesio/handlers/datatype_ops.py +275 -0
  442. procesio_cli/tools/procesio/handlers/dto_actions.py +258 -0
  443. procesio_cli/tools/procesio/handlers/environment_admin.py +146 -0
  444. procesio_cli/tools/procesio/handlers/fevalidate.py +236 -0
  445. procesio_cli/tools/procesio/handlers/files.py +141 -0
  446. procesio_cli/tools/procesio/handlers/flowgraph.py +229 -0
  447. procesio_cli/tools/procesio/handlers/flowlint.py +269 -0
  448. procesio_cli/tools/procesio/handlers/form_chains.py +336 -0
  449. procesio_cli/tools/procesio/handlers/form_code.py +277 -0
  450. procesio_cli/tools/procesio/handlers/form_element.py +199 -0
  451. procesio_cli/tools/procesio/handlers/form_events.py +441 -0
  452. procesio_cli/tools/procesio/handlers/form_update.py +270 -0
  453. procesio_cli/tools/procesio/handlers/formprocess.py +211 -0
  454. procesio_cli/tools/procesio/handlers/generic.py +135 -0
  455. procesio_cli/tools/procesio/handlers/layout.py +137 -0
  456. procesio_cli/tools/procesio/handlers/nodeparams.py +1018 -0
  457. procesio_cli/tools/procesio/handlers/process_layout.py +189 -0
  458. procesio_cli/tools/procesio/handlers/process_naming.py +213 -0
  459. procesio_cli/tools/procesio/handlers/processes.py +416 -0
  460. procesio_cli/tools/procesio/handlers/profile_admin.py +184 -0
  461. procesio_cli/tools/procesio/handlers/resource_ops.py +447 -0
  462. procesio_cli/tools/procesio/handlers/schedules.py +320 -0
  463. procesio_cli/tools/procesio/handlers/sqlactions.py +232 -0
  464. procesio_cli/tools/procesio/handlers/transport.py +463 -0
  465. procesio_cli/tools/procesio/handlers/usageguide.py +222 -0
  466. procesio_cli/tools/procesio/layout/README.md +196 -0
  467. procesio_cli/tools/procesio/layout/__init__.py +11 -0
  468. procesio_cli/tools/procesio/layout/adapter.py +736 -0
  469. procesio_cli/tools/procesio/layout/cycles.py +186 -0
  470. procesio_cli/tools/procesio/layout/dispatch.py +39 -0
  471. procesio_cli/tools/procesio/layout/elk/elk_runner.mjs +50 -0
  472. procesio_cli/tools/procesio/layout/elk/package-lock.json +21 -0
  473. procesio_cli/tools/procesio/layout/elk/package.json +11 -0
  474. procesio_cli/tools/procesio/layout/elk_engine.py +568 -0
  475. procesio_cli/tools/procesio/layout/engine.py +1311 -0
  476. procesio_cli/tools/procesio/layout/report.py +187 -0
  477. procesio_cli/tools/procesio/main.py +179 -0
  478. procesio_cli/tools/procesio/profiles.py +193 -0
  479. procesio_cli/tools/procesio/reliability.py +193 -0
  480. procesio_cli/tools/procesio/sqlformat.py +167 -0
  481. procesio_cli/tools/procesio/swagger.py +51 -0
  482. procesio_cli/tools/procesio/tests/__init__.py +0 -0
  483. procesio_cli/tools/procesio/tests/conftest.py +129 -0
  484. procesio_cli/tools/procesio/tests/test_auth.py +200 -0
  485. procesio_cli/tools/procesio/tests/test_autogen.py +78 -0
  486. procesio_cli/tools/procesio/tests/test_builder_attrpath_sqlbind.py +180 -0
  487. procesio_cli/tools/procesio/tests/test_builder_custom_action_catalog.py +72 -0
  488. procesio_cli/tools/procesio/tests/test_client.py +114 -0
  489. procesio_cli/tools/procesio/tests/test_client_reliability.py +139 -0
  490. procesio_cli/tools/procesio/tests/test_customaction.py +103 -0
  491. procesio_cli/tools/procesio/tests/test_customaction_test.py +80 -0
  492. procesio_cli/tools/procesio/tests/test_cycles.py +69 -0
  493. procesio_cli/tools/procesio/tests/test_datastore.py +378 -0
  494. procesio_cli/tools/procesio/tests/test_datastore_node.py +94 -0
  495. procesio_cli/tools/procesio/tests/test_dispatch.py +170 -0
  496. procesio_cli/tools/procesio/tests/test_document_page_size.py +19 -0
  497. procesio_cli/tools/procesio/tests/test_dto.py +734 -0
  498. procesio_cli/tools/procesio/tests/test_edit_dryrun_preview.py +96 -0
  499. procesio_cli/tools/procesio/tests/test_elk_layout.py +221 -0
  500. procesio_cli/tools/procesio/tests/test_environments.py +214 -0
  501. procesio_cli/tools/procesio/tests/test_fevalidate_gate.py +104 -0
  502. procesio_cli/tools/procesio/tests/test_fevalidation.py +317 -0
  503. procesio_cli/tools/procesio/tests/test_fieldpath_variables.py +87 -0
  504. procesio_cli/tools/procesio/tests/test_files.py +72 -0
  505. procesio_cli/tools/procesio/tests/test_flow_digest.py +202 -0
  506. procesio_cli/tools/procesio/tests/test_flowlint.py +114 -0
  507. procesio_cli/tools/procesio/tests/test_flowmodel.py +158 -0
  508. procesio_cli/tools/procesio/tests/test_form_add_element.py +256 -0
  509. procesio_cli/tools/procesio/tests/test_form_approval_gaps.py +319 -0
  510. procesio_cli/tools/procesio/tests/test_form_auto_names.py +60 -0
  511. procesio_cli/tools/procesio/tests/test_form_chains.py +217 -0
  512. procesio_cli/tools/procesio/tests/test_form_code_actions.py +188 -0
  513. procesio_cli/tools/procesio/tests/test_form_code_keys.py +92 -0
  514. procesio_cli/tools/procesio/tests/test_form_code_style.py +178 -0
  515. procesio_cli/tools/procesio/tests/test_form_delete_element.py +99 -0
  516. procesio_cli/tools/procesio/tests/test_form_element_config.py +141 -0
  517. procesio_cli/tools/procesio/tests/test_form_event_maps.py +135 -0
  518. procesio_cli/tools/procesio/tests/test_form_event_ops.py +376 -0
  519. procesio_cli/tools/procesio/tests/test_form_event_replace.py +86 -0
  520. procesio_cli/tools/procesio/tests/test_form_events.py +92 -0
  521. procesio_cli/tools/procesio/tests/test_form_parity.py +171 -0
  522. procesio_cli/tools/procesio/tests/test_form_select_source.py +74 -0
  523. procesio_cli/tools/procesio/tests/test_form_sync.py +35 -0
  524. procesio_cli/tools/procesio/tests/test_form_update.py +133 -0
  525. procesio_cli/tools/procesio/tests/test_formlint.py +155 -0
  526. procesio_cli/tools/procesio/tests/test_formlint_css_scope.py +38 -0
  527. procesio_cli/tools/procesio/tests/test_formlint_field_names.py +83 -0
  528. procesio_cli/tools/procesio/tests/test_guards.py +110 -0
  529. procesio_cli/tools/procesio/tests/test_hidden_setting_types.py +39 -0
  530. procesio_cli/tools/procesio/tests/test_html2docx_asset.py +132 -0
  531. procesio_cli/tools/procesio/tests/test_key_handle_terminology.py +45 -0
  532. procesio_cli/tools/procesio/tests/test_layout.py +574 -0
  533. procesio_cli/tools/procesio/tests/test_layout_report.py +88 -0
  534. procesio_cli/tools/procesio/tests/test_manifest_sync.py +68 -0
  535. procesio_cli/tools/procesio/tests/test_nodedelete.py +151 -0
  536. procesio_cli/tools/procesio/tests/test_nodeparam.py +826 -0
  537. procesio_cli/tools/procesio/tests/test_normalize.py +70 -0
  538. procesio_cli/tools/procesio/tests/test_payload_docs.py +86 -0
  539. procesio_cli/tools/procesio/tests/test_process_action_naming.py +170 -0
  540. procesio_cli/tools/procesio/tests/test_process_call_api_seed.py +46 -0
  541. procesio_cli/tools/procesio/tests/test_process_ext.py +373 -0
  542. procesio_cli/tools/procesio/tests/test_process_invariants.py +183 -0
  543. procesio_cli/tools/procesio/tests/test_process_layout.py +117 -0
  544. procesio_cli/tools/procesio/tests/test_process_naming.py +188 -0
  545. procesio_cli/tools/procesio/tests/test_process_query_store.py +172 -0
  546. procesio_cli/tools/procesio/tests/test_processinfo_variable.py +56 -0
  547. procesio_cli/tools/procesio/tests/test_profiles.py +127 -0
  548. procesio_cli/tools/procesio/tests/test_put_projects.py +41 -0
  549. procesio_cli/tools/procesio/tests/test_reliability.py +107 -0
  550. procesio_cli/tools/procesio/tests/test_removal_gate.py +95 -0
  551. procesio_cli/tools/procesio/tests/test_resource_ops.py +173 -0
  552. procesio_cli/tools/procesio/tests/test_save_validity.py +207 -0
  553. procesio_cli/tools/procesio/tests/test_schedule_cron_shape.py +111 -0
  554. procesio_cli/tools/procesio/tests/test_schedules.py +309 -0
  555. procesio_cli/tools/procesio/tests/test_sqlconvert.py +234 -0
  556. procesio_cli/tools/procesio/tests/test_sqlformat.py +83 -0
  557. procesio_cli/tools/procesio/tests/test_sqlparam.py +187 -0
  558. procesio_cli/tools/procesio/tests/test_superseded_actions.py +54 -0
  559. procesio_cli/tools/procesio/tests/test_surgical_concurrency.py +156 -0
  560. procesio_cli/tools/procesio/tests/test_tier4.py +123 -0
  561. procesio_cli/tools/procesio/tests/test_transport.py +147 -0
  562. procesio_cli/tools/procesio/tests/test_transport_data_stores.py +168 -0
  563. procesio_cli/tools/procesio/tests/test_transport_mapper_repair.py +150 -0
  564. procesio_cli/tools/procesio/tests/test_transport_webhook_strip.py +253 -0
  565. procesio_cli/tools/procesio/tests/test_usage_guide.py +96 -0
  566. procesio_cli/tools/procesio/tool.yaml +12486 -0
  567. procesio_cli/tools/sqlserver/MOVED-TO-CENTRAL.md +29 -0
  568. procesio_cli/tools/sqlserver/README.md +192 -0
  569. procesio_cli/tools/sqlserver/SKILL.md +37 -0
  570. procesio_cli/tools/sqlserver/SQLSERVER-SCHEMA-NOTES.md +284 -0
  571. procesio_cli/tools/sqlserver/__init__.py +0 -0
  572. procesio_cli/tools/sqlserver/connection.py +242 -0
  573. procesio_cli/tools/sqlserver/main.py +521 -0
  574. procesio_cli/tools/sqlserver/profiles.template.json +1 -0
  575. procesio_cli/tools/sqlserver/schema.py +600 -0
  576. procesio_cli/tools/sqlserver/tests/__init__.py +0 -0
  577. procesio_cli/tools/sqlserver/tests/conftest.py +21 -0
  578. procesio_cli/tools/sqlserver/tests/test_connection.py +75 -0
  579. procesio_cli/tools/sqlserver/tests/test_dbprofiles.py +92 -0
  580. procesio_cli/tools/sqlserver/tests/test_dbquery.py +220 -0
  581. procesio_cli/tools/sqlserver/tests/test_manifest_sync.py +68 -0
  582. procesio_cli/tools/sqlserver/tests/test_sqlserver.py +326 -0
  583. procesio_cli/tools/sqlserver/tests/test_sqlserver_schema.py +488 -0
  584. procesio_cli/tools/sqlserver/tool.yaml +123 -0
  585. procesio_cli/tools/web/README.md +381 -0
  586. procesio_cli/tools/web/SKILL.md +37 -0
  587. procesio_cli/tools/web/WEB-AUTOMATION-NOTES.md +277 -0
  588. procesio_cli/tools/web/__init__.py +21 -0
  589. procesio_cli/tools/web/actiondef.py +24 -0
  590. procesio_cli/tools/web/api.py +444 -0
  591. procesio_cli/tools/web/brokered.py +107 -0
  592. procesio_cli/tools/web/driver.py +839 -0
  593. procesio_cli/tools/web/drivercontract.py +44 -0
  594. procesio_cli/tools/web/errors.py +54 -0
  595. procesio_cli/tools/web/handlers/__init__.py +1 -0
  596. procesio_cli/tools/web/handlers/archive.py +367 -0
  597. procesio_cli/tools/web/handlers/browse.py +182 -0
  598. procesio_cli/tools/web/handlers/contacts.py +74 -0
  599. procesio_cli/tools/web/handlers/sessmgmt.py +120 -0
  600. procesio_cli/tools/web/main.py +128 -0
  601. procesio_cli/tools/web/sessions.py +253 -0
  602. procesio_cli/tools/web/steps.py +162 -0
  603. procesio_cli/tools/web/tests/__init__.py +0 -0
  604. procesio_cli/tools/web/tests/conftest.py +197 -0
  605. procesio_cli/tools/web/tests/test_api.py +330 -0
  606. procesio_cli/tools/web/tests/test_archive.py +190 -0
  607. procesio_cli/tools/web/tests/test_brokered.py +138 -0
  608. procesio_cli/tools/web/tests/test_dispatch.py +132 -0
  609. procesio_cli/tools/web/tests/test_errors.py +60 -0
  610. procesio_cli/tools/web/tests/test_manifest_sync.py +76 -0
  611. procesio_cli/tools/web/tests/test_page_contacts.py +68 -0
  612. procesio_cli/tools/web/tests/test_sessions.py +145 -0
  613. procesio_cli/tools/web/tests/test_steps.py +210 -0
  614. procesio_cli/tools/web/tool.yaml +184 -0
  615. procesio_cli/tools/xlsx/README.md +34 -0
  616. procesio_cli/tools/xlsx/SKILL.md +28 -0
  617. procesio_cli/tools/xlsx/__init__.py +0 -0
  618. procesio_cli/tools/xlsx/main.py +129 -0
  619. procesio_cli/tools/xlsx/reader.py +91 -0
  620. procesio_cli/tools/xlsx/tests/__init__.py +0 -0
  621. procesio_cli/tools/xlsx/tests/conftest.py +39 -0
  622. procesio_cli/tools/xlsx/tests/test_xlsx.py +103 -0
  623. procesio_cli/tools/xlsx/tool.yaml +30 -0
  624. procesio_cli/webplatform/aat_mcp/AAT-MCP-NOTES.md +244 -0
  625. procesio_cli/webplatform/aat_mcp/README.md +78 -0
  626. procesio_cli/webplatform/aat_mcp/bridge.py +705 -0
  627. procesio_cli/webplatform/aat_mcp/chat_server.py +194 -0
  628. procesio_cli/webplatform/aat_mcp/chat_surface.snapshot.json +668 -0
  629. procesio_cli/webplatform/aat_mcp/chat_surface.yaml +372 -0
  630. procesio_cli/webplatform/aat_mcp/gate.py +68 -0
  631. procesio_cli/webplatform/aat_mcp/http_server.py +139 -0
  632. procesio_cli/webplatform/aat_mcp/protocol.py +175 -0
  633. procesio_cli/webplatform/aat_mcp/server.py +306 -0
  634. procesio_cli/webplatform/aat_mcp/tests/conftest.py +8 -0
  635. procesio_cli/webplatform/aat_mcp/tests/test_aat_mcp.py +255 -0
  636. procesio_cli/webplatform/aat_mcp/tests/test_chat_surface.py +247 -0
  637. procesio_cli/webplatform/aat_mcp/tests/test_discovery.py +489 -0
  638. procesio_cli/webplatform/aat_mcp/tests/test_multiuser.py +86 -0
  639. procesio_cli/webplatform/aat_mcp/tests/test_progressive_discovery.py +89 -0
  640. procesio_cli/webplatform/aat_mcp/tests/test_protocol.py +180 -0
  641. procesio_cli/webplatform/aat_mcp/tests/test_skill_discovery.py +23 -0
  642. procesio_cli-0.1.1.dist-info/METADATA +467 -0
  643. procesio_cli-0.1.1.dist-info/RECORD +647 -0
  644. procesio_cli-0.1.1.dist-info/WHEEL +4 -0
  645. procesio_cli-0.1.1.dist-info/entry_points.txt +7 -0
  646. procesio_cli-0.1.1.dist-info/licenses/LICENSE +201 -0
  647. procesio_cli-0.1.1.dist-info/licenses/NOTICE +5 -0
@@ -0,0 +1,913 @@
1
+ # Processes & Schedules endpoints
2
+
3
+ > Service: **Web-Api** (public gateway) · Base URL: see [../02-conventions.md](../02-conventions.md) · Auth: see [../01-authentication.md](../01-authentication.md)
4
+ > Source controllers:
5
+ > - `BE/Web-Api/WebApi/Application/Controllers/Processes/ProcessTemplateController.cs`
6
+ > - `BE/Web-Api/WebApi/Application/Controllers/Processes/ProcessInstanceController.cs`
7
+ > - `BE/Web-Api/WebApi/Application/Controllers/Processes/ScheduleProcessesController.cs`
8
+ > - `BE/Web-Api/WebApi/Application/Controllers/Processes/DebuggerController.cs`
9
+ > - `BE/Web-Api/WebApi/Application/Controllers/SchedulesController.cs`
10
+
11
+ This is the core of the PROCESIO platform: defining automation **processes** (a.k.a. "projects"/"flows" — a graph of actions with typed input/process/output variables), launching **instances** of them (synchronously or asynchronously), reading instance status/output, debugging a paused instance, and managing **schedules** that launch a process on a recurrence.
12
+
13
+ Terminology note: in the codebase a "process template" / "project" / "flow" all refer to the **process definition** built in the designer. A "process instance" is one launched run of that definition. The route prefix `api/Projects` is used for both templates and instances.
14
+
15
+ All endpoints in this file are **public** (none of these controllers are `[SecureInternalController]`; no routes start with `internal/`). All are versioned by the optional `x-version` header (default `1.19`). All accept/produce `application/json` (controller-level `[Consumes("application/json")]` / `[Produces("application/json")]`). No method here is `[AllowAnonymous]`, so every endpoint requires a **Bearer JWT** (or API key via `key`+`value` headers where the gateway supports it).
16
+
17
+ ---
18
+
19
+ ## Launch-a-process flow (most important for app builders)
20
+
21
+ There are **two** distinct ways a client starts a process, plus a third "publish" step that some clients do first. Read this before the per-endpoint reference.
22
+
23
+ ### Option A — Publish, then Launch (the two-step FE flow)
24
+
25
+ 1. **`POST api/Projects/{id}/instances/publish`** — `{id}` = the **process template (project) id**. Body = an arbitrary JSON payload (the input-variable values). This materializes a new runtime **instance** from the template and returns the created instance (a `FlowResponseDto`; read its `id` — that is the **instance id**).
26
+ 2. **`POST api/Projects/instances/{id}/launch`** — `{id}` = the **instance id** from step 1. Body = `LaunchFlowPayload` which carries `flowTemplateId` (the template id) and optional `connectionId` (a SignalR/websocket connection id used to push live updates). Query flags:
27
+ - `runSynchronous=true` → the call blocks until the instance reaches a terminal status (or `secondsTimeOut`, default 60s) and returns the **instance status object**.
28
+ - `runSynchronous=false` (default) → returns immediately as `{ "instanceId": "<guid>" }`; poll status separately.
29
+ - `debugMode=true` → launches paused for the debugger. **Cannot** be combined with `runSynchronous=true` (returns 400).
30
+
31
+ ### Option B — Run (single-call convenience)
32
+
33
+ - **`POST api/Projects/{id}/run`** — `{id}` = the **process template id**. Body = `RunFlowPayload` (`payload` = input-variable values, `connectionId` optional). This creates **and** launches an instance in one call. Same `runSynchronous` / `secondsTimeOut` query semantics as launch. Returns the synchronous status object, or `{ "instanceId": "<guid>" }` when async. This is the simplest entry point for an external app that just wants to fire a process by template id.
34
+
35
+ ### Reading results
36
+
37
+ - **`GET api/Projects/instances/{id}/status`** — `{id}` = instance id, with `flowTemplateId` query param. Returns the full instance snapshot wrapped as `{ "instance": { ... } }`, including action states, variables, and (optionally) webhook/scheduler/consumed-resource extras. This is how you read output variables and final status of an async run. The instance `status` field is a `FlowStatus` (see Shared DTOs); terminal values are `STATUS_FINISH (50)`, `STATUS_RUNNING_WITH_ERRORS (40)`, `STATUS_STOP_BY_USER (6)`.
38
+ - **`POST api/Projects/instances/{id}/stop`** — terminate a running instance.
39
+
40
+ ### How input variables are shaped on the wire
41
+
42
+ - For **publish** and **run**, the request body is typed as `object` (free-form JSON) in C#. In practice the platform expects the process **payload** shape — the same shape returned by `GET api/Projects/{id}/payload` (the "payload example" endpoint). Call that endpoint on a template to discover the exact JSON keys/structure the process expects, then send those values back. The process's input variables are described by `VariableDto` entries (with `type = INPUT (10)`) on the template; each has a `dataType` (a Guid referencing a data type), `name`, `isList`, `isRequired`, and `defaultValue`.
43
+ - For **debugger variable edits** (`PUT api/Debugger/instances/{id}/variables`), the body is a strongly typed `IList<PayloadVariable>` — see `PayloadVariable` in Shared DTOs.
44
+
45
+ ---
46
+
47
+ ## Endpoints
48
+
49
+ ### ProcessTemplateController — `api/Projects` (process definitions / designer)
50
+
51
+ Controller permission entity: `ProcessDesigner`. Swagger summaries quote the human-readable permission (e.g. `ProcessDesigner.Write`); the derived permission tuple is shown as `Entity:Action`.
52
+
53
+ ---
54
+
55
+ #### `POST api/Projects`
56
+
57
+ - **Operation:** `StoreTemplate` — create a new process template (project) from a full flow definition.
58
+ - **Auth:** Bearer JWT — **Permission:** `ProcessDesigner:Create` (Swagger: "Permission required: ProcessDesigner.Write")
59
+ - **Request body** (`application/json`): `FlowRequestDto`
60
+ - **Responses:**
61
+ - `200 OK` → empty body on success
62
+ - `400 Bad Request` → validation errors payload (`response.Value`) when the flow fails validation
63
+
64
+ ---
65
+
66
+ #### `PUT api/Projects`
67
+
68
+ - **Operation:** `UpdateTemplate` — update an existing process template.
69
+ - **Auth:** Bearer JWT — **Permission:** `ProcessDesigner:Update` (Swagger: "Permission required: ProcessDesigner.Update")
70
+ - **Request body** (`application/json`): `FlowRequestDto` (the `id` field identifies the template to update)
71
+ - **Responses:**
72
+ - `200 OK` → empty body on success
73
+ - `400 Bad Request` → validation errors payload
74
+
75
+ ---
76
+
77
+ #### `POST api/Projects/validate`
78
+
79
+ - **Operation:** `ValidateTemplate` — validate a flow definition without persisting it.
80
+ - **Auth:** Bearer JWT — **Permission:** `ProcessDesigner:Update` (Swagger: "Permission required: ProcessDesigner.Update")
81
+ - **Request body** (`application/json`): `FlowRequestDto`
82
+ - **Responses:**
83
+ - `200 OK` → empty body when valid
84
+ - `400 Bad Request` → validation errors payload
85
+
86
+ ---
87
+
88
+ #### `DELETE api/Projects/{id}`
89
+
90
+ - **Operation:** `RemoveTemplate` — delete a process template by id.
91
+ - **Auth:** Bearer JWT — **Permission:** `ProcessDesigner:Delete` (Swagger: "Permission required: ProcessDesigner.Delete")
92
+ - **Path params:** `{id}` — `string (uuid)`, required — process template id (`:guid` constrained).
93
+ - **Responses:**
94
+ - `200 OK` → empty body on success
95
+ - `400 Bad Request` → composed flow-error response
96
+
97
+ ---
98
+
99
+ #### `GET api/Projects`
100
+
101
+ - **Operation:** `GetTemplates` — list process templates with pagination and optional name search.
102
+ - **Auth:** Bearer JWT — **Permission:** `ProcessDesigner:Read` (Swagger: "Permission required: ProcessDesigner.Read")
103
+ - **Query params:**
104
+ - `pageNumber` — `number`, required — page index.
105
+ - `pageItemCount` — `number`, required — page size.
106
+ - `searchName` — `string`, optional, default `null` — name filter; ignored (treated as null) if trimmed length < 3.
107
+ - **Responses:**
108
+ - `200 OK` → JSON list/paged result of process templates
109
+ - `400 Bad Request` → not-found error message
110
+
111
+ ---
112
+
113
+ #### `GET api/Projects/count`
114
+
115
+ - **Operation:** `CountTemplates` — total count of process templates accessible to the caller.
116
+ - **Auth:** Bearer JWT — **Permission:** `ProcessDesigner:Read` (Swagger: "Permission required: ProcessDesigner.Read")
117
+ - **Responses:**
118
+ - `200 OK` → `number` (count)
119
+ - `400 Bad Request` → not-found error message (when count < 0)
120
+
121
+ ---
122
+
123
+ #### `GET api/Projects/{id}`
124
+
125
+ - **Operation:** `GetTemplate` — get a single full process template by id.
126
+ - **Auth:** Bearer JWT — **Permission:** `ProcessDesigner:Read` (Swagger: "Permission required: ProcessDesigner.Read")
127
+ - **Path params:** `{id}` — `string (uuid)`, required — process template id.
128
+ - **Responses:**
129
+ - `200 OK` → `{ "flow": FlowResponseDto }`
130
+ - `400 Bad Request` → authorization/not-found error payload
131
+
132
+ ---
133
+
134
+ #### `POST api/Projects/{id}/duplicate`
135
+
136
+ - **Operation:** `DuplicateTemplate` — create a copy of an existing process template.
137
+ - **Auth:** Bearer JWT — **Permission:** `ProcessDesigner:Create` (Swagger: "Permission required: ProcessDesigner.Write")
138
+ - **Path params:** `{id}` — `string (uuid)`, required — template id to duplicate.
139
+ - **Responses:**
140
+ - `200 OK` → `{ "hasWebhook": boolean }` — indicates whether the duplicated process contains a webhook
141
+ - `400 Bad Request` → exception message string
142
+
143
+ ---
144
+
145
+ #### `GET api/Projects/{id}/payload`
146
+
147
+ - **Operation:** `GetPayloadExample` — get an example input payload for the process (the JSON shape a client should send when launching/running it).
148
+ - **Auth:** Bearer JWT — **Permission:** `ProcessDesigner:Read` (Swagger: "Permission required: ProcessDesigner.Read")
149
+ - **Path params:** `{id}` — `string (uuid)`, required — flow (template) id.
150
+ - **Responses:**
151
+ - `200 OK` → JSON payload example (free-form object; shape mirrors the process's input variables)
152
+ - `400 Bad Request` → composed flow-error response
153
+ - **Notes:** Use this to discover the exact body to pass to `run` / `instances/publish`.
154
+
155
+ ---
156
+
157
+ #### `GET api/Projects/{id}/used`
158
+
159
+ - **Operation:** `GetDependencies` — list the parent processes that use (call) this process as a sub-process.
160
+ - **Auth:** Bearer JWT — **Permission:** `ProcessDesigner:Read` (Swagger: "Permission required: ProcessDesigner.Read")
161
+ - **Path params:** `{id}` — `string (uuid)`, required — process template id.
162
+ - **Responses:**
163
+ - `200 OK` → JSON list of dependent parents
164
+ - `400 Bad Request` → not-found error message
165
+
166
+ ---
167
+
168
+ #### `PATCH api/Projects/{id}/toggle-activation`
169
+
170
+ - **Operation:** `ToggleActivation` — enable/disable (activate/deactivate) a process template.
171
+ - **Auth:** Bearer JWT — **Permission:** `ProcessDesigner:Update` (Swagger: "Permission required: ProcessDesigner.Update")
172
+ - **Path params:** `{id}` — `string (uuid)`, required — process template id.
173
+ - **Special headers:** `state` — `boolean`, required `[FromHeader]` — desired active state (true = activate).
174
+ - **Responses:**
175
+ - `200 OK` → result object (the manager response)
176
+ - `400 Bad Request` → composed context-error response
177
+
178
+ ---
179
+
180
+ #### `POST api/Projects/notifications`
181
+
182
+ - **Operation:** `CreateProcessNotification` — create/update the email-notification settings for a process.
183
+ - **Auth:** Bearer JWT — **Permission:** `ProcessDesigner:Update` (Swagger: "Permission required: ProcessDesigner.Update")
184
+ - **Request body** (`application/json`): `NotificationDto` (the `id` field carries the process/notification target id)
185
+ - **Responses:**
186
+ - `200 OK` → `response.Value` (stored notification)
187
+ - `400 Bad Request` → composed flow-error response
188
+
189
+ ---
190
+
191
+ #### `GET api/Projects/notifications/{flowId}`
192
+
193
+ - **Operation:** `GetProcessNotification` — get the notification settings for a process.
194
+ - **Auth:** Bearer JWT — **Permission:** `ProcessDesigner:Read` (Swagger: "Permission required: ProcessDesigner.Read")
195
+ - **Path params:** `{flowId}` — `string (uuid)`, required — process template id.
196
+ - **Responses:**
197
+ - `200 OK` → `NotificationDto`
198
+ - `400 Bad Request` → composed flow-error response
199
+
200
+ ---
201
+
202
+ #### `PATCH api/Projects/{id}/dataRetention`
203
+
204
+ - **Operation:** `ChangeDataRetentionSettings` — update the data-retention policy for a process template.
205
+ - **Auth:** Bearer JWT — **Permission:** `ProcessDesigner:Update` (Swagger: "Permission required: ProcessDesigner.Update")
206
+ - **Path params:** `{id}` — `string (uuid)`, required — process template id.
207
+ - **Request body** (`application/json`): `DataRetentionPolicyDto`
208
+ - **Responses:**
209
+ - `200 OK` → `response.Value`
210
+ - `400 Bad Request` → composed flow-error response
211
+
212
+ ---
213
+
214
+ ### ProcessInstanceController — `api/Projects` (running / launched instances)
215
+
216
+ Controller permission entity: `ProcessInstance`.
217
+
218
+ ---
219
+
220
+ #### `GET api/Projects/{id}/instances`
221
+
222
+ - **Operation:** `GetInstances` — list current runtime instances of a process template, paginated, optionally filtered by status.
223
+ - **Auth:** Bearer JWT — **Permission:** `ProcessInstance:Read` (Swagger: "Permission required: ProcessInstance.Read")
224
+ - **Path params:** `{id}` — `string (uuid)`, required — process template id.
225
+ - **Query params:**
226
+ - `pageNumber` — `number`, required.
227
+ - `pageItemCount` — `number`, required.
228
+ - `filterStatus` — `array of FlowStatus` (string|number enum), optional — repeat the query key to pass multiple statuses.
229
+ - **Responses:**
230
+ - `200 OK` → JSON paged list of instances
231
+ - `400 Bad Request` → not-found error message
232
+
233
+ ---
234
+
235
+ #### `GET api/Projects/{id}/history`
236
+
237
+ - **Operation:** `GetHistoryInstances` — list finished/historical instances of a process template (non-archived) within a time window.
238
+ - **Auth:** Bearer JWT — **Permission:** `ProcessInstance:Read` (Swagger: "Permission required: ProcessInstance.Read")
239
+ - **Path params:** `{id}` — `string (uuid)`, required — process template id.
240
+ - **Query params:**
241
+ - `pageNumber` — `number`, required.
242
+ - `pageItemCount` — `number`, required.
243
+ - `filter` — `ProcessTimeSpanFilterType` (string|number enum), optional, default `Last30Days (5)` — time window.
244
+ - `monthFilter` — `string (date-time, ISO-8601)`, optional — specific month, used with `CertainMonth (14)`.
245
+ - **Responses:**
246
+ - `200 OK` → JSON paged list of historical instances
247
+ - `400 Bad Request` → not-found error message
248
+
249
+ ---
250
+
251
+ #### `GET api/Projects/{id}/archive`
252
+
253
+ - **Operation:** `GetArchiveInstances` — list archived (Cassandra) historical instances within a time window.
254
+ - **Auth:** Bearer JWT — **Permission:** `ProcessInstance:Read` (Swagger: "Permission required: ProcessInstance.Read")
255
+ - **Hidden from Swagger:** yes (`[ApiExplorerSettings(IgnoreApi = true)]`)
256
+ - **Path params:** `{id}` — `string (uuid)`, required — process template id.
257
+ - **Query params:** same as `/history`: `pageNumber` (required), `pageItemCount` (required), `filter` (`ProcessTimeSpanFilterType`, optional default `Last30Days`), `monthFilter` (`string date-time`, optional).
258
+ - **Responses:**
259
+ - `200 OK` → JSON paged list of archived instances
260
+ - `400 Bad Request` → not-found error message
261
+
262
+ ---
263
+
264
+ #### `GET api/Projects/{id}/instances/count`
265
+
266
+ - **Operation:** `CountInstances` — count current runtime instances for a process template.
267
+ - **Auth:** Bearer JWT — **Permission:** `ProcessInstance:Read` (Swagger: "Permission required: ProcessInstance.Read")
268
+ - **Path params:** `{id}` — `string (uuid)`, required — process template id.
269
+ - **Responses:**
270
+ - `200 OK` → `number` (count)
271
+ - `400 Bad Request` → not-found error message (when count < 0)
272
+
273
+ ---
274
+
275
+ #### `GET api/Projects/instances/{id}/output`
276
+
277
+ - **Operation:** `GetInstanceOutput` — get a runtime instance snapshot/output.
278
+ - **Auth:** Bearer JWT — **Permission:** `ProcessInstance:Read` (Swagger: "Permission required: ProcessInstance.Read")
279
+ - **Path params:** `{id}` — `string (uuid)`, required — process **instance** id.
280
+ - **Query params:** `flowTemplateId` — `string (uuid)`, required — process template id.
281
+ - **Responses:**
282
+ - `200 OK` → `{ "instance": { ... } }`
283
+ - `400 Bad Request` → not-found error message
284
+ - **Notes:** Marked in code as possibly deprecated / "Not used by FE+BE" (logs a critical "check if in use before removal"). Prefer `instances/{id}/status`. Still reachable.
285
+
286
+ ---
287
+
288
+ #### `GET api/Projects/instances/{id}/status`
289
+
290
+ - **Operation:** `GetInstanceStatus` — get the full runtime status snapshot of an instance (status, actions, variables, extras). **Primary endpoint for reading process results.**
291
+ - **Auth:** Bearer JWT — **Permission:** `ProcessInstance:Read` (Swagger: "Permission required: ProcessInstance.Read")
292
+ - **Path params:** `{id}` — `string (uuid)`, required — process **instance** id.
293
+ - **Query params:**
294
+ - `flowTemplateId` — `string (uuid)`, required — process template id.
295
+ - `isArchived` — `boolean`, optional, default `false` — read from archive instead of live store.
296
+ - `getActions` — `boolean`, optional, default `true` — include per-action states.
297
+ - `getVariables` — `boolean`, optional, default `true` — include variables (input/process/output values).
298
+ - `getInternalVariables` — `boolean`, optional, default `true` — include internal variables.
299
+ - `addExtras` — `boolean`, optional, default `true` — include webhook/scheduler/consumed-resource extras.
300
+ - **Responses:**
301
+ - `200 OK` → `{ "instance": { ... } }` — instance object includes `status` (`FlowStatus`), and (per flags) actions and variables.
302
+ - `400 Bad Request` → not-found error message
303
+ - **Notes:** Query options map to `InstanceStatusOptions` server-side. Poll this after an async launch to detect terminal status and read output variables.
304
+
305
+ ---
306
+
307
+ #### `GET api/Projects/{id}/instances/{instanceId}/customResponse`
308
+
309
+ - **Operation:** `GetInstanceCustomResponse` — get the process's configured custom response value for an instance.
310
+ - **Auth:** Bearer JWT — **Permission:** `ProcessInstance:Read` (Swagger: "Permission required: ProcessInstance.Read")
311
+ - **Path params:**
312
+ - `{id}` — `string (uuid)`, required — process template id.
313
+ - `{instanceId}` — `string (uuid)`, required — process instance id.
314
+ - **Query params:** `isArchived` — `boolean`, optional, default `false`.
315
+ - **Responses:**
316
+ - `200 OK` → the custom response value (free-form; shape defined by the process's `CustomResponse`)
317
+ - **Notes:** Logs a critical "check if in use before removal" but is still reachable.
318
+
319
+ ---
320
+
321
+ #### `POST api/Projects/{id}/instances/publish`
322
+
323
+ - **Operation:** `PublishProcess` — materialize a new runtime instance from a process template (step 1 of the publish→launch flow).
324
+ - **Auth:** Bearer JWT — **Permission:** `ProcessInstance:Create` (Swagger: "Permission required: ProcessInstance.Write")
325
+ - **Path params:** `{id}` — `string (uuid)`, required — process **template** id.
326
+ - **Request body** (`application/json`): `object` — free-form input payload (input-variable values). Use `GET api/Projects/{id}/payload` to discover the expected shape.
327
+ - **Responses:**
328
+ - `200 OK` → the created instance (`FlowResponseDto`); read its `id` to get the **instance id** for the subsequent launch
329
+ - `400 Bad Request` → composed flow-error response
330
+
331
+ ---
332
+
333
+ #### `POST api/Projects/instances/{id}/launch`
334
+
335
+ - **Operation:** `LaunchInstance` — launch a previously-published instance (step 2 of publish→launch). Supports sync/async and debug modes.
336
+ - **Auth:** Bearer JWT — **Permission:** `ProcessInstance:Create` (Swagger: "Permission required: ProcessInstance.Write")
337
+ - **Path params:** `{id}` — `string (uuid)`, required — process **instance** id (from publish).
338
+ - **Query params:**
339
+ - `runSynchronous` — `boolean`, optional, default `false` — when true, block until terminal status and return the status object.
340
+ - `debugMode` — `boolean`, optional, default `false` — launch paused for the debugger.
341
+ - `secondsTimeOut` — `number`, optional, default `60` — sync wait timeout in seconds.
342
+ - **Request body** (`application/json`): `LaunchFlowPayload`
343
+ - **Responses:**
344
+ - `200 OK (async)` → `{ "instanceId": "<guid>" }`
345
+ - `200 OK (sync)` → the instance status object (`instanceStatus.Value`)
346
+ - `400 Bad Request` → `"Launch failed!"`, or `"Launch failed! Cannot run a process in sync mode and debug mode at the same time."` when both `debugMode` and `runSynchronous` are true.
347
+ - **Notes:** `debugMode=true` + `runSynchronous=true` is rejected. `connectionId` in the body is the live-updates (SignalR) connection id.
348
+
349
+ ---
350
+
351
+ #### `POST api/Projects/instances/{id}/stop`
352
+
353
+ - **Operation:** `StopInstance` — terminate a running process instance.
354
+ - **Auth:** Bearer JWT — **Permission:** `ProcessInstance:Update` (Swagger: "Permission required: ProcessInstance.Update")
355
+ - **Path params:** `{id}` — `string (uuid)`, required — process **instance** id.
356
+ - **Query params:** `flowTemplateId` — `string (uuid)`, required — process template id.
357
+ - **Responses:**
358
+ - `200 OK` → `"Stop process instance is complete."`
359
+ - `400 Bad Request` → `"Stopping process failed."` or exception message
360
+
361
+ ---
362
+
363
+ #### `POST api/Projects/{id}/run`
364
+
365
+ - **Operation:** `RunProcess` — create and launch an instance from a template in a single call (convenience entry point).
366
+ - **Auth:** Bearer JWT — **Permission:** `ProcessInstance:Create` (Swagger: "Permission required: ProcessInstance.Write")
367
+ - **Path params:** `{id}` — `string (uuid)`, required — process **template** id.
368
+ - **Query params:**
369
+ - `runSynchronous` — `boolean`, optional, default `false` — block until terminal status and return it.
370
+ - `secondsTimeOut` — `number`, optional, default `60` — sync wait timeout in seconds.
371
+ - **Request body** (`application/json`): `RunFlowPayload`
372
+ - **Responses:**
373
+ - `200 OK (async)` → `{ "instanceId": "<guid>" }`
374
+ - `200 OK (sync)` → the instance status object
375
+ - `400 Bad Request` → composed flow-error response, or `"invalid instance"` if the launch did not produce a valid instance
376
+ - **Notes:** The `payload` field carries input-variable values (shape per `GET api/Projects/{id}/payload`). `connectionId` is optional (live updates).
377
+
378
+ ---
379
+
380
+ #### `GET api/Projects/{id}/restricted`
381
+
382
+ - **Operation:** `GetTemplateForInstance` — get a restricted/limited view of the process template (used to render an instance without full designer access).
383
+ - **Auth:** Bearer JWT — **Permission:** `ProcessInstance:Read` (Swagger: "Permission required: ProcessInstance.Read")
384
+ - **Path params:** `{id}` — `string (uuid)`, required — process template id.
385
+ - **Responses:**
386
+ - `200 OK` → `{ "flow": <restricted template> }`
387
+ - `400 Bad Request` → authorization error payload
388
+
389
+ ---
390
+
391
+ #### `DELETE api/Projects/instances/{id}/dataRetention`
392
+
393
+ - **Operation:** `DeleteProcessInstanceData` — delete the stored data for a process instance per the retention policy.
394
+ - **Auth:** Bearer JWT — **Permission:** `ProcessInstance:Delete` (Swagger: "Permission required: ProcessInstance.Delete")
395
+ - **Path params:** `{id}` — `string (uuid)`, required — process **instance** id.
396
+ - **Query params:** `flowTemplateId` — `string (uuid)`, required — process template id.
397
+ - **Responses:**
398
+ - `200 OK` → `response.Value`
399
+ - `400 Bad Request` → composed flow-error response or exception message
400
+
401
+ ---
402
+
403
+ ### ScheduleProcessesController — `api/Projects` (restricted template list for scheduling)
404
+
405
+ Controller permission entity: `Schedule`. Both methods are tagged in Swagger under `ProcessTemplate`.
406
+
407
+ ---
408
+
409
+ #### `GET api/Projects/restricted/schedules`
410
+
411
+ - **Operation:** `GetProcessTemplates` — list restricted process templates available to attach to a schedule, paginated.
412
+ - **Auth:** Bearer JWT — **Permission:** `Schedule:Read` (Swagger: "Permission required: Schedule.Read")
413
+ - **Query params:**
414
+ - `pageNumber` — `number`, required.
415
+ - `pageItemCount` — `number`, required.
416
+ - **Responses:**
417
+ - `200 OK` → JSON paged list of restricted templates
418
+ - `400 Bad Request` → not-found error message
419
+
420
+ ---
421
+
422
+ #### `GET api/Projects/{id}/restricted/schedules`
423
+
424
+ - **Operation:** `GetProcessTemplate` — get a single restricted process template by id (for use in scheduling).
425
+ - **Auth:** Bearer JWT — **Permission:** `Schedule:Read` (Swagger: "Permission required: Schedule.Read")
426
+ - **Path params:** `{id}` — `string (uuid)`, required — process template id.
427
+ - **Responses:**
428
+ - `200 OK` → `{ "flow": <restricted template> }`
429
+ - `400 Bad Request` → authorization error payload
430
+
431
+ ---
432
+
433
+ ### DebuggerController — `api/Debugger`
434
+
435
+ Controller permission entity: `ProcessInstance`. Used to drive a process instance that was launched with `debugMode=true` (paused at break points).
436
+
437
+ ---
438
+
439
+ #### `POST api/Debugger/instances/{id}/operation`
440
+
441
+ - **Operation:** `DebuggerOperation` — run a debugger control operation (resume or step) on a paused instance.
442
+ - **Auth:** Bearer JWT — **Permission:** `ProcessInstance:Update` (Swagger: "Permission required: ProcessInstance.Write")
443
+ - **Path params:** `{id}` — `string (uuid)`, required — process **instance** id.
444
+ - **Request body** (`application/json`): `DebuggerOperationDto`
445
+ - **Responses:**
446
+ - `200 OK` → `"Debugger operation in progress..."`
447
+ - `400 Bad Request` → `"Debugger operation failed!"`
448
+
449
+ ---
450
+
451
+ #### `PUT api/Debugger/instances/{id}/variables`
452
+
453
+ - **Operation:** `DebuggerVariables` — update variable values on a paused instance during debugging.
454
+ - **Auth:** Bearer JWT — **Permission:** `ProcessInstance:Update` (Swagger: "Permission required: ProcessInstance.Write")
455
+ - **Path params:** `{id}` — `string (uuid)`, required — process **instance** id.
456
+ - **Request body** (`application/json`): `array of PayloadVariable`
457
+ - **Responses:**
458
+ - `200 OK` → JSON of the updated variables (`response`)
459
+ - non-200 → on `HttpResponseException`, returns `ex.Value` with `ex.Status` as the HTTP status code
460
+ - `400 Bad Request` → `"Debugger variables update failed!"`
461
+
462
+ ---
463
+
464
+ ### SchedulesController — `api/Schedules`
465
+
466
+ Controller permission entity: `Schedule`. The `[controller]` token resolves to `Schedules`. Manages schedules that launch a target process on a recurrence.
467
+
468
+ ---
469
+
470
+ #### `GET api/Schedules`
471
+
472
+ - **Operation:** `GetSchedules` — list schedules with pagination and optional name search.
473
+ - **Auth:** Bearer JWT — **Permission:** `Schedule:Read` (Swagger: "Permission required: Schedule.Read")
474
+ - **Query params:**
475
+ - `pageNumber` — `number`, required.
476
+ - `pageItemCount` — `number`, required.
477
+ - `searchName` — `string`, optional, default `null` — ignored if trimmed length < 3.
478
+ - **Responses:**
479
+ - `200 OK` → JSON paged list of schedules
480
+ - `400 Bad Request` → not-found error message
481
+
482
+ ---
483
+
484
+ #### `GET api/Schedules/{scheduleId}`
485
+
486
+ - **Operation:** `GetSchedule` — get a single schedule by id.
487
+ - **Auth:** Bearer JWT — **Permission:** `Schedule:Read` (Swagger: "Permission required: Schedule.Read")
488
+ - **Path params:** `{scheduleId}` — `string (uuid)`, required.
489
+ - **Responses:**
490
+ - `200 OK` → schedule object (`DetailedScheduleDto` shape)
491
+ - `400 Bad Request` → authorization error payload
492
+
493
+ ---
494
+
495
+ #### `DELETE api/Schedules/{scheduleId}`
496
+
497
+ - **Operation:** `DeleteSchedules` — delete a schedule by id.
498
+ - **Auth:** Bearer JWT — **Permission:** `Schedule:Delete` (Swagger: "Permission required: Schedule.Delete")
499
+ - **Path params:** `{scheduleId}` — `string (uuid)`, required.
500
+ - **Responses:**
501
+ - `200 OK` → `"Deleted schedule with id <scheduleId>"`
502
+ - `400 Bad Request` → composed schedules-error response
503
+
504
+ ---
505
+
506
+ #### `POST api/Schedules`
507
+
508
+ - **Operation:** `CreateSchedule` — create a schedule that launches a target process on a recurrence.
509
+ - **Auth:** Bearer JWT — **Permission:** `Schedule:Create` (Swagger: "Permission required: Schedule.Write")
510
+ - **Request body** (`application/json`): `DetailedScheduleDto`
511
+ - **Responses:**
512
+ - `200 OK` → created schedule (`response.Value`)
513
+ - `400 Bad Request` → composed schedules-error response
514
+
515
+ ---
516
+
517
+ #### `PUT api/Schedules`
518
+
519
+ - **Operation:** `UpdateSchedule` — update an existing schedule.
520
+ - **Auth:** Bearer JWT — **Permission:** `Schedule:Update` (Swagger: "Permission required: Schedule.Update")
521
+ - **Request body** (`application/json`): `DetailedScheduleDto` (the `id` field identifies the schedule)
522
+ - **Responses:**
523
+ - `200 OK` → updated schedule (`response.Value`)
524
+ - `400 Bad Request` → composed schedules-error response
525
+
526
+ ---
527
+
528
+ #### `PATCH api/Schedules/{scheduleId}/status`
529
+
530
+ - **Operation:** `SetScheduleStatus` — enable or disable a schedule.
531
+ - **Auth:** Bearer JWT — **Permission:** `Schedule:Update` (Swagger: "Permission required: Schedule.Update")
532
+ - **Path params:** `{scheduleId}` — `string (uuid)`, required.
533
+ - **Query params:** `enable` — `boolean`, required — true = enable, false = disable.
534
+ - **Responses:**
535
+ - `200 OK` → empty body
536
+ - `400 Bad Request` → composed schedules-error response
537
+
538
+ ---
539
+
540
+ #### `POST api/Schedules/notifications`
541
+
542
+ - **Operation:** `CreateScheduleNotification` — create/update email-notification settings for a schedule.
543
+ - **Auth:** Bearer JWT — **Permission:** `Schedule:Update` (Swagger: "Permission required: Schedule.Update")
544
+ - **Request body** (`application/json`): `NotificationDto` (the `id` field carries the schedule id)
545
+ - **Responses:**
546
+ - `200 OK` → `response.Value`
547
+ - `400 Bad Request` → composed flow-error response
548
+
549
+ ---
550
+
551
+ #### `GET api/Schedules/notifications/{scheduleId}`
552
+
553
+ - **Operation:** `GetScheduleNotification` — get the notification settings for a schedule.
554
+ - **Auth:** Bearer JWT — **Permission:** `Schedule:Read` (Swagger: "Permission required: Schedule.Read")
555
+ - **Path params:** `{scheduleId}` — `string (uuid)`, required.
556
+ - **Responses:**
557
+ - `200 OK` → `NotificationDto`
558
+ - `400 Bad Request` → composed flow-error response
559
+
560
+ ---
561
+
562
+ ## Shared DTOs
563
+
564
+ ### `LaunchFlowPayload`
565
+
566
+ Request body for `POST api/Projects/instances/{id}/launch`. Uses `System.Text.Json` attribute names.
567
+
568
+ | wire field | type | req | description |
569
+ |---|---|---|---|
570
+ | `connectionId` | `string` | optional | Live-updates (SignalR) connection id to receive push updates; may be null/empty. |
571
+ | `flowTemplateId` | `string (uuid)` | required | The process template id the instance belongs to. |
572
+
573
+ ### `RunFlowPayload`
574
+
575
+ Request body for `POST api/Projects/{id}/run`. No JSON attributes → Newtonsoft default names (PascalCase property names serialized as-is unless global camelCase is configured; treat as `Payload` / `ConnectionId`).
576
+
577
+ | wire field | type | req | description |
578
+ |---|---|---|---|
579
+ | `Payload` | `object` (free-form JSON) | optional | Input-variable values for the process. Shape mirrors `GET api/Projects/{id}/payload`. |
580
+ | `ConnectionId` | `string` | optional | Live-updates (SignalR) connection id. |
581
+
582
+ ### `FlowRequestDto`
583
+
584
+ Request body for `StoreTemplate`, `UpdateTemplate`, `ValidateTemplate`. Extends `BaseFlowDto` (inherits all its fields + the `OwnershipAuditDto` audit fields). Adds:
585
+
586
+ | wire field | type | req | description |
587
+ |---|---|---|---|
588
+ | `Variables` | `array of VariableDto` | optional | Process variables (input/process/output). |
589
+ | `Actions` | `array of ActionDto` | optional | Action nodes of the flow. |
590
+ | `Webhooks` | `array of WebhookInstanceDto` | optional | Webhook triggers attached to the flow. |
591
+ | `CustomResponse` | `object (CustomResponseDto)` | optional | Custom synchronous response definition. |
592
+ | `DataRetention` | `object (DataRetentionPolicyDto)` | optional | Data-retention policy. |
593
+ | `CanvasData` | `object` (raw JSON token) | optional | Designer canvas layout (opaque). |
594
+
595
+ ### `FlowResponseDto`
596
+
597
+ Returned by `GetTemplate` (wrapped as `{ "flow": ... }`) and as the published-instance result of `PublishProcess`. Extends `BaseFlowDto`. Fields:
598
+
599
+ | wire field | type | description |
600
+ |---|---|---|
601
+ | `Variables` | `array of VariableDto` | Process variables. |
602
+ | `Actions` | `array of ActionDto` | Action nodes. |
603
+ | `Webhooks` | `array of WebhookInstanceDto` | Webhook triggers. |
604
+ | `CustomResponse` | `object (CustomResponseDto)` | Custom response definition. |
605
+ | `ParentFlow` | `object (ParentFlowDto)` | Parent flow linkage (defaults to empty object). |
606
+ | `DataRetention` | `object (DataRetentionPolicyDto)` | Data-retention policy. |
607
+ | `CanvasData` | `object` (raw JSON token) | Designer canvas layout. |
608
+ | *(plus all `BaseFlowDto` + `OwnershipAuditDto` fields)* | | |
609
+
610
+ ### `BaseFlowDto`
611
+
612
+ Base for `FlowRequestDto` / `FlowResponseDto`. Extends `OwnershipAuditDto`.
613
+
614
+ | wire field | type | req | description |
615
+ |---|---|---|---|
616
+ | `Id` | `string (uuid)` | required(value type) | Flow id (template id, or instance id on instance responses). |
617
+ | `ParentId` | `string (uuid)` | optional | Parent flow id; null by default. |
618
+ | `Status` | `FlowStatus` (string|number enum) | required(value type) | Current status. |
619
+ | `Title` | `string` | optional | Process title. |
620
+ | `Description` | `string` | optional | Process description. |
621
+ | `IsValid` | `boolean` | required(value type) | Whether the flow passed validation. |
622
+ | `Active` | `boolean` | required(value type) | Whether the template is active. |
623
+ | `Timeout` | `number` | required(value type) | Execution timeout. |
624
+ | `CurrentActionId` | `string (uuid)` | optional | Currently executing action (instances). |
625
+ | `DebugMode` | `boolean` | required(value type) | Whether launched in debug mode. |
626
+ | `IsNotification` | `boolean` | optional (default false) | Notification flag. |
627
+
628
+ ### `OwnershipAuditDto`
629
+
630
+ Audit fields inherited by `BaseFlowDto` and `BaseScheduleDto`. Uses Newtonsoft `[JsonProperty]` names.
631
+
632
+ | wire field | type | description |
633
+ |---|---|---|
634
+ | `firstName` | `string` | (legacy) creator first name. |
635
+ | `lastName` | `string` | (legacy) creator last name. |
636
+ | `workspaceId` | `string (uuid)` (nullable) | Owning workspace. |
637
+ | `createdBy` | `string` | "FirstName LastName" of creator. |
638
+ | `updatedBy` | `string` | "FirstName LastName" of last updater. |
639
+ | `createdById` | `string (uuid)` (nullable) | Creator user id. |
640
+ | `updatedById` | `string (uuid)` (nullable) | Updater user id. |
641
+ | `createdOn` | `string (date-time, ISO-8601)` (nullable) | Created timestamp. |
642
+ | `updatedOn` | `string (date-time, ISO-8601)` (nullable) | Updated timestamp. |
643
+
644
+ ### `VariableDto`
645
+
646
+ A process variable (input/process/output).
647
+
648
+ | wire field | type | req | description |
649
+ |---|---|---|---|
650
+ | `Id` | `string (uuid)` | required(value type) | Variable id. |
651
+ | `ContextId` | `string (uuid)` | optional | Context id. |
652
+ | `DataType` | `string (uuid)` | required(value type) | References a data-type definition (Guid). |
653
+ | `Type` | `VariableOrientation` (string|number enum) | required(value type) | INPUT / PROCESS / OUTPUT (AUTO = 50 is engine-written, read-only). |
654
+ | `Name` | `string` | optional | Variable name (the JSON key clients use in the payload). |
655
+ | `DefaultValue` | `object` | optional | Default value (any JSON). |
656
+ | `IsList` | `boolean` | required(value type) | Whether the variable is a collection. |
657
+ | `IsError` | `boolean` | required(value type) | Whether it is an error variable. |
658
+ | `IsRequired` | `boolean` | optional (default false) | Whether a value is required at launch. |
659
+
660
+ ### `ActionDto`
661
+
662
+ An action node in the flow (designer-level; relevant mainly for template authoring).
663
+
664
+ | wire field | type | description |
665
+ |---|---|---|
666
+ | `Id` | `string (uuid)` | Action id. |
667
+ | `FlowId` | `string (uuid)` | Owning flow id. |
668
+ | `TemplateId` | `string (uuid)` | Action template id. |
669
+ | `ParentId` | `string (uuid)` (nullable) | Parent action id. |
670
+ | `VariableErrorId` | `string (uuid)` (nullable) | Error-variable id. |
671
+ | `Status` | `ActionStatus` (string|number enum) | Action runtime status. |
672
+ | `Category` | `string` | Action category. |
673
+ | `ActionName` | `string` | Display name. |
674
+ | `ActionTemplateName` | `string` | Underlying template name. |
675
+ | `Ports` | `array of PortDto` | Connections to other actions. |
676
+ | `Parameters` | `array of ParametersDto` | Configured parameters. |
677
+ | `CustomData` | `object` | Opaque per-action data. |
678
+ | `IsTestable` | `boolean` | Whether the action supports test runs. |
679
+ | `IsDisabled` | `boolean` | Whether the action is disabled. |
680
+ | `BreakPoint` | `object (BreakPointDto)` | Debugger break point. |
681
+ | `TestValues` | `object` | Test input values. |
682
+ | `ErrorMessage` | `string` | Last error message. |
683
+ | `Events` | `array of PropertyEventDto` (nullable) | Dynamic connector events. |
684
+
685
+ ### `PortDto`
686
+
687
+ | wire field | type | description |
688
+ |---|---|---|
689
+ | `Id` | `string (uuid)` | Port id. |
690
+ | `FlowId` | `string (uuid)` | Owning flow. |
691
+ | `SourceId` | `string (uuid)` | Source action. |
692
+ | `DestinationId` | `string (uuid)` | Destination action. |
693
+ | `Type` | `number` | Port type. |
694
+ | `State` | `number` | Port state. |
695
+ | `Data` | `object` | Opaque port data. |
696
+ | `Errors` | `object` | Opaque errors. |
697
+ | `Config` | `object` (map of `string`→`number`) | Port config dictionary. |
698
+
699
+ ### `ParametersDto`
700
+
701
+ | wire field | type | description |
702
+ |---|---|---|
703
+ | `TabPropertyId` | `string (uuid)` | Parameter/tab property id. |
704
+ | `Variable` | `array of ParameterVariableDto` | Bound variables. |
705
+ | `Value` | `object` | Configured value. |
706
+
707
+ ### `ParameterVariableDto`
708
+
709
+ Newtonsoft `[JsonProperty]` names.
710
+
711
+ | wire field | type | description |
712
+ |---|---|---|
713
+ | `id` | `number` | Numeric id. |
714
+ | `variableId` | `string (uuid)` (nullable) | Bound process-variable id. |
715
+ | `attribute` | `object (VariableAttributeDto)` | Attribute path. |
716
+
717
+ ### `VariableAttributeDto`
718
+
719
+ Recursive attribute path. Newtonsoft `[JsonProperty]` names.
720
+
721
+ | wire field | type | description |
722
+ |---|---|---|
723
+ | `attributeId` | `string (uuid)` | Attribute id. |
724
+ | `nextAttribute` | `object (VariableAttributeDto)` | Next attribute in the chain (recursive; null-terminated). |
725
+
726
+ ### `BreakPointDto`
727
+
728
+ | wire field | type | description |
729
+ |---|---|---|
730
+ | `Enabled` | `boolean` | Whether the break point is enabled. |
731
+
732
+ ### `PropertyEventDto`
733
+
734
+ Dynamic connector event metadata. Newtonsoft `[JsonProperty]` names.
735
+
736
+ | wire field | type | description |
737
+ |---|---|---|
738
+ | `type` | `number` | Event type. |
739
+ | `inputs` | `array of string (uuid)` (nullable) | Property ids used as connector inputs. |
740
+ | `outputs` | `array of string (uuid)` (nullable) | Property ids produced as connector outputs. |
741
+ | `outputTarget` | `OutputTarget` (string|number enum) (nullable) | Target output type. **DTO not resolved: `OutputTarget`** — defined in external NuGet `Ringhel.Procesio.Action.Core.Utils`, not in this repo. |
742
+
743
+ ### `WebhookInstanceDto`
744
+
745
+ | wire field | type | description |
746
+ |---|---|---|
747
+ | `Id` | `string (uuid)` | Webhook instance id. |
748
+ | `WebhookId` | `string (uuid)` | Webhook definition id. |
749
+ | `WebhookVariables` | `array of WebhookVariableDto` | Variable bindings. |
750
+ | `IsObsoleted` | `boolean` | Whether the event is obsoleted. |
751
+ | `FilterRules` | `object (WebhookRulesDto)` | Filter rules. |
752
+
753
+ ### `WebhookVariableDto`
754
+
755
+ | wire field | type | description |
756
+ |---|---|---|
757
+ | `VariableId` | `string (uuid)` | Process-variable id. |
758
+ | `VariableType` | `WebhookVariableType` (string|number enum) | Source of the value: Header / Query / Body. |
759
+
760
+ ### `WebhookRulesDto`
761
+
762
+ | wire field | type | description |
763
+ |---|---|---|
764
+ | `Value` | `object` | Rule value (opaque). |
765
+ | `Parameters` | `array of WebhookEventRulesDto` | Decision conditions. |
766
+
767
+ `WebhookEventRulesDto` extends `DecisionCondition` (in `Domain.Models.Webhooks`). **DTO not fully resolved: `DecisionCondition`** — designer-internal decision-rule model; not expanded here (not needed for launching processes).
768
+
769
+ ### `CustomResponseDto`
770
+
771
+ | wire field | type | description |
772
+ |---|---|---|
773
+ | `Variable` | `object (ParameterVariableDto)` | The variable whose value is returned as the custom response. |
774
+ | `Value` | `object` | Static/override value. |
775
+
776
+ ### `ParentFlowDto`
777
+
778
+ | wire field | type | description |
779
+ |---|---|---|
780
+ | `ParentId` | `string (uuid)` | Parent flow instance id. |
781
+ | `FlowTemplateId` | `string (uuid)` | Parent flow template id. |
782
+ | `ActionId` | `string (uuid)` | Action that triggered the child flow. |
783
+
784
+ ### `DataRetentionPolicyDto`
785
+
786
+ Newtonsoft `[JsonProperty]` names. Used by `ChangeDataRetentionSettings` and embedded in flow DTOs.
787
+
788
+ | wire field | type | req | description |
789
+ |---|---|---|---|
790
+ | `deleteOnSuccess` | `FlowDataRetentionType` (string|number enum) | required(value type) | Retention when the run succeeds. |
791
+ | `deleteOnError` | `FlowDataRetentionType` (string|number enum) | required(value type) | Retention when the run errors. |
792
+ | `deleteOnStopped` | `FlowDataRetentionType` (string|number enum) | required(value type) | Retention when stopped by user. |
793
+
794
+ ### `NotificationDto`
795
+
796
+ Request/response body for process and schedule notification endpoints.
797
+
798
+ | wire field | type | req | description |
799
+ |---|---|---|---|
800
+ | `Id` | `string (uuid)` (nullable) | optional | Target id (process or schedule). |
801
+ | `EmailList` | `string` | optional (default `""`) | Comma/semicolon-separated recipient emails. |
802
+ | `IsEnabled` | `boolean` | optional (default false) | Whether notifications are enabled. |
803
+ | `OnSuccess` | `boolean` | optional (default true) | Notify on success. |
804
+ | `OnFail` | `boolean` | optional (default true) | Notify on failure. |
805
+
806
+ ### `PayloadVariable`
807
+
808
+ Request body element for `PUT api/Debugger/instances/{id}/variables` (sent as an array). Newtonsoft default names except `nextAttribute`.
809
+
810
+ | wire field | type | req | description |
811
+ |---|---|---|---|
812
+ | `Id` | `string (uuid)` | required(value type) | Variable id to update. |
813
+ | `Value` | `object` | optional | New value (any JSON). |
814
+ | `nextAttribute` | `object (VariableAttribute)` | optional | Attribute path for nested/structured values (recursive; same shape as `VariableAttributeDto`: `attributeId` + `nextAttribute`). |
815
+
816
+ ### `DebuggerOperationDto`
817
+
818
+ Request body for `POST api/Debugger/instances/{id}/operation`.
819
+
820
+ | wire field | type | req | description |
821
+ |---|---|---|---|
822
+ | `DebuggerActionType` | `DebuggerOperationType` (string|number enum) | required(value type) | RESUME or STEP. |
823
+ | `ConnectionId` | `string` | optional | Live-updates (SignalR) connection id. |
824
+
825
+ ### `DetailedScheduleDto`
826
+
827
+ Request body for `CreateSchedule` / `UpdateSchedule`; also the read shape of a schedule. Extends `BaseScheduleDto` (which extends `OwnershipAuditDto`).
828
+
829
+ | wire field | type | req | description |
830
+ |---|---|---|---|
831
+ | `TargetProcess` | `string (uuid)` | required(value type) | The process template launched by this schedule. |
832
+ | `Description` | `string` | optional | Schedule description. |
833
+ | `Notification` | `object (NotificationDto)` | optional | Email-notification settings. |
834
+ | `ProcessInputs` | `array of ScheduleVariableDto` | optional | Input-variable values passed to the process on each run. |
835
+ | `Recurrence` | `object` (free-form JSON) | optional | Recurrence rule. Typed as `object` server-side — opaque structure (cron-like / interval definition); shape not constrained at the controller. |
836
+ | *(plus `BaseScheduleDto` + `OwnershipAuditDto` fields)* | | | |
837
+
838
+ ### `BaseScheduleDto`
839
+
840
+ | wire field | type | req | description |
841
+ |---|---|---|---|
842
+ | `Id` | `string (uuid)` | required(value type) | Schedule id. |
843
+ | `Name` | `string` | optional | Schedule name. |
844
+ | `Status` | `boolean` | required(value type) | Enabled/disabled. |
845
+ | *(plus `OwnershipAuditDto` fields)* | | | |
846
+
847
+ ### `ScheduleVariableDto`
848
+
849
+ One input-variable value for a scheduled run.
850
+
851
+ | wire field | type | req | description |
852
+ |---|---|---|---|
853
+ | `Id` | `string (uuid)` | required(value type) | Variable id. |
854
+ | `Value` | `object` | optional | Value to inject (any JSON). |
855
+
856
+ ---
857
+
858
+ ## Shared enums
859
+
860
+ ### `FlowStatus` (number-valued)
861
+
862
+ | name | value | meaning |
863
+ |---|---|---|
864
+ | `STATUS_NONE` | 1 | None. |
865
+ | `INACTIVE` | 5 | Flow inactive (used for filtering). |
866
+ | `STATUS_STOP_BY_USER` | 6 | Terminated by the user. |
867
+ | `STATUS_INITIALIZING` | 15 | Initializing. |
868
+ | `STATUS_DISPATCHED_ACTIONS` | 20 | Actions dispatched (state-machine only; not persisted). |
869
+ | `STATUS_RUNNING` | 30 | Running. |
870
+ | `STATUS_RUNNING_WITH_ERRORS` | 40 | Finished/running with errors. |
871
+ | `BREAK_POINT` | 45 | Paused at a debugger break point. |
872
+ | `STATUS_FINISH` | 50 | Finished successfully. |
873
+ | `STATUS_TEMPORARY_WAITING` | 60 | Transient waiting (state-machine only). |
874
+
875
+ ### `ProcessTimeSpanFilterType` (number-valued)
876
+
877
+ `LastHour`=1, `Last24Hours`=2, `Last3Days`=3, `Last7Days`=4, `Last30Days`=5 (default), `ThisMonth`=6, `ThisQuarter`=7, `ThisYear`=8, `LastMonth`=9, `LastQuarter`=10, `Last3Months`=11, `Last6Months`=12, `LastYear`=13, `CertainMonth`=14 (used with `monthFilter`).
878
+
879
+ ### `DebuggerOperationType` (number-valued)
880
+
881
+ | name | value | meaning |
882
+ |---|---|---|
883
+ | `RESUME` | 0 | Resume the flow. |
884
+ | `STEP` | 1 | Step to the next action. |
885
+
886
+ ### `VariableOrientation` (number-valued)
887
+
888
+ | name | value | meaning |
889
+ |---|---|---|
890
+ | `INPUT` | 10 | Input variable. |
891
+ | `PROCESS` | 20 | Internal/process variable. |
892
+ | `OUTPUT` | 30 | Output variable. |
893
+ | `AUTO` | 50 | Engine-written, read-only instance variable (added in v3.0.0, 2026-10); clients cannot create it. |
894
+
895
+ ### `FlowDataRetentionType` (number-valued)
896
+
897
+ | name | value | meaning |
898
+ |---|---|---|
899
+ | `Never` | 0 | Never auto-delete. |
900
+ | `AtEndOfRuntime` | 1 | Delete when the run ends. |
901
+ | `AtMoveToHistory` | 2 | Delete when moved to history. |
902
+
903
+ ### `WebhookVariableType` (number-valued)
904
+
905
+ | name | value | meaning |
906
+ |---|---|---|
907
+ | `Header` | 1 | Value sourced from a request header. |
908
+ | `Query` | 2 | Value sourced from a query parameter. |
909
+ | `Body` | 3 | Value sourced from the request body. |
910
+
911
+ ### `ActionStatus` (number-valued)
912
+
913
+ `NONE`=1, `STARTING`=10, `INPUT_DONE`=15, `EXECUTED`=20, `FOREACH_ITERATION_DONE`=30, `CALL_SUBPROCESS_CHILD_STARTED`=35, `CALL_SUBPROCESS_CHILD_FINISHED`=36, `OUTPUT_DONE`=40, `ERROR`=90.