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,455 @@
1
+ # Subscriptions / Billing, Resource quotas & Analytics 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/Subscriptions/SubscriptionsController.cs`
6
+ > - `BE/Web-Api/WebApi/Application/Controllers/Subscriptions/ProcesioAdmin/SubscriptionsController.cs`
7
+ > - `BE/Web-Api/WebApi/Application/Controllers/Resources/ResourcesController.cs`
8
+ > - `BE/Web-Api/WebApi/Application/Controllers/Resources/ResourceTrackingConfigController.cs`
9
+ > - `BE/Web-Api/WebApi/Application/Controllers/Resources/ResourcesProcessAnalyticsController.cs`
10
+ > - `BE/Web-Api/WebApi/Application/Controllers/Resources/ResourcesProcessInstanceAnalyticsController.cs`
11
+ > - `BE/Web-Api/WebApi/Application/Controllers/AnalyticsController.cs`
12
+ > - `BE/Web-Api/WebApi/Application/Controllers/ExecutionEnvironmentAnalyticsController.cs`
13
+
14
+ This domain covers subscription/billing plan management, resource-usage quotas, per-action analytics configuration, and a family of analytics read endpoints (per-process, per-instance, per-user, and execution-environment concurrency). Every endpoint in these controllers is a **thin proxy** to the downstream **Resource Tracking Service** — the Web-Api gateway validates auth/permissions, then forwards the call and relays the downstream response. As a consequence, success-response bodies are **passthrough payloads** produced by Resource Tracking and are **not statically typed in this service** (managers return generic `CustomResponse` / `ResponseHelper` wrappers whose `.Value` / `ResponseObject` is the downstream JSON, or `IEnumerable<object>`). Where a response body is opaque, this is stated explicitly.
15
+
16
+ All routes are served under the Web-Api gateway base URL. Versioning is via the optional `x-version` request header (default `1.19`; `CURRENT_API_VERSION = "1.19"`). All controllers declare `[Consumes("application/json")]` and `[Produces("application/json")]`.
17
+
18
+ Auth note: every controller here requires **Bearer JWT** (none declare `[AllowAnonymous]`). Permissions are `{AuthorizationEntity}:{AuthorizationActionType}` from the controller-level `[AuthorizationEntity(...)]` and method-level `[AuthorizationAction(...)]`. `AuthorizationActionType.None` means authenticated but no specific permission required.
19
+
20
+ ## Endpoints
21
+
22
+ ---
23
+
24
+ ### SubscriptionsController — `api/Subscriptions`
25
+
26
+ Controller entity: `MasterWorkspace`. Visible in Swagger.
27
+
28
+ #### `GET api/Subscriptions`
29
+
30
+ - **Operation:** `GetWorkspaceSubscriptionPlans` — get the current workspace's subscription plans (proxied from Resource Tracking).
31
+ - **Auth:** Bearer JWT — **Permission:** `MasterWorkspace:Read`
32
+ - **Swagger summary:** "Permission required: MasterWorkspace.Read"
33
+ - **Responses:**
34
+ - `200 OK` → passthrough array/object of subscription plans (downstream-defined; not typed in this service)
35
+ - `400 Bad Request` → composed error response (`CustomErrorHelper.ComposeResponse`) when downstream returns errors
36
+ - **Notes:** Proxy to Resource Tracking Service.
37
+
38
+ #### `GET api/Subscriptions/{subscriptionId}`
39
+
40
+ - **Operation:** `GetSubscriptionPlanById` — get a single subscription plan by id.
41
+ - **Auth:** Bearer JWT — **Permission:** `MasterWorkspace:Read`
42
+ - **Swagger summary:** "Permission required: MasterWorkspace.Read"
43
+ - **Path params:** `{subscriptionId}` — `string (uuid)`, required — the subscription plan id.
44
+ - **Responses:**
45
+ - `200 OK` → passthrough subscription plan object (downstream-defined)
46
+ - `400 Bad Request` → composed error response
47
+ - **Notes:** Proxy to Resource Tracking Service.
48
+
49
+ #### `POST api/Subscriptions/refund/{id}`
50
+
51
+ - **Operation:** `RefundSubscription` — start the refund of a subscription plan by its PROCESIO id.
52
+ - **Auth:** Bearer JWT — **Permission:** `MasterWorkspace:Admin`
53
+ - **Swagger summary:** "Permission required: MasterWorkspace.Admin"
54
+ - **Path params:** `{id}` — `string (uuid)`, required — subscription plan id to refund.
55
+ - **Request body** (`application/json`): `RefundReasonDto`
56
+ - `RefundReason` — `string`, optional — reason for the refund (default `"Other"`).
57
+ - `RefundReasonDetails` — `string`, optional — free-text details (default empty string).
58
+ - **Responses:**
59
+ - `200 OK` / `204 No Content` → relayed via `GetResponse` (status + body mirror the downstream `ResponseHelper`)
60
+ - `400 Bad Request` → on null/failed downstream response
61
+ - **Notes:** Proxy to Resource Tracking Service. Starts an asynchronous refund flow; acknowledgement is a separate step (see ProcesioAdmin `PUT api/Subscriptions/refund`).
62
+
63
+ #### `POST api/Subscriptions/renew/{id}/{state}`
64
+
65
+ - **Operation:** `RenewSubscription` — set the auto-renew state of a subscription plan.
66
+ - **Auth:** Bearer JWT — **Permission:** `MasterWorkspace:Admin`
67
+ - **Swagger summary:** "Permission required: MasterWorkspace.Admin"
68
+ - **Path params:**
69
+ - `{id}` — `string (uuid)`, required — subscription plan id.
70
+ - `{state}` — `boolean`, required — `true` to enable auto-renew, `false` to disable.
71
+ - **Responses:**
72
+ - `200 OK` / `204 No Content` → relayed via `GetResponse`
73
+ - `400 Bad Request` → on null/failed downstream response
74
+ - **Notes:** Proxy to Resource Tracking Service.
75
+
76
+ ---
77
+
78
+ ### SubscriptionsController (ProcesioAdmin) — `api/Subscriptions`
79
+
80
+ Controller entity: `ProcesioAdmin`. **Hidden from Swagger** (`[ApiExplorerSettings(IgnoreApi = true)]` at controller level) — all methods below inherit this. Each method is also tagged `Tags = ["ProcesioAdmin"]`. Requires PROCESIO admin privileges.
81
+
82
+ > Note: This controller shares the same `api/Subscriptions` route base as the public `SubscriptionsController` above but exposes different HTTP method/sub-route combinations (POST/PUT/DELETE and `reusable`, `externalReference/...`, `externalOrder/...`, `refund`). All actions require the `ProcesioAdmin` entity.
83
+
84
+ #### `POST api/Subscriptions`
85
+
86
+ - **Operation:** `CreateSubscriptionPlan` — create a subscription plan.
87
+ - **Auth:** Bearer JWT — **Permission:** `ProcesioAdmin:Create`
88
+ - **Hidden from Swagger:** yes
89
+ - **Request body** (`application/json`): `SubscriptionDto`
90
+ - **Responses:**
91
+ - `200 OK` → passthrough created-plan payload (downstream-defined)
92
+ - `400 Bad Request` → composed error response
93
+ - **Notes:** Proxy to Resource Tracking Service.
94
+
95
+ #### `PUT api/Subscriptions`
96
+
97
+ - **Operation:** `UpdateCurrentWorkspaceSubscriptionPlan` — update the current workspace's subscription plan.
98
+ - **Auth:** Bearer JWT — **Permission:** `ProcesioAdmin:Update`
99
+ - **Hidden from Swagger:** yes
100
+ - **Request body** (`application/json`): `SubscriptionDto`
101
+ - **Responses:**
102
+ - `200 OK` → passthrough payload (downstream-defined)
103
+ - `400 Bad Request` → composed error response
104
+ - **Notes:** Proxy to Resource Tracking Service.
105
+
106
+ #### `PUT api/Subscriptions/{subscriptionId}`
107
+
108
+ - **Operation:** `UpdateSubscriptionPlanById` — update a subscription plan by id.
109
+ - **Auth:** Bearer JWT — **Permission:** `ProcesioAdmin:Update`
110
+ - **Hidden from Swagger:** yes
111
+ - **Path params:** `{subscriptionId}` — `string (uuid)`, required — plan id to update.
112
+ - **Request body** (`application/json`): `BaseSubscriptionDto` (note: the base type, **not** `SubscriptionDto` — no `id`/`workspaceId`/external-reference fields).
113
+ - **Responses:**
114
+ - `200 OK` → passthrough payload (downstream-defined)
115
+ - `400 Bad Request` → composed error response
116
+ - **Notes:** Proxy to Resource Tracking Service.
117
+
118
+ #### `DELETE api/Subscriptions`
119
+
120
+ - **Operation:** `CancelCurrentWorkspaceSubscriptionPlan` — cancel the current workspace's subscription plan.
121
+ - **Auth:** Bearer JWT — **Permission:** `ProcesioAdmin:Delete`
122
+ - **Hidden from Swagger:** yes
123
+ - **Special headers:** `workspaceIdToDeleteSubscriptions` `[FromHeader]` — `string (uuid)`, required — workspace whose subscriptions are cancelled.
124
+ - **Responses:**
125
+ - `200 OK` → passthrough payload (downstream-defined)
126
+ - `400 Bad Request` → composed error response
127
+ - **Notes:** Proxy to Resource Tracking Service.
128
+
129
+ #### `DELETE api/Subscriptions/{subscriptionId}`
130
+
131
+ - **Operation:** `CancelSubscriptionPlanById` — cancel a subscription plan by id.
132
+ - **Auth:** Bearer JWT — **Permission:** `ProcesioAdmin:Delete`
133
+ - **Hidden from Swagger:** yes
134
+ - **Path params:** `{subscriptionId}` — `string (uuid)`, required — plan id to cancel.
135
+ - **Responses:**
136
+ - `200 OK` → passthrough payload (downstream-defined)
137
+ - `400 Bad Request` → composed error response
138
+ - **Notes:** Proxy to Resource Tracking Service.
139
+
140
+ #### `GET api/Subscriptions/reusable`
141
+
142
+ - **Operation:** `GetReusableSubscriptionPlans` — get subscription plans that can be reused.
143
+ - **Auth:** Bearer JWT — **Permission:** `ProcesioAdmin:Read`
144
+ - **Hidden from Swagger:** yes
145
+ - **Responses:**
146
+ - `200 OK` → passthrough array of reusable plans (downstream-defined)
147
+ - `400 Bad Request` → composed error response
148
+ - **Notes:** Proxy to Resource Tracking Service. Relates to `SubscriptionOptions.canBeReused`.
149
+
150
+ #### `GET api/Subscriptions/externalReference/{externalRef}`
151
+
152
+ - **Operation:** `GetSubscriptionPlanByExternalReference` — get a subscription plan by its external reference.
153
+ - **Auth:** Bearer JWT — **Permission:** `ProcesioAdmin:Read`
154
+ - **Hidden from Swagger:** yes
155
+ - **Path params:** `{externalRef}` — `string`, required — external reference value.
156
+ - **Special headers:** `type` `[FromHeader]` — `number` (int), optional, default `2` — external-reference type discriminator.
157
+ - **Responses:**
158
+ - `200 OK` → passthrough subscription plan (downstream-defined)
159
+ - `400 Bad Request` → composed error response
160
+ - **Notes:** Proxy to Resource Tracking Service.
161
+
162
+ #### `GET api/Subscriptions/externalOrder/{refNo}`
163
+
164
+ - **Operation:** `GetOrderByRefNo` — fetch an external (Verifone) order by reference number; requests the order from the Verifone server.
165
+ - **Auth:** Bearer JWT — **Permission:** `ProcesioAdmin:Read`
166
+ - **Hidden from Swagger:** yes
167
+ - **Path params:** `{refNo}` — `string`, required — Verifone order reference number.
168
+ - **Responses:**
169
+ - `200 OK` → passthrough Verifone order payload (downstream/3rd-party-defined)
170
+ - `400 Bad Request` → composed error response
171
+ - **Notes:** Proxy to Resource Tracking Service, which in turn calls the external Verifone payment provider.
172
+
173
+ #### `PUT api/Subscriptions/refund`
174
+
175
+ - **Operation:** `RefundSubscription` (acknowledge) — acknowledge the refund of a subscription plan by external id. Called only by PROCESIO admins from an internal process.
176
+ - **Auth:** Bearer JWT — **Permission:** `ProcesioAdmin:Update`
177
+ - **Hidden from Swagger:** yes
178
+ - **Special headers:** `id` `[FromHeader]` — `string`, required — external subscription/refund id to acknowledge.
179
+ - **Responses:**
180
+ - `200 OK` / `204 No Content` → relayed via `GetResponse`
181
+ - `400 Bad Request` → on null/failed downstream response
182
+ - **Notes:** Proxy to Resource Tracking Service. This is the acknowledgement counterpart to `POST api/Subscriptions/refund/{id}`.
183
+
184
+ ---
185
+
186
+ ### ResourcesController — `api/Resources`
187
+
188
+ Controller entity: `Workspace`. Visible in Swagger.
189
+
190
+ #### `GET api/Resources/used`
191
+
192
+ - **Operation:** `GetMainResources` — get main resource (quota) usage between two dates.
193
+ - **Auth:** Bearer JWT — **Permission:** `Workspace:Read`
194
+ - **Swagger summary:** "Permission required: Workspace.Read"
195
+ - **Query params:**
196
+ - `startDate` — `string (date-time, ISO-8601)`, required — range start.
197
+ - `endDate` — `string (date-time, ISO-8601)`, required — range end.
198
+ - **Responses:**
199
+ - `200 OK` → passthrough main-resources usage payload (downstream-defined)
200
+ - `400 Bad Request` → composed error response
201
+ - **Notes:** Proxy to Resource Tracking Service.
202
+
203
+ #### `GET api/Resources/used/subWorkspaces`
204
+
205
+ - **Operation:** `GetSubWorkspacesUsage` — get usage broken down per sub-workspace between two dates.
206
+ - **Auth:** Bearer JWT — **Permission:** `Workspace:Read`
207
+ - **Swagger summary:** "Permission required: Workspace.Read"
208
+ - **Query params:**
209
+ - `startDate` — `string (date-time, ISO-8601)`, required — range start.
210
+ - `endDate` — `string (date-time, ISO-8601)`, required — range end.
211
+ - **Responses:**
212
+ - `200 OK` → passthrough sub-workspaces usage payload (downstream-defined)
213
+ - `400 Bad Request` → composed error response
214
+ - **Notes:** Proxy to Resource Tracking Service.
215
+
216
+ ---
217
+
218
+ ### ResourceTrackingConfigController — `api/ResourceTrackingConfig`
219
+
220
+ Controller entity: `Workspace`. Visible in Swagger. Controls the per-action analytics toggle for the caller's current scope.
221
+
222
+ #### `GET api/ResourceTrackingConfig`
223
+
224
+ - **Operation:** `GetConfig` — read the analytics-toggle config for the current scope.
225
+ - **Auth:** Bearer JWT — **Permission:** `None` (authenticated, no specific permission required)
226
+ - **Swagger summary:** "Permission required: None"
227
+ - **Responses:**
228
+ - `200 OK` → passthrough config object (downstream-defined; reflects the analytics enabled/disabled state)
229
+ - `400 Bad Request` → composed error response
230
+ - **Notes:** Proxy to Resource Tracking Service.
231
+
232
+ #### `PUT api/ResourceTrackingConfig/toggle/{enabled}`
233
+
234
+ - **Operation:** `Toggle` — enable/disable per-action analytics for the current scope.
235
+ - **Auth:** Bearer JWT — **Permission:** `Workspace:Admin`
236
+ - **Swagger summary:** "Permission required: Workspace.Admin"
237
+ - **Path params:** `{enabled}` — `boolean`, required — `true` to enable per-action analytics, `false` to disable.
238
+ - **Responses:**
239
+ - `200 OK` / `204 No Content` → relayed via `GetResponse`
240
+ - `400 Bad Request` → on null/failed downstream response
241
+ - **Notes:** Proxy to Resource Tracking Service.
242
+
243
+ ---
244
+
245
+ ### ResourcesProcessAnalyticsController — `api/Resources/analytics/processes`
246
+
247
+ Controller entity: `ProcessDesigner`. Visible in Swagger; methods tagged `Tags = ["Resources"]`.
248
+
249
+ #### `GET api/Resources/analytics/processes`
250
+
251
+ - **Operation:** `GetProcesses` — paginated analytics for all processes run between two dates.
252
+ - **Auth:** Bearer JWT — **Permission:** `ProcessDesigner:Read`
253
+ - **Swagger summary:** "Permission required: ProcessDesigner.Read"
254
+ - **Query params:**
255
+ - `pageNumber` — `number` (int), required — page number. (See pagination note below.)
256
+ - `pageItemCount` — `number` (int), required — items per page.
257
+ - `startDate` — `string (date-time, ISO-8601)`, required — range start.
258
+ - `endDate` — `string (date-time, ISO-8601)`, required — range end.
259
+ - **Responses:**
260
+ - `200 OK` → passthrough paged analytics payload (downstream-defined)
261
+ - `400 Bad Request` → composed error response
262
+ - **Notes:** Proxy to Resource Tracking Service. Params are wrapped into a `Pagination` object (see Shared DTOs) before forwarding. Pagination quirk: `PageNumber` only updates when the supplied value is `> 1` (so both `0` and `1` resolve to page `1`), and `PageItemCount` only updates when `> 0`.
263
+
264
+ #### `GET api/Resources/analytics/processes/{id}/details`
265
+
266
+ - **Operation:** `GetProcessDetails` — detailed analytics for one process between two dates (per-action run counts inside the process).
267
+ - **Auth:** Bearer JWT — **Permission:** `ProcessDesigner:Read`
268
+ - **Swagger summary:** "Permission required: ProcessDesigner.Read"
269
+ - **Path params:** `{id}` — `string (uuid)`, required — process id.
270
+ - **Query params:**
271
+ - `startDate` — `string (date-time, ISO-8601)`, required — range start.
272
+ - `endDate` — `string (date-time, ISO-8601)`, required — range end.
273
+ - **Responses:**
274
+ - `200 OK` → passthrough process-details analytics payload (downstream-defined)
275
+ - `400 Bad Request` → composed error response
276
+ - **Notes:** Proxy to Resource Tracking Service.
277
+
278
+ ---
279
+
280
+ ### ResourcesProcessInstanceAnalyticsController — `api/Resources/analytics/instances`
281
+
282
+ Controller entity: `ProcessInstance`. Visible in Swagger; method tagged `Tags = ["Resources"]`.
283
+
284
+ #### `GET api/Resources/analytics/instances/{id}/details`
285
+
286
+ - **Operation:** `GetInstanceDetails` — detailed analytics for one process instance (per-action run counts inside the instance).
287
+ - **Auth:** Bearer JWT — **Permission:** `ProcessInstance:Read`
288
+ - **Swagger summary:** "Permission required: ProcessInstance.Read"
289
+ - **Path params:** `{id}` — `string (uuid)`, required — process instance id.
290
+ - **Responses:**
291
+ - `200 OK` → passthrough instance-details analytics payload (downstream-defined)
292
+ - `400 Bad Request` → composed error response
293
+ - **Notes:** Proxy to Resource Tracking Service.
294
+
295
+ ---
296
+
297
+ ### AnalyticsController — `api/Analytics`
298
+
299
+ Controller entity: `ProcesioAdmin`. **Hidden from Swagger** (`[ApiExplorerSettings(IgnoreApi = true)]` at controller level) — all methods inherit this. Methods tagged `Tags = ["ProcesioAdmin"]`. Platform-wide (cross-tenant) usage analytics for PROCESIO admins.
300
+
301
+ #### `GET api/Analytics/user/usage/all`
302
+
303
+ - **Operation:** `GetAllUserUsage` — get all users' usage between two dates.
304
+ - **Auth:** Bearer JWT — **Permission:** `ProcesioAdmin:Read`
305
+ - **Hidden from Swagger:** yes
306
+ - **Query params:**
307
+ - `startDate` — `string (date-time, ISO-8601)`, required — range start.
308
+ - `endDate` — `string (date-time, ISO-8601)`, required — range end.
309
+ - **Responses:**
310
+ - `200 OK` → array of objects (`IEnumerable<object>`) — untyped usage rows (downstream-defined). Always `200 OK` (no error-wrapping branch in this controller).
311
+ - **Notes:** Proxy to Resource Tracking Service / analytics manager.
312
+
313
+ #### `GET api/Analytics/user/usage/update`
314
+
315
+ - **Operation:** `UpdateUserUsage` — refresh/recompute the user-usage materialized view for a date range.
316
+ - **Auth:** Bearer JWT — **Permission:** `ProcesioAdmin:Update`
317
+ - **Hidden from Swagger:** yes
318
+ - **Query params:**
319
+ - `startDate` — `string (date-time, ISO-8601)`, required — range start.
320
+ - `endDate` — `string (date-time, ISO-8601)`, required — range end.
321
+ - **Responses:**
322
+ - `200 OK` → `number` (nullable int) — rows affected / null. Always `200 OK`.
323
+ - **Notes:** Proxy to analytics manager. Side effect: rebuilds/updates the user-usage view (despite being an HTTP GET).
324
+
325
+ #### `GET api/Analytics/user/all/activity`
326
+
327
+ - **Operation:** `GetNewUserActivities` — get new-user activity for a given year/month with a configurable lookback count.
328
+ - **Auth:** Bearer JWT — **Permission:** `ProcesioAdmin:Read`
329
+ - **Hidden from Swagger:** yes
330
+ - **Query params:**
331
+ - `year` — `number` (int), required — target year.
332
+ - `month` — `number` (int), required — target month.
333
+ - `monthActivityCount` — `number` (int), required — number of months of activity to include.
334
+ - **Responses:**
335
+ - `200 OK` → array of objects (`IEnumerable<object>`) — untyped activity rows. Always `200 OK`.
336
+ - **Notes:** Proxy to analytics manager.
337
+
338
+ #### `GET api/Analytics/user/Segmentation`
339
+
340
+ - **Operation:** `GetUserSegmentation` — get user-segmentation analytics.
341
+ - **Auth:** Bearer JWT — **Permission:** `ProcesioAdmin:Read`
342
+ - **Hidden from Swagger:** yes
343
+ - **Responses:**
344
+ - `200 OK` → array of objects (`IEnumerable<object>`) — untyped segmentation rows. Always `200 OK`.
345
+ - **Notes:** Proxy to analytics manager. Route casing is `user/Segmentation` (capital S) as declared.
346
+
347
+ ---
348
+
349
+ ### ExecutionEnvironmentAnalyticsController — `api/analytics/executionEnvironment`
350
+
351
+ Controller entity: `MasterWorkspace`. Visible in Swagger; methods tagged `Tags = ["Resources"]`.
352
+
353
+ #### `GET api/analytics/executionEnvironment/concurrency`
354
+
355
+ - **Operation:** `GetExecutionEnvironmentConcurrency` — execution-environment concurrency over time (chart data).
356
+ - **Auth:** Bearer JWT — **Permission:** `MasterWorkspace:Read`
357
+ - **Swagger summary:** "Permission required: MasterWorkspace.Read"
358
+ - **Query params:**
359
+ - `startDate` — `string (date-time, ISO-8601)`, required — range start.
360
+ - `endDate` — `string (date-time, ISO-8601)`, required — range end.
361
+ - `statsType` — `string|number (enum EEAnalyticsStatsType: None=0, Max=1, Average=2)`, required — aggregation type for the series.
362
+ - **Special headers:**
363
+ - `nrPoints` `[FromHeader]` — `number` (int), required — number of data points to return in the series.
364
+ - `masterWorkspaceId` `[FromHeader]` — `string (uuid)`, required — master workspace id.
365
+ - `workspaceId` `[FromHeader]` — `string (uuid)`, required — workspace id.
366
+ - **Responses:**
367
+ - `200 OK` → passthrough concurrency-chart payload (downstream-defined)
368
+ - `400 Bad Request` → composed error response
369
+ - **Notes:** Proxy to Resource Tracking Service. `masterWorkspaceId`/`workspaceId`/`nrPoints` are passed via headers, not query string.
370
+
371
+ #### `GET api/analytics/executionEnvironment/topProcesses`
372
+
373
+ - **Operation:** `GetTopConsumingProcesses` — top execution-environment-consuming processes (with process names) for a date range.
374
+ - **Auth:** Bearer JWT — **Permission:** `MasterWorkspace:Read`
375
+ - **Swagger summary:** "Permission required: MasterWorkspace.Read"
376
+ - **Query params:**
377
+ - `startDate` — `string (date-time, ISO-8601)`, required — range start.
378
+ - `endDate` — `string (date-time, ISO-8601)`, required — range end.
379
+ - `topCount` — `number` (int), optional, default `10` — number of processes to return.
380
+ - **Special headers:**
381
+ - `workspaceId` `[FromHeader]` — `string (uuid)`, required — workspace id.
382
+ - **Responses:**
383
+ - `200 OK` → passthrough top-processes payload (downstream-defined)
384
+ - `400 Bad Request` → composed error response
385
+ - **Notes:** Proxy to Resource Tracking Service. `workspaceId` is passed via header, not query string.
386
+
387
+ ---
388
+
389
+ ## Shared DTOs
390
+
391
+ ### `RefundReasonDto`
392
+
393
+ Request body for `POST api/Subscriptions/refund/{id}`. No `[JsonProperty]` overrides — wire names default to the C# property names (Newtonsoft default).
394
+
395
+ - `RefundReason` — `string`, optional — refund reason; defaults to `"Other"`.
396
+ - `RefundReasonDetails` — `string`, optional — free-text details; defaults to empty string.
397
+
398
+ ### `BaseSubscriptionDto`
399
+
400
+ Base subscription plan payload. Request body for `PUT api/Subscriptions/{subscriptionId}` and base of `SubscriptionDto`. Wire names from `[JsonProperty]`.
401
+
402
+ - `name` — `string`, optional — plan name (defaults to empty string).
403
+ - `parentId` — `string (uuid)`, optional (nullable) — parent plan id.
404
+ - `subscriptionPrice` — `number` (float), required — subscription price.
405
+ - `discount` — `number` (float), required — discount amount/percentage (interpretation depends on `discountType`).
406
+ - `discountType` — `string|number (enum DiscountType: None=0, Percentage=1, Fixed=2)`, required — discount kind.
407
+ - `realPrice` — `number` (float), optional (nullable) — real/effective price.
408
+ - `currency` — `string`, optional (nullable) — currency code.
409
+ - `type` — `string|number (enum LicenseType: None=0, Time=1, Thread=2)`, required — license type (defaults to `Time`). Determines the meaning of `softLimit`/`hardLimit`.
410
+ - `softLimit` — `number` (float), required — paid time or paid threads depending on `type`.
411
+ - `hardLimit` — `number` (float), required — max limit (0 when `type` is `Thread`).
412
+ - `price` — `number` (float), required — overhead price.
413
+ - `notifyThreshold` — `number` (float), required — usage threshold at which to notify.
414
+ - `refund` — `string|number (enum Refund: None=0, Refundable=1, Refunded=2)`, required — refund state.
415
+ - `refundUntil` — `string (date-time, ISO-8601)`, optional (nullable) — refund window end.
416
+ - `renew` — `string|number (enum AutoRenew: None=0, AutoRenew=1, Cancel=2)`, required — auto-renew state.
417
+ - `options` — `object (SubscriptionOptions)`, optional (nullable) — plan options.
418
+ - `startDate` — `string (date-time, ISO-8601)`, required — plan start.
419
+ - `endDate` — `string (date-time, ISO-8601)`, required — plan end.
420
+
421
+ ### `SubscriptionDto` (extends `BaseSubscriptionDto`)
422
+
423
+ Request body for `POST api/Subscriptions` and `PUT api/Subscriptions` (current workspace). Inherits **all** `BaseSubscriptionDto` fields, plus:
424
+
425
+ - `id` — `string (uuid)`, required — subscription plan id.
426
+ - `workspaceId` — `string (uuid)`, optional (nullable) — owning workspace id.
427
+ - `externalSubscriptionId` — `string (uuid)`, optional (nullable) — external subscription id.
428
+ - `externalReference` — `string`, optional — external reference value.
429
+
430
+ ### `SubscriptionOptions`
431
+
432
+ Nested in `BaseSubscriptionDto.options`. Wire names from `[JsonProperty]`.
433
+
434
+ - `canBeReused` — `boolean`, required — whether the plan can be reused (see `GET api/Subscriptions/reusable`).
435
+ - `isMultiPack` — `boolean`, required — whether the plan is a multi-pack.
436
+
437
+ ### `Pagination`
438
+
439
+ Not a wire DTO on these endpoints — `pageNumber` and `pageItemCount` are sent as separate query params and assembled server-side into this object before being forwarded to Resource Tracking. Documented for behavior:
440
+
441
+ - `PageNumber` — `number` (int) — only assigned when the input is `> 1`; otherwise stays at default `1` (so `0` and `1` both mean page 1).
442
+ - `PageItemCount` — `number` (int) — only assigned when the input is `> 0`; otherwise stays at default `0`.
443
+ - `StartIndex` — derived: `PageItemCount * (PageNumber - 1)`.
444
+
445
+ ### `EEAnalyticsStatsType` (enum)
446
+
447
+ Used as the `statsType` query param of `GET api/analytics/executionEnvironment/concurrency`.
448
+
449
+ - `None` = 0
450
+ - `Max` = 1
451
+ - `Average` = 2
452
+
453
+ ### Success response bodies (general note)
454
+
455
+ All "passthrough" responses above are the raw payloads returned by the downstream **Resource Tracking Service**, relayed by the Web-Api manager layer (`CustomResponse.Value` / `ResponseHelper.ResponseObject`). They have **no statically-typed C# model in the Web-Api service**, so exact field shapes must be obtained from the Resource Tracking Service contracts. `400 Bad Request` bodies are produced by `CustomErrorHelper.ComposeResponse(...)` (the gateway's standard composed-error envelope — see conventions doc).