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,118 @@
1
+ /*Optimized SQL:*/
2
+ -- Exports all user stored procedures and user-defined functions (inline/table/scalar)
3
+ -- into a single NVARCHAR(MAX) definition blob, then prints it in SSMS-safe chunks.
4
+ -- Scope: all visible user procedure and SQL function definitions in the current DB.
5
+ -- Obtain whole-database scope/confidentiality approval and protect output BEFORE acquisition.
6
+ -- Stored definitions may contain secrets; share only an approved sanitized projection.
7
+ -- Legacy inspection aid, not a qualified deployment/replay script.
8
+ -- Notes:
9
+ -- - Encrypted modules cannot be scripted (definition will be NULL).
10
+ -- - Includes CREATE/ALTER text exactly as stored in sys.sql_modules.definition.
11
+
12
+ SET NOCOUNT ON;
13
+
14
+ DECLARE @Def NVARCHAR(MAX) = N'';
15
+ DECLARE @CRLF NCHAR(2) = NCHAR(13) + NCHAR(10);
16
+
17
+ -------------------------------------------------------------------------------
18
+ -- Header
19
+ -------------------------------------------------------------------------------
20
+ SET @Def += N'-- Database programmable objects export' + @CRLF
21
+ + N'-- Database: ' + QUOTENAME(DB_NAME()) + @CRLF
22
+ + N'-- Generated: ' + CONVERT(NVARCHAR(30), SYSDATETIMEOFFSET(), 126) + @CRLF
23
+ + N'-- Includes: Stored Procedures + User-Defined Functions' + @CRLF
24
+ + N'-- ------------------------------------------------------------' + @CRLF + @CRLF;
25
+
26
+ -------------------------------------------------------------------------------
27
+ -- Stored Procedures
28
+ -------------------------------------------------------------------------------
29
+ ;WITH P AS
30
+ (
31
+ SELECT
32
+ s.name AS SchemaName,
33
+ p.name AS ObjectName,
34
+ p.object_id,
35
+ m.definition
36
+ FROM sys.procedures p
37
+ JOIN sys.schemas s ON s.schema_id = p.schema_id
38
+ LEFT JOIN sys.sql_modules m ON m.object_id = p.object_id
39
+ WHERE p.is_ms_shipped = 0
40
+ )
41
+ SELECT @Def +=
42
+ N'-- ============================================================' + @CRLF
43
+ + N'-- STORED PROCEDURE: ' + QUOTENAME(P.SchemaName) + N'.' + QUOTENAME(P.ObjectName) + @CRLF
44
+ + N'-- ============================================================' + @CRLF
45
+ + CASE
46
+ WHEN P.definition IS NULL
47
+ THEN N'-- NOTE: Definition not available (encrypted or no permissions).' + @CRLF
48
+ ELSE P.definition
49
+ END
50
+ + @CRLF + @CRLF
51
+ FROM P
52
+ ORDER BY P.SchemaName, P.ObjectName;
53
+
54
+ -------------------------------------------------------------------------------
55
+ -- Functions (scalar, inline TVF, multi-statement TVF)
56
+ -------------------------------------------------------------------------------
57
+ ;WITH F AS
58
+ (
59
+ SELECT
60
+ s.name AS SchemaName,
61
+ o.name AS ObjectName,
62
+ o.object_id,
63
+ o.type,
64
+ o.type_desc,
65
+ m.definition
66
+ FROM sys.objects o
67
+ JOIN sys.schemas s ON s.schema_id = o.schema_id
68
+ LEFT JOIN sys.sql_modules m ON m.object_id = o.object_id
69
+ WHERE o.is_ms_shipped = 0
70
+ AND o.type IN (N'FN', N'IF', N'TF') -- scalar, inline table-valued, multi-statement TVF
71
+ )
72
+ SELECT @Def +=
73
+ N'-- ============================================================' + @CRLF
74
+ + N'-- FUNCTION (' + F.type_desc + N'): ' + QUOTENAME(F.SchemaName) + N'.' + QUOTENAME(F.ObjectName) + @CRLF
75
+ + N'-- ============================================================' + @CRLF
76
+ + CASE
77
+ WHEN F.definition IS NULL
78
+ THEN N'-- NOTE: Definition not available (encrypted or no permissions).' + @CRLF
79
+ ELSE F.definition
80
+ END
81
+ + @CRLF + @CRLF
82
+ FROM F
83
+ ORDER BY F.SchemaName, F.ObjectName;
84
+
85
+ -- If running inside SSMS and you just want the text:
86
+ SELECT @Def AS DefinitionFileText;
87
+
88
+ -------------------------------------------------------------------------------
89
+ -- PRINT IN CHUNKS (leave as-is per your preferred pattern)
90
+ -------------------------------------------------------------------------------
91
+ DECLARE @p_ChunkSize INT = 3800;
92
+ DECLARE @Offset INT = 1;
93
+ DECLARE @Len INT;
94
+ DECLARE @Chunk NVARCHAR(4000);
95
+
96
+ SELECT @Len = CASE WHEN @Def IS NULL THEN 0 ELSE LEN(@Def) END;
97
+
98
+ IF @Len = 0
99
+ BEGIN
100
+ RAISERROR(N'@Def is NULL or empty.', 0, 1) WITH NOWAIT;
101
+ RETURN;
102
+ END;
103
+
104
+ WHILE @Offset <= @Len
105
+ BEGIN
106
+ SET @Chunk = SUBSTRING(@Def, @Offset, @p_ChunkSize);
107
+ PRINT(@Chunk);
108
+ SET @Offset += @p_ChunkSize;
109
+ END;
110
+
111
+ /* Parameter Mapping:
112
+ - None (no changes)
113
+
114
+ Notes:
115
+ - Uses sys.procedures + sys.objects (FN/IF/TF) with sys.sql_modules.definition to script module text.
116
+ - Encrypted modules (or insufficient permissions) return NULL definition; script inserts a NOTE line instead.
117
+ - Output is printed in 3,800-char chunks to avoid SSMS PRINT truncation.
118
+ */
@@ -0,0 +1,367 @@
1
+
2
+ /*Optimized SQL:*/
3
+ -- Exports a database "definition file" containing:
4
+ -- - Tables, columns, computed/identity, and full data types
5
+ -- - Constraints (PK, UQ, FK, CHECK, DEFAULT)
6
+ -- - Triggers (DML + database DDL); server triggers are a separate opt-in
7
+ -- Scope: whole current database, including confidential definitions/literals.
8
+ -- Obtain scope/confidentiality approval and protect output BEFORE acquisition.
9
+ -- Legacy inspection aid only; generated text is not qualified for automatic replay.
10
+ -- NULL trigger definitions can propagate into @Def; missing output is not absence.
11
+ -- Output: one NVARCHAR(MAX) text file written by sqlcmd (recommended).
12
+ -- If you cannot use sqlcmd, see the "PRINT/SELECT" note at the bottom.
13
+
14
+ SET NOCOUNT ON;
15
+
16
+ DECLARE @p_Database SYSNAME = DB_NAME(); -- output label only; does not switch database
17
+ -- Server-wide definitions exceed database scope: set to 1 only after separate approval.
18
+ DECLARE @p_IncludeServerTriggers BIT = 0;
19
+
20
+ /* build definition text */
21
+ DECLARE @Def NVARCHAR(MAX) = N'';
22
+ DECLARE @CRLF NCHAR(2) = NCHAR(13) + NCHAR(10);
23
+
24
+ -- header
25
+ SET @Def += N'-- Database definition export' + @CRLF
26
+ + N'-- Database: ' + QUOTENAME(@p_Database) + @CRLF
27
+ + N'-- Generated: ' + CONVERT(NVARCHAR(30), SYSDATETIMEOFFSET(), 126) + @CRLF
28
+ + N'-- ------------------------------------------------------------' + @CRLF + @CRLF;
29
+
30
+ --------------------------------------------------------------------------------
31
+ -- TABLES + COLUMNS
32
+ --------------------------------------------------------------------------------
33
+ ;WITH T AS
34
+ (
35
+ SELECT
36
+ s.name AS SchemaName,
37
+ t.name AS TableName,
38
+ t.object_id
39
+ FROM sys.tables t
40
+ JOIN sys.schemas s ON s.schema_id = t.schema_id
41
+ WHERE t.is_ms_shipped = 0
42
+ )
43
+ , C AS
44
+ (
45
+ SELECT
46
+ s.name AS SchemaName,
47
+ t.name AS TableName,
48
+ c.column_id,
49
+ c.name AS ColumnName,
50
+
51
+ -- full type (handles (n)varchar/(n)char/varbinary, decimal/numeric, datetime2/time/datetimeoffset, xml, udt/alias)
52
+ CASE
53
+ WHEN ty.is_user_defined = 1 THEN QUOTENAME(SCHEMA_NAME(ty.schema_id)) + N'.' + QUOTENAME(ty.name)
54
+ WHEN ty.name IN (N'varchar', N'char', N'varbinary', N'binary') THEN
55
+ ty.name + N'(' + CASE WHEN c.max_length = -1 THEN N'MAX' ELSE CONVERT(NVARCHAR(10), c.max_length) END + N')'
56
+ WHEN ty.name IN (N'nvarchar', N'nchar') THEN
57
+ ty.name + N'(' + CASE WHEN c.max_length = -1 THEN N'MAX' ELSE CONVERT(NVARCHAR(10), c.max_length / 2) END + N')'
58
+ WHEN ty.name IN (N'decimal', N'numeric') THEN
59
+ ty.name + N'(' + CONVERT(NVARCHAR(10), c.precision) + N',' + CONVERT(NVARCHAR(10), c.scale) + N')'
60
+ WHEN ty.name IN (N'datetime2', N'time', N'datetimeoffset') THEN
61
+ ty.name + N'(' + CONVERT(NVARCHAR(10), c.scale) + N')'
62
+ ELSE
63
+ ty.name
64
+ END
65
+ + CASE
66
+ WHEN ty.name COLLATE Latin1_General_100_CI_AS IN (N'varchar', N'char', N'nvarchar', N'nchar', N'text', N'ntext')
67
+ AND c.collation_name IS NOT NULL
68
+ THEN N' COLLATE ' + c.collation_name
69
+ ELSE N''
70
+ END
71
+ AS DataType,
72
+
73
+ c.is_nullable,
74
+ c.is_identity,
75
+ ic.seed_value,
76
+ ic.increment_value,
77
+ cc.is_computed,
78
+ cc.definition AS ComputedDefinition,
79
+
80
+ dc.definition AS DefaultDefinition
81
+ FROM sys.tables t
82
+ JOIN sys.schemas s ON s.schema_id = t.schema_id
83
+ JOIN sys.columns c ON c.object_id = t.object_id
84
+ JOIN sys.types ty ON ty.user_type_id = c.user_type_id
85
+ LEFT JOIN sys.identity_columns ic ON ic.object_id = c.object_id AND ic.column_id = c.column_id
86
+ LEFT JOIN sys.computed_columns cc ON cc.object_id = c.object_id AND cc.column_id = c.column_id
87
+ LEFT JOIN sys.default_constraints dc ON dc.parent_object_id = c.object_id AND dc.parent_column_id = c.column_id
88
+ WHERE t.is_ms_shipped = 0
89
+ )
90
+ SELECT @Def +=
91
+ N'-- ============================================================' + @CRLF +
92
+ N'-- TABLE: ' + QUOTENAME(T.SchemaName) + N'.' + QUOTENAME(T.TableName) + @CRLF +
93
+ N'-- ============================================================' + @CRLF +
94
+ N'CREATE TABLE ' + QUOTENAME(T.SchemaName) + N'.' + QUOTENAME(T.TableName) + N' (' + @CRLF +
95
+ STUFF((
96
+ SELECT
97
+ @CRLF + N' , ' +
98
+ QUOTENAME(C.ColumnName) + N' ' +
99
+ CASE
100
+ WHEN C.is_computed = 1 THEN N'AS ' + C.ComputedDefinition
101
+ ELSE
102
+ C.DataType +
103
+ CASE
104
+ WHEN C.is_identity = 1 THEN
105
+ N' IDENTITY(' + CONVERT(NVARCHAR(40), C.seed_value) + N',' + CONVERT(NVARCHAR(40), C.increment_value) + N')'
106
+ ELSE N''
107
+ END +
108
+ CASE
109
+ WHEN C.is_nullable = 1 THEN N' NULL' ELSE N' NOT NULL' END +
110
+ CASE
111
+ WHEN C.DefaultDefinition IS NOT NULL THEN N' DEFAULT ' + C.DefaultDefinition ELSE N'' END
112
+ END
113
+ FROM C
114
+ WHERE C.SchemaName = T.SchemaName AND C.TableName = T.TableName
115
+ ORDER BY C.column_id
116
+ FOR XML PATH(N''), TYPE
117
+ ).value(N'.', N'nvarchar(max)'), 1, (LEN(@CRLF) + 6), N' ') + @CRLF +
118
+ N');' + @CRLF + @CRLF
119
+ FROM T
120
+ ORDER BY T.SchemaName, T.TableName;
121
+
122
+ --------------------------------------------------------------------------------
123
+ -- CONSTRAINTS: PK / UQ / CHECK
124
+ --------------------------------------------------------------------------------
125
+ ;WITH K AS
126
+ (
127
+ SELECT
128
+ s.name AS SchemaName,
129
+ t.name AS TableName,
130
+ kc.name AS ConstraintName,
131
+ kc.type AS ConstraintType,
132
+ i.index_id,
133
+ i.type AS is_clustered, -- 1 = CLUSTERED, 2 = NONCLUSTERED
134
+ i.is_unique
135
+ FROM sys.key_constraints kc
136
+ JOIN sys.tables t ON t.object_id = kc.parent_object_id
137
+ JOIN sys.schemas s ON s.schema_id = t.schema_id
138
+ JOIN sys.indexes i ON i.object_id = kc.parent_object_id AND i.index_id = kc.unique_index_id
139
+ WHERE t.is_ms_shipped = 0
140
+ )
141
+ SELECT @Def +=
142
+ N'-- Keys: ' + QUOTENAME(K.SchemaName) + N'.' + QUOTENAME(K.TableName) + @CRLF +
143
+ N'ALTER TABLE ' + QUOTENAME(K.SchemaName) + N'.' + QUOTENAME(K.TableName) + N' ADD CONSTRAINT ' + QUOTENAME(K.ConstraintName) + N' ' +
144
+ CASE WHEN K.ConstraintType = 'PK' THEN N'PRIMARY KEY ' ELSE N'UNIQUE ' END +
145
+ CASE WHEN K.is_clustered = 1 THEN N'CLUSTERED ' ELSE N'NONCLUSTERED ' END +
146
+ N'(' +
147
+ STUFF((
148
+ SELECT N', ' + QUOTENAME(c.name) +
149
+ CASE WHEN ic.is_descending_key = 1 THEN N' DESC' ELSE N' ASC' END
150
+ FROM sys.index_columns ic
151
+ JOIN sys.columns c ON c.object_id = ic.object_id AND c.column_id = ic.column_id
152
+ WHERE ic.object_id = OBJECT_ID(QUOTENAME(K.SchemaName) + N'.' + QUOTENAME(K.TableName))
153
+ AND ic.index_id = K.index_id
154
+ AND ic.key_ordinal > 0
155
+ ORDER BY ic.key_ordinal
156
+ FOR XML PATH(N''), TYPE
157
+ ).value(N'.', N'nvarchar(max)'), 1, 2, N'') +
158
+ N');' + @CRLF + @CRLF
159
+ FROM K
160
+ ORDER BY K.SchemaName, K.TableName, K.ConstraintName;
161
+
162
+ ;WITH CK AS
163
+ (
164
+ SELECT
165
+ s.name AS SchemaName,
166
+ t.name AS TableName,
167
+ cc.name AS ConstraintName,
168
+ cc.definition,
169
+ cc.is_disabled,
170
+ cc.is_not_trusted
171
+ FROM sys.check_constraints cc
172
+ JOIN sys.tables t ON t.object_id = cc.parent_object_id
173
+ JOIN sys.schemas s ON s.schema_id = t.schema_id
174
+ WHERE t.is_ms_shipped = 0
175
+ )
176
+ SELECT @Def +=
177
+ N'-- Check constraints: ' + QUOTENAME(CK.SchemaName) + N'.' + QUOTENAME(CK.TableName) + @CRLF +
178
+ N'ALTER TABLE ' + QUOTENAME(CK.SchemaName) + N'.' + QUOTENAME(CK.TableName) + N' WITH ' +
179
+ CASE WHEN CK.is_not_trusted = 1 THEN N'NOCHECK' ELSE N'CHECK' END +
180
+ N' ADD CONSTRAINT ' + QUOTENAME(CK.ConstraintName) + N' CHECK ' + CK.definition + N';' + @CRLF +
181
+ CASE WHEN CK.is_disabled = 1 THEN
182
+ N'ALTER TABLE ' + QUOTENAME(CK.SchemaName) + N'.' + QUOTENAME(CK.TableName) + N' NOCHECK CONSTRAINT ' + QUOTENAME(CK.ConstraintName) + N';' + @CRLF
183
+ ELSE N'' END + @CRLF
184
+ FROM CK
185
+ ORDER BY CK.SchemaName, CK.TableName, CK.ConstraintName;
186
+
187
+ --------------------------------------------------------------------------------
188
+ -- FOREIGN KEYS
189
+ --------------------------------------------------------------------------------
190
+ ;WITH FK AS
191
+ (
192
+ SELECT
193
+ fs.name AS FkSchemaName,
194
+ ft.name AS FkTableName,
195
+ fk.name AS FkName,
196
+ rs.name AS RefSchemaName,
197
+ rt.name AS RefTableName,
198
+ fk.delete_referential_action_desc AS OnDelete,
199
+ fk.update_referential_action_desc AS OnUpdate,
200
+ fk.is_disabled,
201
+ fk.is_not_trusted,
202
+ fk.object_id
203
+ FROM sys.foreign_keys fk
204
+ JOIN sys.tables ft ON ft.object_id = fk.parent_object_id
205
+ JOIN sys.schemas fs ON fs.schema_id = ft.schema_id
206
+ JOIN sys.tables rt ON rt.object_id = fk.referenced_object_id
207
+ JOIN sys.schemas rs ON rs.schema_id = rt.schema_id
208
+ WHERE ft.is_ms_shipped = 0
209
+ )
210
+ SELECT @Def +=
211
+ N'-- Foreign keys: ' + QUOTENAME(FK.FkSchemaName) + N'.' + QUOTENAME(FK.FkTableName) + @CRLF +
212
+ N'ALTER TABLE ' + QUOTENAME(FK.FkSchemaName) + N'.' + QUOTENAME(FK.FkTableName) + N' WITH ' +
213
+ CASE WHEN FK.is_not_trusted = 1 THEN N'NOCHECK' ELSE N'CHECK' END +
214
+ N' ADD CONSTRAINT ' + QUOTENAME(FK.FkName) + N' FOREIGN KEY (' +
215
+ STUFF((
216
+ SELECT N', ' + QUOTENAME(pc.name)
217
+ FROM sys.foreign_key_columns fkc
218
+ JOIN sys.columns pc ON pc.object_id = fkc.parent_object_id AND pc.column_id = fkc.parent_column_id
219
+ WHERE fkc.constraint_object_id = FK.object_id
220
+ ORDER BY fkc.constraint_column_id
221
+ FOR XML PATH(N''), TYPE
222
+ ).value(N'.', N'nvarchar(max)'), 1, 2, N'') +
223
+ N') REFERENCES ' + QUOTENAME(FK.RefSchemaName) + N'.' + QUOTENAME(FK.RefTableName) + N' (' +
224
+ STUFF((
225
+ SELECT N', ' + QUOTENAME(rc.name)
226
+ FROM sys.foreign_key_columns fkc
227
+ JOIN sys.columns rc ON rc.object_id = fkc.referenced_object_id AND rc.column_id = fkc.referenced_column_id
228
+ WHERE fkc.constraint_object_id = FK.object_id
229
+ ORDER BY fkc.constraint_column_id
230
+ FOR XML PATH(N''), TYPE
231
+ ).value(N'.', N'nvarchar(max)'), 1, 2, N'') +
232
+ N')' +
233
+ CASE WHEN FK.OnDelete <> N'NO_ACTION' THEN N' ON DELETE ' + REPLACE(FK.OnDelete, N'_', N' ') ELSE N'' END +
234
+ CASE WHEN FK.OnUpdate <> N'NO_ACTION' THEN N' ON UPDATE ' + REPLACE(FK.OnUpdate, N'_', N' ') ELSE N'' END +
235
+ N';' + @CRLF +
236
+ CASE WHEN FK.is_disabled = 1 THEN
237
+ N'ALTER TABLE ' + QUOTENAME(FK.FkSchemaName) + N'.' + QUOTENAME(FK.FkTableName) + N' NOCHECK CONSTRAINT ' + QUOTENAME(FK.FkName) + N';' + @CRLF
238
+ ELSE N'' END + @CRLF
239
+ FROM FK
240
+ ORDER BY FK.FkSchemaName, FK.FkTableName, FK.FkName;
241
+
242
+ --------------------------------------------------------------------------------
243
+ -- TRIGGERS (DML)
244
+ --------------------------------------------------------------------------------
245
+ ;WITH TR AS
246
+ (
247
+ SELECT
248
+ ss.name AS SchemaName,
249
+ t.name AS TableName,
250
+ tr.name AS TriggerName,
251
+ tr.is_disabled,
252
+ m.definition
253
+ FROM sys.triggers tr
254
+ JOIN sys.tables t ON t.object_id = tr.parent_id
255
+ JOIN sys.schemas ss ON ss.schema_id = t.schema_id
256
+ JOIN sys.sql_modules m ON m.object_id = tr.object_id
257
+ WHERE t.is_ms_shipped = 0
258
+ AND tr.parent_class = 1
259
+ )
260
+ SELECT @Def +=
261
+ N'-- Trigger: ' + QUOTENAME(TR.SchemaName) + N'.' + QUOTENAME(TR.TableName) + N' -> ' + QUOTENAME(TR.TriggerName) + @CRLF +
262
+ TR.definition + @CRLF +
263
+ CASE WHEN TR.is_disabled = 1 THEN
264
+ N'DISABLE TRIGGER ' + QUOTENAME(TR.TriggerName) + N' ON ' + QUOTENAME(TR.SchemaName) + N'.' + QUOTENAME(TR.TableName) + N';' + @CRLF
265
+ ELSE N'' END + @CRLF
266
+ FROM TR
267
+ ORDER BY TR.SchemaName, TR.TableName, TR.TriggerName;
268
+
269
+ --------------------------------------------------------------------------------
270
+ -- DDL TRIGGERS (database-level) + SERVER TRIGGERS (opt-in and if permitted)
271
+ --------------------------------------------------------------------------------
272
+ ;WITH DDLT AS
273
+ (
274
+ SELECT
275
+ tr.name AS TriggerName,
276
+ tr.is_disabled,
277
+ m.definition
278
+ FROM sys.triggers tr
279
+ JOIN sys.sql_modules m ON m.object_id = tr.object_id
280
+ WHERE tr.parent_class = 0 -- database DDL triggers
281
+ )
282
+ SELECT @Def +=
283
+ N'-- Database DDL Trigger: ' + QUOTENAME(DDLT.TriggerName) + @CRLF +
284
+ DDLT.definition + @CRLF +
285
+ CASE WHEN DDLT.is_disabled = 1 THEN
286
+ N'DISABLE TRIGGER ' + QUOTENAME(DDLT.TriggerName) + N' ON DATABASE;' + @CRLF
287
+ ELSE N'' END + @CRLF
288
+ FROM DDLT
289
+ ORDER BY DDLT.TriggerName;
290
+
291
+ -- Preserve the legacy CONTROL SERVER check, but permission alone is not scope approval.
292
+ IF @p_IncludeServerTriggers = 1 AND HAS_PERMS_BY_NAME(NULL, NULL, 'CONTROL SERVER') = 1
293
+ BEGIN
294
+ ;WITH ST AS
295
+ (
296
+ SELECT
297
+ tr.name AS TriggerName,
298
+ tr.is_disabled,
299
+ m.definition
300
+ FROM sys.server_triggers tr
301
+ JOIN sys.server_sql_modules m ON m.object_id = tr.object_id
302
+ )
303
+ SELECT @Def +=
304
+ N'-- Server Trigger: ' + QUOTENAME(ST.TriggerName) + @CRLF +
305
+ ST.definition + @CRLF +
306
+ CASE WHEN ST.is_disabled = 1 THEN
307
+ N'DISABLE TRIGGER ' + QUOTENAME(ST.TriggerName) + N' ON ALL SERVER;' + @CRLF
308
+ ELSE N'' END + @CRLF
309
+ FROM ST
310
+ ORDER BY ST.TriggerName;
311
+ END
312
+ ELSE
313
+ BEGIN
314
+ SET @Def += N'-- NOTE: Skipped server-level triggers (opt-in disabled or no CONTROL SERVER permission).' + @CRLF + @CRLF;
315
+ END;
316
+
317
+ --------------------------------------------------------------------------------
318
+ -- WRITE FILE (sqlcmd)
319
+ --------------------------------------------------------------------------------
320
+ -- This prints/returns the text; use sqlcmd to spool it to a file.
321
+ -- Recommended command:
322
+ -- sqlcmd -S <server> -d <db> -E -h -1 -W -w 65535 -Q "SET NOCOUNT ON; <paste this script>" -o "C:\temp\DbDefinition.sql"
323
+
324
+ -- If running inside SSMS and you just want the text:
325
+ SELECT @Def AS DefinitionFileText;
326
+
327
+
328
+ /*Optimized SQL:*/
329
+ -- Prints an NVARCHAR(MAX) variable in SSMS-friendly chunks (avoids PRINT truncation).
330
+ -- Usage:
331
+ -- 1) Build @Def in your main script.
332
+ -- 2) Run this block (or wrap it in a helper proc) to output @Def in chunks.
333
+ -- Notes:
334
+ -- - PRINT is limited (~4,000 NVARCHAR chars / ~8,000 VARCHAR chars).
335
+ -- - RAISERROR ... WITH NOWAIT shows output immediately in the Messages tab.
336
+ -- - Also bumps SSMS output limits: Tools > Options > Query Results > (Text) "Maximum number of characters displayed..."
337
+
338
+ /*Optimized SQL:*/
339
+ -- Pattern A (recommended): RAISERROR with a variable
340
+ SET NOCOUNT ON;
341
+
342
+ DECLARE @p_ChunkSize INT = 3800;
343
+ DECLARE @Offset INT = 1;
344
+ DECLARE @Len INT;
345
+ DECLARE @Chunk NVARCHAR(4000);
346
+
347
+ SELECT @Len = CASE WHEN @Def IS NULL THEN 0 ELSE LEN(@Def) END;
348
+
349
+ IF @Len = 0
350
+ BEGIN
351
+ RAISERROR(N'@Def is NULL or empty.', 0, 1) WITH NOWAIT;
352
+ RETURN;
353
+ END;
354
+
355
+ WHILE @Offset <= @Len
356
+ BEGIN
357
+ SET @Chunk = SUBSTRING(@Def, @Offset, @p_ChunkSize);
358
+ PRINT(@Chunk);
359
+ SET @Offset += @p_ChunkSize;
360
+ END;
361
+
362
+ /* Parameter Mapping:
363
+ @p_ChunkSize (INT) -> chunk size for printing @Def (default 3800)
364
+ Notes:
365
+ - RAISERROR substitution parameters must be variables/constants; SUBSTRING(@Def,...) inline can throw a syntax error.
366
+ - Using severity 0 + WITH NOWAIT prints progressively to the Messages tab without PRINT's 4k truncation.
367
+ */
File without changes