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.
- procesio_cli/__init__.py +18 -0
- procesio_cli/_cli.py +71 -0
- procesio_cli/agents/__init__.py +0 -0
- procesio_cli/agents/_lib/__init__.py +0 -0
- procesio_cli/agents/_lib/actiondef.py +24 -0
- procesio_cli/agents/_lib/errors.py +40 -0
- procesio_cli/agents/_lib/reversibility.py +236 -0
- procesio_cli/agents/_lib/toolrunner.py +141 -0
- procesio_cli/agents/connector-builder/CONNECTOR-BUILDER-PLAYBOOK.md +62 -0
- procesio_cli/agents/connector-builder/CONNECTOR-BUILDER-PROCESIO-INTEROP.md +76 -0
- procesio_cli/agents/connector-builder/CONNECTOR-BUILDER-TROUBLESHOOTING.md +60 -0
- procesio_cli/agents/connector-builder/README.md +51 -0
- procesio_cli/agents/connector-builder/agent.yaml +61 -0
- procesio_cli/agents/connector-builder/context.py +19 -0
- procesio_cli/agents/connector-builder/handlers/__init__.py +1 -0
- procesio_cli/agents/connector-builder/handlers/checklist.py +71 -0
- procesio_cli/agents/connector-builder/handlers/guidance.py +37 -0
- procesio_cli/agents/connector-builder/handlers/nextstep.py +221 -0
- procesio_cli/agents/connector-builder/handlers/status.py +35 -0
- procesio_cli/agents/connector-builder/knowledge.py +47 -0
- procesio_cli/agents/connector-builder/main.py +93 -0
- procesio_cli/agents/connector-builder/tests/conftest.py +95 -0
- procesio_cli/agents/connector-builder/tests/test_cba_agent.py +148 -0
- procesio_cli/agents/orchestrator/__init__.py +0 -0
- procesio_cli/agents/orchestrator/bootstraplib.py +166 -0
- procesio_cli/agents/procesio/IMPLEMENTATION-PATTERNS/00-INDEX.md +60 -0
- procesio_cli/agents/procesio/IMPLEMENTATION-PATTERNS/01-PROCESSES.md +230 -0
- procesio_cli/agents/procesio/IMPLEMENTATION-PATTERNS/02-FORMS.md +287 -0
- procesio_cli/agents/procesio/IMPLEMENTATION-PATTERNS/03-INTEGRATIONS.md +384 -0
- procesio_cli/agents/procesio/IMPLEMENTATION-PATTERNS/04-DATABASE.md +293 -0
- procesio_cli/agents/procesio/PROCESIO-API-RELIABILITY-DOCTRINE.md +113 -0
- procesio_cli/agents/procesio/PROCESIO-BEST-PRACTICES.md +316 -0
- procesio_cli/agents/procesio/PROCESIO-BUILD-AND-TEST-PLAYBOOK.md +217 -0
- procesio_cli/agents/procesio/PROCESIO-DATASTORE.md +72 -0
- procesio_cli/agents/procesio/PROCESIO-ENVIRONMENTS.md +62 -0
- procesio_cli/agents/procesio/PROCESIO-SCHEDULING.md +47 -0
- procesio_cli/agents/procesio/PROCESIO-VISUAL-ORGANIZATION.md +175 -0
- procesio_cli/agents/procesio/README.md +97 -0
- procesio_cli/agents/procesio/__init__.py +0 -0
- procesio_cli/agents/procesio/agent.yaml +73 -0
- procesio_cli/agents/procesio/audit.py +226 -0
- procesio_cli/agents/procesio/checklist.py +135 -0
- procesio_cli/agents/procesio/context.py +19 -0
- procesio_cli/agents/procesio/handlers/__init__.py +0 -0
- procesio_cli/agents/procesio/handlers/audit.py +39 -0
- procesio_cli/agents/procesio/handlers/checklist.py +34 -0
- procesio_cli/agents/procesio/handlers/guidance.py +36 -0
- procesio_cli/agents/procesio/handlers/status.py +33 -0
- procesio_cli/agents/procesio/handlers/verify.py +39 -0
- procesio_cli/agents/procesio/knowledge.py +115 -0
- procesio_cli/agents/procesio/main.py +89 -0
- procesio_cli/agents/procesio/tests/__init__.py +0 -0
- procesio_cli/agents/procesio/tests/conftest.py +62 -0
- procesio_cli/agents/procesio/tests/test_audit.py +91 -0
- procesio_cli/agents/procesio/tests/test_checklist.py +28 -0
- procesio_cli/agents/procesio/tests/test_guidance.py +78 -0
- procesio_cli/agents/procesio/tests/test_manifest_sync.py +48 -0
- procesio_cli/agents/procesio/tests/test_verify.py +134 -0
- procesio_cli/agents/procesio/tests/test_workspace_scope.py +97 -0
- procesio_cli/agents/procesio/verifylib.py +222 -0
- procesio_cli/dashboard/README.md +117 -0
- procesio_cli/dashboard/__init__.py +18 -0
- procesio_cli/dashboard/serve.py +98 -0
- procesio_cli/dashboard/server/__init__.py +1 -0
- procesio_cli/dashboard/server/config_schemas.py +92 -0
- procesio_cli/dashboard/server/google.py +103 -0
- procesio_cli/dashboard/server/handler.py +160 -0
- procesio_cli/dashboard/server/inventory.py +213 -0
- procesio_cli/dashboard/server/jobs.py +118 -0
- procesio_cli/dashboard/server/llmtest.py +181 -0
- procesio_cli/dashboard/server/procesio_env.py +94 -0
- procesio_cli/dashboard/server/routes.py +74 -0
- procesio_cli/dashboard/server/runner.py +150 -0
- procesio_cli/dashboard/server/security.py +29 -0
- procesio_cli/dashboard/server/setup.py +211 -0
- procesio_cli/dashboard/server/validate.py +152 -0
- procesio_cli/dashboard/tests/conftest.py +16 -0
- procesio_cli/dashboard/tests/test_dashboard.py +225 -0
- procesio_cli/dashboard/tests/test_procesio_env.py +159 -0
- procesio_cli/dashboard/web/actions.js +274 -0
- procesio_cli/dashboard/web/api.js +79 -0
- procesio_cli/dashboard/web/app.js +385 -0
- procesio_cli/dashboard/web/copilot.js +72 -0
- procesio_cli/dashboard/web/google.js +121 -0
- procesio_cli/dashboard/web/index.html +67 -0
- procesio_cli/dashboard/web/procesio_env.js +187 -0
- procesio_cli/dashboard/web/styles.css +207 -0
- procesio_cli/registry.py +370 -0
- procesio_cli/scripts/build-router.py +249 -0
- procesio_cli/scripts/build-tool-skill.py +202 -0
- procesio_cli/scripts/check-requirements.py +131 -0
- procesio_cli/scripts/check-skill-governance.py +174 -0
- procesio_cli/scripts/evaluate-skill-routing.py +217 -0
- procesio_cli/scripts/evaluate-skills.py +316 -0
- procesio_cli/scripts/get-skill.py +122 -0
- procesio_cli/scripts/list-skills.py +68 -0
- procesio_cli/scripts/list-tools.py +73 -0
- procesio_cli/scripts/run-agent.py +59 -0
- procesio_cli/scripts/run-tool.py +123 -0
- procesio_cli/scripts/secret_scan.py +584 -0
- procesio_cli/scripts/set-credential.py +126 -0
- procesio_cli/scripts/validate-skills.py +530 -0
- procesio_cli/skills/PORTFOLIO.md +134 -0
- procesio_cli/skills/__init__.py +6 -0
- procesio_cli/skills/agent-skill-engineer/SKILL.md +226 -0
- procesio_cli/skills/agent-skill-engineer/evals/evals.json +422 -0
- procesio_cli/skills/agent-skill-engineer/references/authoring-standard.md +178 -0
- procesio_cli/skills/agent-skill-engineer/references/decision-framework.md +107 -0
- procesio_cli/skills/agent-skill-engineer/references/domain-evidence-protocol.md +248 -0
- procesio_cli/skills/agent-skill-engineer/references/evaluation-standard.md +191 -0
- procesio_cli/skills/agent-skill-engineer/references/expert-lenses.md +167 -0
- procesio_cli/skills/agent-skill-engineer/references/field-gate-standard.md +231 -0
- procesio_cli/skills/agent-skill-engineer/references/optimization-protocol.md +233 -0
- procesio_cli/skills/agent-skill-engineer/references/optimizer-contract.md +268 -0
- procesio_cli/skills/agent-skill-engineer/references/portability-standard.md +99 -0
- procesio_cli/skills/agent-skill-engineer/references/research-basis.md +128 -0
- procesio_cli/skills/agent-skill-engineer/references/review-standard.md +143 -0
- procesio_cli/skills/agent-skill-engineer/scripts/audit_skill.py +959 -0
- procesio_cli/skills/agent-skill-engineer/scripts/optimize_skill.py +891 -0
- procesio_cli/skills/agent-skill-engineer/scripts/scaffold_skill.py +397 -0
- procesio_cli/skills/evals/baseline-catalog.json +14 -0
- procesio_cli/skills/evals/baseline-routing-v2.json +38 -0
- procesio_cli/skills/evals/baseline.json +37 -0
- procesio_cli/skills/evals/behavioral.json +367 -0
- procesio_cli/skills/evals/field-boundary-development-v1.json +126 -0
- procesio_cli/skills/evals/field-closeout-correction-development-v1.json +23 -0
- procesio_cli/skills/evals/field-closeout-development-v1.json +89 -0
- procesio_cli/skills/evals/portfolio-pressure-training-v1.json +83 -0
- procesio_cli/skills/evals/routing.json +363 -0
- procesio_cli/skills/evals/validation-baseline.json +4 -0
- procesio_cli/skills/procesio-cli/SKILL.md +134 -0
- procesio_cli/skills/procesio-cli/evals/evals.json +111 -0
- procesio_cli/skills/procesio-cli/evals/workflows.json +16 -0
- procesio_cli/skills/procesio-cli/references/connector-lifecycle.md +47 -0
- procesio_cli/skills/procesio-cli/references/credentials-admin.md +113 -0
- procesio_cli/skills/procesio-cli/references/data-verification.md +71 -0
- procesio_cli/skills/procesio-cli/references/documents-files.md +44 -0
- procesio_cli/skills/procesio-cli/references/form-e2e.md +57 -0
- procesio_cli/skills/procesio-cli/references/operation-contract.md +138 -0
- procesio_cli/skills/procesio-cli/references/process-debugging.md +65 -0
- procesio_cli/skills/procesio-cli/references/process-lifecycle.md +88 -0
- procesio_cli/skills/procesio-cli/references/schedules-webhooks.md +58 -0
- procesio_cli/skills/procesio-cli/references/transport-environments.md +53 -0
- procesio_cli/skills/procesio-cli-maintainer/SKILL.md +84 -0
- procesio_cli/skills/procesio-cli-maintainer/evals/evals.json +116 -0
- procesio_cli/skills/procesio-cli-maintainer/references/change-contract.md +34 -0
- procesio_cli/skills/procesio-cli-maintainer/references/mcp-compatibility.md +13 -0
- procesio_cli/skills/procesio-cli-maintainer/references/skill-authoring.md +51 -0
- procesio_cli/skills/procesio-platform-advisor/SKILL.md +82 -0
- procesio_cli/skills/procesio-platform-advisor/evals/evals.json +116 -0
- procesio_cli/skills/procesio-platform-advisor/references/capability-map.md +22 -0
- procesio_cli/skills/procesio-platform-advisor/references/fit-framework.md +35 -0
- procesio_cli/skills/procesio-platform-advisor/references/freshness-policy.md +25 -0
- procesio_cli/skills/procesio-platform-advisor/references/sizing-method.md +70 -0
- procesio_cli/skills/procesio-platform-advisor/scripts/estimate_capacity.py +99 -0
- procesio_cli/skills/procesio-setup/SKILL.md +180 -0
- procesio_cli/skills/sql-server-optimizer/SKILL.md +86 -0
- procesio_cli/skills/sql-server-optimizer/evals/evals.json +116 -0
- procesio_cli/skills/sql-server-optimizer/references/db-context.md +44 -0
- procesio_cli/skills/sql-server-optimizer/references/generic-mode.md +32 -0
- procesio_cli/skills/sql-server-optimizer/references/procesio-mode.md +40 -0
- procesio_cli/skills/sql-server-optimizer/references/sql-rules.md +43 -0
- procesio_cli/skills/sql-server-optimizer/scripts/export-indexes.sql +178 -0
- procesio_cli/skills/sql-server-optimizer/scripts/export-procs-and-functions.sql +118 -0
- procesio_cli/skills/sql-server-optimizer/scripts/export-tables.sql +367 -0
- procesio_cli/skills/tests/__init__.py +0 -0
- procesio_cli/skills/tests/test_agent_skill_engineer.py +240 -0
- procesio_cli/skills/tests/test_auth_failure_stop.py +25 -0
- procesio_cli/skills/tests/test_capacity_estimator.py +85 -0
- procesio_cli/skills/tests/test_field_boundary_learning.py +100 -0
- procesio_cli/skills/tests/test_field_closeout_learning.py +123 -0
- procesio_cli/skills/tests/test_field_gate_standard.py +76 -0
- procesio_cli/skills/tests/test_operational_playbooks.py +51 -0
- procesio_cli/skills/tests/test_portfolio_pressure_training.py +35 -0
- procesio_cli/skills/tests/test_process_lifecycle_single_run.py +25 -0
- procesio_cli/skills/tests/test_skill_evaluator.py +67 -0
- procesio_cli/skills/tests/test_skill_optimizer.py +473 -0
- procesio_cli/skills/tests/test_skill_portfolio_review.py +70 -0
- procesio_cli/skills/tests/test_skill_release_binding.py +204 -0
- procesio_cli/skills/tests/test_skill_routing.py +74 -0
- procesio_cli/skills/tests/test_skill_scaffold_v2.py +116 -0
- procesio_cli/skills/tests/test_validate_skills.py +115 -0
- procesio_cli/tools/__init__.py +0 -0
- procesio_cli/tools/_lib/README.md +119 -0
- procesio_cli/tools/_lib/__init__.py +0 -0
- procesio_cli/tools/_lib/accounting.py +120 -0
- procesio_cli/tools/_lib/contacts.py +544 -0
- procesio_cli/tools/_lib/creds.py +83 -0
- procesio_cli/tools/_lib/creds_backends.py +578 -0
- procesio_cli/tools/_lib/dbprofiles.py +147 -0
- procesio_cli/tools/_lib/dbquery.py +286 -0
- procesio_cli/tools/_lib/dbschema.py +225 -0
- procesio_cli/tools/_lib/io.py +54 -0
- procesio_cli/tools/_lib/manifest.py +297 -0
- procesio_cli/tools/_lib/skill_release.py +127 -0
- procesio_cli/tools/_lib/skill_resources.py +118 -0
- procesio_cli/tools/_lib/userdata.py +228 -0
- procesio_cli/tools/_lib/webserialize/__init__.py +16 -0
- procesio_cli/tools/_lib/webserialize/admin.py +61 -0
- procesio_cli/tools/_lib/webserialize/client.py +264 -0
- procesio_cli/tools/_lib/webserialize/config.py +96 -0
- procesio_cli/tools/_lib/webserialize/errors.py +27 -0
- procesio_cli/tools/_lib/webserialize/framing.py +45 -0
- procesio_cli/tools/_lib/webserialize/registry.py +47 -0
- procesio_cli/tools/_lib/webserialize/runtime.py +61 -0
- procesio_cli/tools/_lib/webserialize/server.py +510 -0
- procesio_cli/tools/_lib/websession.py +194 -0
- procesio_cli/tools/connector-builder/CONNECTOR-BUILDER-API-NOTES.md +91 -0
- procesio_cli/tools/connector-builder/README.md +101 -0
- procesio_cli/tools/connector-builder/SKILL.md +248 -0
- procesio_cli/tools/connector-builder/__init__.py +7 -0
- procesio_cli/tools/connector-builder/actiondef.py +24 -0
- procesio_cli/tools/connector-builder/client.py +251 -0
- procesio_cli/tools/connector-builder/errors.py +44 -0
- procesio_cli/tools/connector-builder/gen_manifest.py +142 -0
- procesio_cli/tools/connector-builder/handlers/__init__.py +1 -0
- procesio_cli/tools/connector-builder/handlers/admin.py +182 -0
- procesio_cli/tools/connector-builder/handlers/auth.py +74 -0
- procesio_cli/tools/connector-builder/handlers/builds.py +396 -0
- procesio_cli/tools/connector-builder/handlers/common.py +104 -0
- procesio_cli/tools/connector-builder/handlers/files.py +111 -0
- procesio_cli/tools/connector-builder/handlers/raw.py +38 -0
- procesio_cli/tools/connector-builder/handlers/telemetry.py +39 -0
- procesio_cli/tools/connector-builder/main.py +94 -0
- procesio_cli/tools/connector-builder/tests/conftest.py +146 -0
- procesio_cli/tools/connector-builder/tests/test_cb_client.py +86 -0
- procesio_cli/tools/connector-builder/tests/test_cb_dispatch.py +105 -0
- procesio_cli/tools/connector-builder/tests/test_cb_manifest_sync.py +76 -0
- procesio_cli/tools/connector-builder/tests/test_cb_wait.py +123 -0
- procesio_cli/tools/connector-builder/tool.yaml +671 -0
- procesio_cli/tools/framework-map/.gitattributes +2 -0
- procesio_cli/tools/framework-map/README.md +98 -0
- procesio_cli/tools/framework-map/SKILL.md +30 -0
- procesio_cli/tools/framework-map/app.js +188 -0
- procesio_cli/tools/framework-map/fm_builder.py +476 -0
- procesio_cli/tools/framework-map/fm_catalog.py +19 -0
- procesio_cli/tools/framework-map/fm_ro_catalog.py +94 -0
- procesio_cli/tools/framework-map/fm_strings.py +101 -0
- procesio_cli/tools/framework-map/main.py +95 -0
- procesio_cli/tools/framework-map/styles.css +214 -0
- procesio_cli/tools/framework-map/tests/conftest.py +33 -0
- procesio_cli/tools/framework-map/tests/test_fm_build.py +126 -0
- procesio_cli/tools/framework-map/tests/test_fm_manifest_sync.py +63 -0
- procesio_cli/tools/framework-map/tests/test_fm_store_tree.py +75 -0
- procesio_cli/tools/framework-map/tool.yaml +61 -0
- procesio_cli/tools/mysql/MOVED-TO-CENTRAL.md +29 -0
- procesio_cli/tools/mysql/README.md +196 -0
- procesio_cli/tools/mysql/SKILL.md +37 -0
- procesio_cli/tools/mysql/__init__.py +0 -0
- procesio_cli/tools/mysql/connection.py +191 -0
- procesio_cli/tools/mysql/main.py +487 -0
- procesio_cli/tools/mysql/profiles.template.json +1 -0
- procesio_cli/tools/mysql/schema.py +434 -0
- procesio_cli/tools/mysql/tests/__init__.py +0 -0
- procesio_cli/tools/mysql/tests/conftest.py +21 -0
- procesio_cli/tools/mysql/tests/test_manifest_sync.py +68 -0
- procesio_cli/tools/mysql/tests/test_mysql.py +201 -0
- procesio_cli/tools/mysql/tests/test_mysql_schema.py +337 -0
- procesio_cli/tools/mysql/tool.yaml +112 -0
- procesio_cli/tools/procesio/DTO-SUBTOOLS-NOTE.md +360 -0
- procesio_cli/tools/procesio/FORM-DEV-GUIDE/00-INDEX.md +67 -0
- procesio_cli/tools/procesio/FORM-DEV-GUIDE/01-ANATOMY.md +209 -0
- procesio_cli/tools/procesio/FORM-DEV-GUIDE/02-CODE-INJECTION.md +309 -0
- procesio_cli/tools/procesio/FORM-DEV-GUIDE/03-DOM-CONTRACT.md +370 -0
- procesio_cli/tools/procesio/FORM-DEV-GUIDE/04-INTERACTION-RECIPES.md +600 -0
- procesio_cli/tools/procesio/FORM-DEV-GUIDE/05-STEPPER-AND-MOTION.md +426 -0
- procesio_cli/tools/procesio/FORM-DEV-GUIDE/06-PROCESS-INTEGRATION.md +347 -0
- procesio_cli/tools/procesio/FORM-DEV-GUIDE/07-DEPLOY-WORKFLOW.md +294 -0
- procesio_cli/tools/procesio/FORM-DEV-GUIDE/08-PITFALLS.md +569 -0
- procesio_cli/tools/procesio/FORM-DEV-GUIDE/09-NAVIGATION-AND-HOSTING.md +308 -0
- procesio_cli/tools/procesio/PHASE4-E2E-NOTES.md +594 -0
- procesio_cli/tools/procesio/PROCESIO-API-CORRECTIONS.md +295 -0
- procesio_cli/tools/procesio/PROCESIO-API-NOTES.md +6976 -0
- procesio_cli/tools/procesio/PROCESIO-AUTH-NOTES.md +226 -0
- procesio_cli/tools/procesio/PROCESIO-CARD-BUILD-NOTES.md +183 -0
- procesio_cli/tools/procesio/PROCESIO-CONNECTORS-NOTES.md +141 -0
- procesio_cli/tools/procesio/PROCESIO-CUSTOM-ACTION-NOTES.md +179 -0
- procesio_cli/tools/procesio/PROCESIO-DOCS-FIX-REPORT.md +123 -0
- procesio_cli/tools/procesio/PROCESIO-ENVIRONMENTS-NOTES.md +94 -0
- procesio_cli/tools/procesio/PROCESIO-FE-VALIDATION-NOTES.md +107 -0
- procesio_cli/tools/procesio/PROCESIO-FOREACH-NOTES.md +199 -0
- procesio_cli/tools/procesio/PROCESIO-FORM-API-HANG-NOTE.md +101 -0
- procesio_cli/tools/procesio/PROCESIO-FORM-SUBMISSION-NOTES.md +172 -0
- procesio_cli/tools/procesio/PROCESIO-HTML-TO-DOCX-NOTES.md +110 -0
- procesio_cli/tools/procesio/PROCESIO-INSTANCE-HISTORY-NOTES.md +242 -0
- procesio_cli/tools/procesio/PROCESIO-METERING-NOTES.md +201 -0
- procesio_cli/tools/procesio/PROCESIO-NODE-CODE-NOTES.md +279 -0
- procesio_cli/tools/procesio/PROCESIO-NODE-MODULE-WHITELIST.md +113 -0
- procesio_cli/tools/procesio/PROCESIO-PYTHON-ACTION-NOTES.md +165 -0
- procesio_cli/tools/procesio/PROCESIO-QUERY-STORE-NOTES.md +826 -0
- procesio_cli/tools/procesio/PROCESIO-RECONCILIATION-PATTERNS.md +104 -0
- procesio_cli/tools/procesio/PROCESIO-RESOURCE-MODEL-NOTES.md +1100 -0
- procesio_cli/tools/procesio/PROCESIO-SEND-EMAIL-CRED-OPTIONALITY.md +45 -0
- procesio_cli/tools/procesio/PROCESIO-SEND-EMAIL-NOTES.md +252 -0
- procesio_cli/tools/procesio/PROCESIO-SQL-ACTIONS-NOTES.md +284 -0
- procesio_cli/tools/procesio/PROCESIO-USAGE-GUIDE.md +219 -0
- procesio_cli/tools/procesio/README.md +341 -0
- procesio_cli/tools/procesio/SCHEDULE-INPUT-SECURITY-NOTES.md +63 -0
- procesio_cli/tools/procesio/SKILL.md +694 -0
- procesio_cli/tools/procesio/__init__.py +1 -0
- procesio_cli/tools/procesio/actiondef.py +27 -0
- procesio_cli/tools/procesio/assets/html2docx/html2docx.js +2155 -0
- procesio_cli/tools/procesio/auth.py +354 -0
- procesio_cli/tools/procesio/autogen.py +121 -0
- procesio_cli/tools/procesio/client.py +355 -0
- procesio_cli/tools/procesio/config.py +96 -0
- procesio_cli/tools/procesio/data/endpoints.json +2901 -0
- procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/01-authentication.md +180 -0
- procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/02-conventions.md +116 -0
- procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/ANONYMOUS-SURFACE.md +51 -0
- procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/README.md +104 -0
- procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/SYMBOL-INDEX.md +444 -0
- procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/03-auth-users-workspaces.md +731 -0
- procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/04-processes.md +913 -0
- procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/05-actions.md +605 -0
- procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/06-files.md +237 -0
- procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/07-forms-documents.md +985 -0
- procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/08-credentials.md +532 -0
- procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/09-datastore-datatypes.md +830 -0
- procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/10-custom-urls.md +319 -0
- procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/11-subscriptions-resources-analytics.md +455 -0
- procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/12-webhooks-notifications-misc.md +519 -0
- procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/13-realtime-signalr.md +153 -0
- procesio_cli/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/99-internal-and-other-services.md +52 -0
- procesio_cli/tools/procesio/docs_info/FormBuilder mock.ts +5725 -0
- procesio_cli/tools/procesio/docs_info/Procesio Platform Actions.json +30219 -0
- procesio_cli/tools/procesio/docs_info/form-config-enums.ts +92 -0
- procesio_cli/tools/procesio/docs_info/form-theme.ts +1603 -0
- procesio_cli/tools/procesio/docs_info/process-validation-reference-1.md +2739 -0
- procesio_cli/tools/procesio/dto/__init__.py +13 -0
- procesio_cli/tools/procesio/dto/credential/builder.py +179 -0
- procesio_cli/tools/procesio/dto/credential/config.schema.json +19 -0
- procesio_cli/tools/procesio/dto/credential/description.md +193 -0
- procesio_cli/tools/procesio/dto/credential/fixtures/rest.config.json +11 -0
- procesio_cli/tools/procesio/dto/credential/fixtures/rest.dto.json +28 -0
- procesio_cli/tools/procesio/dto/credential/fixtures/rest.template.json +44 -0
- procesio_cli/tools/procesio/dto/credential/template.dto.json +16 -0
- procesio_cli/tools/procesio/dto/data/_refresh.py +147 -0
- procesio_cli/tools/procesio/dto/data/action_catalog.json +30825 -0
- procesio_cli/tools/procesio/dto/data/action_families.json +55 -0
- procesio_cli/tools/procesio/dto/data/platform_types.json +182 -0
- procesio_cli/tools/procesio/dto/datatype/builder.py +223 -0
- procesio_cli/tools/procesio/dto/datatype/config.schema.json +47 -0
- procesio_cli/tools/procesio/dto/datatype/description.md +85 -0
- procesio_cli/tools/procesio/dto/datatype/fixtures/customer.config.json +41 -0
- procesio_cli/tools/procesio/dto/datatype/fixtures/customer.dto.json +164 -0
- procesio_cli/tools/procesio/dto/datatype/template.dto.json +37 -0
- procesio_cli/tools/procesio/dto/document/builder.py +193 -0
- procesio_cli/tools/procesio/dto/document/config.schema.json +33 -0
- procesio_cli/tools/procesio/dto/document/description.md +124 -0
- procesio_cli/tools/procesio/dto/document/fixtures/invoice.config.json +16 -0
- procesio_cli/tools/procesio/dto/document/fixtures/invoice.dto.json +32 -0
- procesio_cli/tools/procesio/dto/document/template.dto.json +14 -0
- procesio_cli/tools/procesio/dto/form/FORM-STYLING-NOTES.md +142 -0
- procesio_cli/tools/procesio/dto/form/GOLDEN-DRIFT-NOTES.md +72 -0
- procesio_cli/tools/procesio/dto/form/RUN-PROCESS-RESULT-NOTES.md +80 -0
- procesio_cli/tools/procesio/dto/form/addelement.py +277 -0
- procesio_cli/tools/procesio/dto/form/builder.py +1009 -0
- procesio_cli/tools/procesio/dto/form/capture_goldens.py +106 -0
- procesio_cli/tools/procesio/dto/form/code_cipher.py +67 -0
- procesio_cli/tools/procesio/dto/form/config.schema.json +76 -0
- procesio_cli/tools/procesio/dto/form/data_shell.json +1 -0
- procesio_cli/tools/procesio/dto/form/description.md +346 -0
- procesio_cli/tools/procesio/dto/form/elements/approval.json +259 -0
- procesio_cli/tools/procesio/dto/form/elements/assignee.json +137 -0
- procesio_cli/tools/procesio/dto/form/elements/button.json +125 -0
- procesio_cli/tools/procesio/dto/form/elements/chart.json +341 -0
- procesio_cli/tools/procesio/dto/form/elements/chat.json +199 -0
- procesio_cli/tools/procesio/dto/form/elements/checkbox.json +153 -0
- procesio_cli/tools/procesio/dto/form/elements/column.json +77 -0
- procesio_cli/tools/procesio/dto/form/elements/columns.json +78 -0
- procesio_cli/tools/procesio/dto/form/elements/datetime-input.json +304 -0
- procesio_cli/tools/procesio/dto/form/elements/divider.json +54 -0
- procesio_cli/tools/procesio/dto/form/elements/dropdown.json +130 -0
- procesio_cli/tools/procesio/dto/form/elements/dynamic-table-row.json +253 -0
- procesio_cli/tools/procesio/dto/form/elements/file-upload.json +196 -0
- procesio_cli/tools/procesio/dto/form/elements/file-viewer.json +169 -0
- procesio_cli/tools/procesio/dto/form/elements/heading.json +79 -0
- procesio_cli/tools/procesio/dto/form/elements/icon.json +107 -0
- procesio_cli/tools/procesio/dto/form/elements/image.json +174 -0
- procesio_cli/tools/procesio/dto/form/elements/input.json +206 -0
- procesio_cli/tools/procesio/dto/form/elements/list.json +202 -0
- procesio_cli/tools/procesio/dto/form/elements/number-input.json +202 -0
- procesio_cli/tools/procesio/dto/form/elements/paragraph.json +79 -0
- procesio_cli/tools/procesio/dto/form/elements/radiobox.json +174 -0
- procesio_cli/tools/procesio/dto/form/elements/section.json +114 -0
- procesio_cli/tools/procesio/dto/form/elements/select.json +217 -0
- procesio_cli/tools/procesio/dto/form/elements/side-panel.json +146 -0
- procesio_cli/tools/procesio/dto/form/elements/signature-pad.json +141 -0
- procesio_cli/tools/procesio/dto/form/elements/static-table-row.json +84 -0
- procesio_cli/tools/procesio/dto/form/elements/step.json +105 -0
- procesio_cli/tools/procesio/dto/form/elements/stepper.json +126 -0
- procesio_cli/tools/procesio/dto/form/elements/tab.json +77 -0
- procesio_cli/tools/procesio/dto/form/elements/table.json +279 -0
- procesio_cli/tools/procesio/dto/form/elements/tabs.json +114 -0
- procesio_cli/tools/procesio/dto/form/elements/textarea.json +213 -0
- procesio_cli/tools/procesio/dto/form/enum_map.json +68 -0
- procesio_cli/tools/procesio/dto/form/fieldpath.py +284 -0
- procesio_cli/tools/procesio/dto/form/fixtures/reg.config.json +32 -0
- procesio_cli/tools/procesio/dto/form/fixtures/reg.elements.json +638 -0
- procesio_cli/tools/procesio/dto/form/sync_from_mock.py +386 -0
- procesio_cli/tools/procesio/dto/framework.py +125 -0
- procesio_cli/tools/procesio/dto/process/builder.py +1991 -0
- procesio_cli/tools/procesio/dto/process/config.schema.json +159 -0
- procesio_cli/tools/procesio/dto/process/description.md +218 -0
- procesio_cli/tools/procesio/dto/process/fixtures/greet.config.json +32 -0
- procesio_cli/tools/procesio/dto/process/fixtures/greet.dto.json +317 -0
- procesio_cli/tools/procesio/dto/process/naming.py +305 -0
- procesio_cli/tools/procesio/dto/process/normalize.py +74 -0
- procesio_cli/tools/procesio/dto/process/template.dto.json +32 -0
- procesio_cli/tools/procesio/dto/refdata.py +87 -0
- procesio_cli/tools/procesio/dto/registry.py +27 -0
- procesio_cli/tools/procesio/dto/webhook/builder.py +142 -0
- procesio_cli/tools/procesio/dto/webhook/config.schema.json +25 -0
- procesio_cli/tools/procesio/dto/webhook/description.md +92 -0
- procesio_cli/tools/procesio/dto/webhook/fixtures/order.config.json +10 -0
- procesio_cli/tools/procesio/dto/webhook/fixtures/order.dto.json +25 -0
- procesio_cli/tools/procesio/dto/webhook/template.dto.json +14 -0
- procesio_cli/tools/procesio/environments.py +264 -0
- procesio_cli/tools/procesio/errors.py +166 -0
- procesio_cli/tools/procesio/flowmodel/README.md +37 -0
- procesio_cli/tools/procesio/flowmodel/__init__.py +14 -0
- procesio_cli/tools/procesio/flowmodel/digest.py +223 -0
- procesio_cli/tools/procesio/flowmodel/families.py +34 -0
- procesio_cli/tools/procesio/flowmodel/fevalidation.py +1098 -0
- procesio_cli/tools/procesio/flowmodel/formdigest.py +232 -0
- procesio_cli/tools/procesio/flowmodel/inspect.py +78 -0
- procesio_cli/tools/procesio/flowmodel/model.py +82 -0
- procesio_cli/tools/procesio/flowmodel/nodeparam.py +871 -0
- procesio_cli/tools/procesio/flowmodel/reader.py +191 -0
- procesio_cli/tools/procesio/flowmodel/sqlparam.py +410 -0
- procesio_cli/tools/procesio/form_code_keys.py +50 -0
- procesio_cli/tools/procesio/formlint.py +292 -0
- procesio_cli/tools/procesio/gen_manifest.py +118 -0
- procesio_cli/tools/procesio/handlers/__init__.py +1 -0
- procesio_cli/tools/procesio/handlers/auth_actions.py +103 -0
- procesio_cli/tools/procesio/handlers/catalog.py +147 -0
- procesio_cli/tools/procesio/handlers/common.py +90 -0
- procesio_cli/tools/procesio/handlers/customaction_ops.py +146 -0
- procesio_cli/tools/procesio/handlers/datastore_ops.py +482 -0
- procesio_cli/tools/procesio/handlers/datatype_ops.py +275 -0
- procesio_cli/tools/procesio/handlers/dto_actions.py +258 -0
- procesio_cli/tools/procesio/handlers/environment_admin.py +146 -0
- procesio_cli/tools/procesio/handlers/fevalidate.py +236 -0
- procesio_cli/tools/procesio/handlers/files.py +141 -0
- procesio_cli/tools/procesio/handlers/flowgraph.py +229 -0
- procesio_cli/tools/procesio/handlers/flowlint.py +269 -0
- procesio_cli/tools/procesio/handlers/form_chains.py +336 -0
- procesio_cli/tools/procesio/handlers/form_code.py +277 -0
- procesio_cli/tools/procesio/handlers/form_element.py +199 -0
- procesio_cli/tools/procesio/handlers/form_events.py +441 -0
- procesio_cli/tools/procesio/handlers/form_update.py +270 -0
- procesio_cli/tools/procesio/handlers/formprocess.py +211 -0
- procesio_cli/tools/procesio/handlers/generic.py +135 -0
- procesio_cli/tools/procesio/handlers/layout.py +137 -0
- procesio_cli/tools/procesio/handlers/nodeparams.py +1018 -0
- procesio_cli/tools/procesio/handlers/process_layout.py +189 -0
- procesio_cli/tools/procesio/handlers/process_naming.py +213 -0
- procesio_cli/tools/procesio/handlers/processes.py +416 -0
- procesio_cli/tools/procesio/handlers/profile_admin.py +184 -0
- procesio_cli/tools/procesio/handlers/resource_ops.py +447 -0
- procesio_cli/tools/procesio/handlers/schedules.py +320 -0
- procesio_cli/tools/procesio/handlers/sqlactions.py +232 -0
- procesio_cli/tools/procesio/handlers/transport.py +463 -0
- procesio_cli/tools/procesio/handlers/usageguide.py +222 -0
- procesio_cli/tools/procesio/layout/README.md +196 -0
- procesio_cli/tools/procesio/layout/__init__.py +11 -0
- procesio_cli/tools/procesio/layout/adapter.py +736 -0
- procesio_cli/tools/procesio/layout/cycles.py +186 -0
- procesio_cli/tools/procesio/layout/dispatch.py +39 -0
- procesio_cli/tools/procesio/layout/elk/elk_runner.mjs +50 -0
- procesio_cli/tools/procesio/layout/elk/package-lock.json +21 -0
- procesio_cli/tools/procesio/layout/elk/package.json +11 -0
- procesio_cli/tools/procesio/layout/elk_engine.py +568 -0
- procesio_cli/tools/procesio/layout/engine.py +1311 -0
- procesio_cli/tools/procesio/layout/report.py +187 -0
- procesio_cli/tools/procesio/main.py +179 -0
- procesio_cli/tools/procesio/profiles.py +193 -0
- procesio_cli/tools/procesio/reliability.py +193 -0
- procesio_cli/tools/procesio/sqlformat.py +167 -0
- procesio_cli/tools/procesio/swagger.py +51 -0
- procesio_cli/tools/procesio/tests/__init__.py +0 -0
- procesio_cli/tools/procesio/tests/conftest.py +129 -0
- procesio_cli/tools/procesio/tests/test_auth.py +200 -0
- procesio_cli/tools/procesio/tests/test_autogen.py +78 -0
- procesio_cli/tools/procesio/tests/test_builder_attrpath_sqlbind.py +180 -0
- procesio_cli/tools/procesio/tests/test_builder_custom_action_catalog.py +72 -0
- procesio_cli/tools/procesio/tests/test_client.py +114 -0
- procesio_cli/tools/procesio/tests/test_client_reliability.py +139 -0
- procesio_cli/tools/procesio/tests/test_customaction.py +103 -0
- procesio_cli/tools/procesio/tests/test_customaction_test.py +80 -0
- procesio_cli/tools/procesio/tests/test_cycles.py +69 -0
- procesio_cli/tools/procesio/tests/test_datastore.py +378 -0
- procesio_cli/tools/procesio/tests/test_datastore_node.py +94 -0
- procesio_cli/tools/procesio/tests/test_dispatch.py +170 -0
- procesio_cli/tools/procesio/tests/test_document_page_size.py +19 -0
- procesio_cli/tools/procesio/tests/test_dto.py +734 -0
- procesio_cli/tools/procesio/tests/test_edit_dryrun_preview.py +96 -0
- procesio_cli/tools/procesio/tests/test_elk_layout.py +221 -0
- procesio_cli/tools/procesio/tests/test_environments.py +214 -0
- procesio_cli/tools/procesio/tests/test_fevalidate_gate.py +104 -0
- procesio_cli/tools/procesio/tests/test_fevalidation.py +317 -0
- procesio_cli/tools/procesio/tests/test_fieldpath_variables.py +87 -0
- procesio_cli/tools/procesio/tests/test_files.py +72 -0
- procesio_cli/tools/procesio/tests/test_flow_digest.py +202 -0
- procesio_cli/tools/procesio/tests/test_flowlint.py +114 -0
- procesio_cli/tools/procesio/tests/test_flowmodel.py +158 -0
- procesio_cli/tools/procesio/tests/test_form_add_element.py +256 -0
- procesio_cli/tools/procesio/tests/test_form_approval_gaps.py +319 -0
- procesio_cli/tools/procesio/tests/test_form_auto_names.py +60 -0
- procesio_cli/tools/procesio/tests/test_form_chains.py +217 -0
- procesio_cli/tools/procesio/tests/test_form_code_actions.py +188 -0
- procesio_cli/tools/procesio/tests/test_form_code_keys.py +92 -0
- procesio_cli/tools/procesio/tests/test_form_code_style.py +178 -0
- procesio_cli/tools/procesio/tests/test_form_delete_element.py +99 -0
- procesio_cli/tools/procesio/tests/test_form_element_config.py +141 -0
- procesio_cli/tools/procesio/tests/test_form_event_maps.py +135 -0
- procesio_cli/tools/procesio/tests/test_form_event_ops.py +376 -0
- procesio_cli/tools/procesio/tests/test_form_event_replace.py +86 -0
- procesio_cli/tools/procesio/tests/test_form_events.py +92 -0
- procesio_cli/tools/procesio/tests/test_form_parity.py +171 -0
- procesio_cli/tools/procesio/tests/test_form_select_source.py +74 -0
- procesio_cli/tools/procesio/tests/test_form_sync.py +35 -0
- procesio_cli/tools/procesio/tests/test_form_update.py +133 -0
- procesio_cli/tools/procesio/tests/test_formlint.py +155 -0
- procesio_cli/tools/procesio/tests/test_formlint_css_scope.py +38 -0
- procesio_cli/tools/procesio/tests/test_formlint_field_names.py +83 -0
- procesio_cli/tools/procesio/tests/test_guards.py +110 -0
- procesio_cli/tools/procesio/tests/test_hidden_setting_types.py +39 -0
- procesio_cli/tools/procesio/tests/test_html2docx_asset.py +132 -0
- procesio_cli/tools/procesio/tests/test_key_handle_terminology.py +45 -0
- procesio_cli/tools/procesio/tests/test_layout.py +574 -0
- procesio_cli/tools/procesio/tests/test_layout_report.py +88 -0
- procesio_cli/tools/procesio/tests/test_manifest_sync.py +68 -0
- procesio_cli/tools/procesio/tests/test_nodedelete.py +151 -0
- procesio_cli/tools/procesio/tests/test_nodeparam.py +826 -0
- procesio_cli/tools/procesio/tests/test_normalize.py +70 -0
- procesio_cli/tools/procesio/tests/test_payload_docs.py +86 -0
- procesio_cli/tools/procesio/tests/test_process_action_naming.py +170 -0
- procesio_cli/tools/procesio/tests/test_process_call_api_seed.py +46 -0
- procesio_cli/tools/procesio/tests/test_process_ext.py +373 -0
- procesio_cli/tools/procesio/tests/test_process_invariants.py +183 -0
- procesio_cli/tools/procesio/tests/test_process_layout.py +117 -0
- procesio_cli/tools/procesio/tests/test_process_naming.py +188 -0
- procesio_cli/tools/procesio/tests/test_process_query_store.py +172 -0
- procesio_cli/tools/procesio/tests/test_processinfo_variable.py +56 -0
- procesio_cli/tools/procesio/tests/test_profiles.py +127 -0
- procesio_cli/tools/procesio/tests/test_put_projects.py +41 -0
- procesio_cli/tools/procesio/tests/test_reliability.py +107 -0
- procesio_cli/tools/procesio/tests/test_removal_gate.py +95 -0
- procesio_cli/tools/procesio/tests/test_resource_ops.py +173 -0
- procesio_cli/tools/procesio/tests/test_save_validity.py +207 -0
- procesio_cli/tools/procesio/tests/test_schedule_cron_shape.py +111 -0
- procesio_cli/tools/procesio/tests/test_schedules.py +309 -0
- procesio_cli/tools/procesio/tests/test_sqlconvert.py +234 -0
- procesio_cli/tools/procesio/tests/test_sqlformat.py +83 -0
- procesio_cli/tools/procesio/tests/test_sqlparam.py +187 -0
- procesio_cli/tools/procesio/tests/test_superseded_actions.py +54 -0
- procesio_cli/tools/procesio/tests/test_surgical_concurrency.py +156 -0
- procesio_cli/tools/procesio/tests/test_tier4.py +123 -0
- procesio_cli/tools/procesio/tests/test_transport.py +147 -0
- procesio_cli/tools/procesio/tests/test_transport_data_stores.py +168 -0
- procesio_cli/tools/procesio/tests/test_transport_mapper_repair.py +150 -0
- procesio_cli/tools/procesio/tests/test_transport_webhook_strip.py +253 -0
- procesio_cli/tools/procesio/tests/test_usage_guide.py +96 -0
- procesio_cli/tools/procesio/tool.yaml +12486 -0
- procesio_cli/tools/sqlserver/MOVED-TO-CENTRAL.md +29 -0
- procesio_cli/tools/sqlserver/README.md +192 -0
- procesio_cli/tools/sqlserver/SKILL.md +37 -0
- procesio_cli/tools/sqlserver/SQLSERVER-SCHEMA-NOTES.md +284 -0
- procesio_cli/tools/sqlserver/__init__.py +0 -0
- procesio_cli/tools/sqlserver/connection.py +242 -0
- procesio_cli/tools/sqlserver/main.py +521 -0
- procesio_cli/tools/sqlserver/profiles.template.json +1 -0
- procesio_cli/tools/sqlserver/schema.py +600 -0
- procesio_cli/tools/sqlserver/tests/__init__.py +0 -0
- procesio_cli/tools/sqlserver/tests/conftest.py +21 -0
- procesio_cli/tools/sqlserver/tests/test_connection.py +75 -0
- procesio_cli/tools/sqlserver/tests/test_dbprofiles.py +92 -0
- procesio_cli/tools/sqlserver/tests/test_dbquery.py +220 -0
- procesio_cli/tools/sqlserver/tests/test_manifest_sync.py +68 -0
- procesio_cli/tools/sqlserver/tests/test_sqlserver.py +326 -0
- procesio_cli/tools/sqlserver/tests/test_sqlserver_schema.py +488 -0
- procesio_cli/tools/sqlserver/tool.yaml +123 -0
- procesio_cli/tools/web/README.md +381 -0
- procesio_cli/tools/web/SKILL.md +37 -0
- procesio_cli/tools/web/WEB-AUTOMATION-NOTES.md +277 -0
- procesio_cli/tools/web/__init__.py +21 -0
- procesio_cli/tools/web/actiondef.py +24 -0
- procesio_cli/tools/web/api.py +444 -0
- procesio_cli/tools/web/brokered.py +107 -0
- procesio_cli/tools/web/driver.py +839 -0
- procesio_cli/tools/web/drivercontract.py +44 -0
- procesio_cli/tools/web/errors.py +54 -0
- procesio_cli/tools/web/handlers/__init__.py +1 -0
- procesio_cli/tools/web/handlers/archive.py +367 -0
- procesio_cli/tools/web/handlers/browse.py +182 -0
- procesio_cli/tools/web/handlers/contacts.py +74 -0
- procesio_cli/tools/web/handlers/sessmgmt.py +120 -0
- procesio_cli/tools/web/main.py +128 -0
- procesio_cli/tools/web/sessions.py +253 -0
- procesio_cli/tools/web/steps.py +162 -0
- procesio_cli/tools/web/tests/__init__.py +0 -0
- procesio_cli/tools/web/tests/conftest.py +197 -0
- procesio_cli/tools/web/tests/test_api.py +330 -0
- procesio_cli/tools/web/tests/test_archive.py +190 -0
- procesio_cli/tools/web/tests/test_brokered.py +138 -0
- procesio_cli/tools/web/tests/test_dispatch.py +132 -0
- procesio_cli/tools/web/tests/test_errors.py +60 -0
- procesio_cli/tools/web/tests/test_manifest_sync.py +76 -0
- procesio_cli/tools/web/tests/test_page_contacts.py +68 -0
- procesio_cli/tools/web/tests/test_sessions.py +145 -0
- procesio_cli/tools/web/tests/test_steps.py +210 -0
- procesio_cli/tools/web/tool.yaml +184 -0
- procesio_cli/tools/xlsx/README.md +34 -0
- procesio_cli/tools/xlsx/SKILL.md +28 -0
- procesio_cli/tools/xlsx/__init__.py +0 -0
- procesio_cli/tools/xlsx/main.py +129 -0
- procesio_cli/tools/xlsx/reader.py +91 -0
- procesio_cli/tools/xlsx/tests/__init__.py +0 -0
- procesio_cli/tools/xlsx/tests/conftest.py +39 -0
- procesio_cli/tools/xlsx/tests/test_xlsx.py +103 -0
- procesio_cli/tools/xlsx/tool.yaml +30 -0
- procesio_cli/webplatform/aat_mcp/AAT-MCP-NOTES.md +244 -0
- procesio_cli/webplatform/aat_mcp/README.md +78 -0
- procesio_cli/webplatform/aat_mcp/bridge.py +705 -0
- procesio_cli/webplatform/aat_mcp/chat_server.py +194 -0
- procesio_cli/webplatform/aat_mcp/chat_surface.snapshot.json +668 -0
- procesio_cli/webplatform/aat_mcp/chat_surface.yaml +372 -0
- procesio_cli/webplatform/aat_mcp/gate.py +68 -0
- procesio_cli/webplatform/aat_mcp/http_server.py +139 -0
- procesio_cli/webplatform/aat_mcp/protocol.py +175 -0
- procesio_cli/webplatform/aat_mcp/server.py +306 -0
- procesio_cli/webplatform/aat_mcp/tests/conftest.py +8 -0
- procesio_cli/webplatform/aat_mcp/tests/test_aat_mcp.py +255 -0
- procesio_cli/webplatform/aat_mcp/tests/test_chat_surface.py +247 -0
- procesio_cli/webplatform/aat_mcp/tests/test_discovery.py +489 -0
- procesio_cli/webplatform/aat_mcp/tests/test_multiuser.py +86 -0
- procesio_cli/webplatform/aat_mcp/tests/test_progressive_discovery.py +89 -0
- procesio_cli/webplatform/aat_mcp/tests/test_protocol.py +180 -0
- procesio_cli/webplatform/aat_mcp/tests/test_skill_discovery.py +23 -0
- procesio_cli-0.1.1.dist-info/METADATA +467 -0
- procesio_cli-0.1.1.dist-info/RECORD +647 -0
- procesio_cli-0.1.1.dist-info/WHEEL +4 -0
- procesio_cli-0.1.1.dist-info/entry_points.txt +7 -0
- procesio_cli-0.1.1.dist-info/licenses/LICENSE +201 -0
- procesio_cli-0.1.1.dist-info/licenses/NOTICE +5 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Working across PROCESIO environments
|
|
2
|
+
|
|
3
|
+
PROCESIO runs as separate installations — production, QA, dev, and each client's own
|
|
4
|
+
PROD/QA/STAGING. This tool calls each one an **environment**, named `<Client>-<ENV>`
|
|
5
|
+
(e.g. `Internal-PROD`, `Internal-QA`, `Internal-DEV`, `Delgaz-PROD`, `Delgaz-DEVQA`).
|
|
6
|
+
Each environment has its own host URLs and its own credentials — there is no data path
|
|
7
|
+
between them.
|
|
8
|
+
|
|
9
|
+
## When the user says "work on PROCESIO Internal-QA" (or DEV, or a client env)
|
|
10
|
+
|
|
11
|
+
That is a **switch the default environment** request. Do:
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
run-tool procesio set-environment --name Internal-QA
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
From then on every process/form/instance action runs against that environment and uses
|
|
18
|
+
the credential bound to it — until the user switches again. Confirm what happened by
|
|
19
|
+
reading the result's `default_environment`, `web_base`, and `credentials`. If
|
|
20
|
+
`credentials` is empty, tell the user no account is bound there yet and how to add one
|
|
21
|
+
(below) — do not silently fall back to another environment.
|
|
22
|
+
|
|
23
|
+
For a **one-off** call against a different environment without moving the default, pass
|
|
24
|
+
`--environment <name>` on that single action.
|
|
25
|
+
|
|
26
|
+
## The built-in environments (zero setup)
|
|
27
|
+
|
|
28
|
+
`Internal-PROD`, `Internal-QA`, `Internal-DEV` always exist for everyone. Production is
|
|
29
|
+
the default until someone switches. Client environments are added at runtime.
|
|
30
|
+
|
|
31
|
+
## Adding a client environment
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
run-tool procesio add-environment --name Delgaz-PROD \
|
|
35
|
+
--web-base https://webapi.<host> --app-base https://<host> --forms-base https://forms.<host>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
`client`/`env` are derived from the `<Client>-<ENV>` name. Then bind that client's
|
|
39
|
+
account to it:
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
run-tool procesio add-credential --name delgaz-me --type userpass \
|
|
43
|
+
--username <…> --environment Delgaz-PROD
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
(Entering the secret itself is the user's action — never take a password on the command
|
|
47
|
+
line for them; the tool prompts without echoing, or the user stores it via the
|
|
48
|
+
dashboard / `set-credential`.)
|
|
49
|
+
|
|
50
|
+
## What you can rely on
|
|
51
|
+
|
|
52
|
+
- **Nothing to migrate.** An existing credential with no environment binding is treated
|
|
53
|
+
as `Internal-PROD` (production URLs, unchanged). Colleagues keep working with no
|
|
54
|
+
action from them.
|
|
55
|
+
- **Credentials are tied to environments.** Switching environment switches the account
|
|
56
|
+
too, as long as exactly one credential is bound there; otherwise pass `--profile`.
|
|
57
|
+
- **Read before you switch for someone else.** `list-environments` shows every
|
|
58
|
+
environment, the current default, and which credentials are bound where — use it to
|
|
59
|
+
answer "what environments do I have / which am I on".
|
|
60
|
+
|
|
61
|
+
Mechanics, the registry-file location, and resolution precedence are documented tool-side
|
|
62
|
+
in `tools/procesio/PROCESIO-ENVIRONMENTS-NOTES.md`.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# PROCESIO Scheduling — run a process unattended
|
|
2
|
+
|
|
3
|
+
A **schedule** runs a process on a recurrence without a caller. Manage them with the
|
|
4
|
+
tool's curated actions (`procesio list-schedules` / `get-schedule` / `create-schedule` /
|
|
5
|
+
`update-schedule` / `delete-schedule` / `set-schedule-status` / the notifications pair /
|
|
6
|
+
`list-project-schedules`) over `/api/Schedules*` — not the untyped `request`.
|
|
7
|
+
|
|
8
|
+
## Recurrence types
|
|
9
|
+
|
|
10
|
+
`RecurrenceTypes`: `NONE=0, ONCE=1, MINUTES=2, HOURS=3, DAILY=4, WEEKLY=5, MONTHLY=6,
|
|
11
|
+
YEARLY=7, CRON=8`. The recurrence lives in the schedule body's nested `recurrence` block
|
|
12
|
+
(`recurrence` = the type enum, plus the type-specific fields).
|
|
13
|
+
|
|
14
|
+
## Crontab schedules (the new capability)
|
|
15
|
+
|
|
16
|
+
Type **`CRON = 8`** lets you express the recurrence as a standard **5-field crontab**
|
|
17
|
+
(`minute hour day month weekday`, `L`/`W`/`#` tokens supported) with an IANA
|
|
18
|
+
**time zone**.
|
|
19
|
+
|
|
20
|
+
- **Preview before you commit:** `procesio validate-crontab --cron "0 6 * * *" --timezone
|
|
21
|
+
Europe/Bucharest [--count N]` calls `POST /api/Schedules/validate-crontab` and returns
|
|
22
|
+
a human description + the next occurrences (in UTC). Always preview a cron string this
|
|
23
|
+
way before creating the schedule — it catches an inverted field order or a timezone
|
|
24
|
+
mistake without creating a live schedule.
|
|
25
|
+
- **Set it:** `create-schedule` / `update-schedule` accept `--cron` + `--timezone`, which
|
|
26
|
+
set the recurrence to CRON (type 8) over the JSON `--payload` (name, target process,
|
|
27
|
+
process inputs, notifications). The raw `--payload` remains the authoritative path.
|
|
28
|
+
|
|
29
|
+
## Gotchas (carried from live runs)
|
|
30
|
+
|
|
31
|
+
- **The write body must mirror the read DTO closely.** A hand-simplified recurrence block
|
|
32
|
+
returns HTTP 400 "missing or incorrect resource parameters". When unsure of a
|
|
33
|
+
non-cron recurrence, `get-schedule` an existing one and adapt its exact shape rather
|
|
34
|
+
than build from scratch.
|
|
35
|
+
- **`status:false` is ignored on create** — a schedule is created active. To land a
|
|
36
|
+
disabled schedule, create then `set-schedule-status --active false` (two steps).
|
|
37
|
+
- **`notification.emailList` is a single comma/semicolon-separated string**, not a list.
|
|
38
|
+
- The exact camelCase field names of the cron recurrence block are confirmed against the
|
|
39
|
+
launched platform — verify a created cron schedule with `get-schedule` before relying
|
|
40
|
+
on it in production.
|
|
41
|
+
|
|
42
|
+
## Verify
|
|
43
|
+
|
|
44
|
+
`validate-crontab` to confirm the occurrences, then `create-schedule`, then
|
|
45
|
+
`get-schedule` to confirm the stored recurrence, then (optionally) let it fire once or
|
|
46
|
+
trigger the target process directly to confirm it runs. Clean up test schedules
|
|
47
|
+
(`delete-schedule`) — a stray active schedule keeps launching instances.
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
# PROCESIO visual organization & build patterns (agent guidance)
|
|
2
|
+
|
|
3
|
+
How to lay out a process so a human can read it, and the build patterns that recur in
|
|
4
|
+
production. Agent-scoped: these are standards a build should meet, not tool mechanics.
|
|
5
|
+
The DTO shapes behind every claim are in `tools/procesio/PROCESIO-RESOURCE-MODEL-NOTES.md`;
|
|
6
|
+
the deterministic re-layout tool is specced in `todo/procesio-canvas-layout-tool.md`.
|
|
7
|
+
Additive to [PROCESIO-BEST-PRACTICES.md](PROCESIO-BEST-PRACTICES.md) (§2 modularize,
|
|
8
|
+
§10 speed) — it does not replace anything there.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## 1. Why layout matters
|
|
13
|
+
|
|
14
|
+
A process is read far more often than it is built — by the next builder, by QA, by the
|
|
15
|
+
person debugging a 2am failure. A tangled canvas hides the logic; a tidy one shows it.
|
|
16
|
+
Layout is not cosmetic, it is part of "document & handover" (best-practices §7). The
|
|
17
|
+
target: someone with no prior context can follow the flow left-to-right and see where it
|
|
18
|
+
branches, loops, and stops.
|
|
19
|
+
|
|
20
|
+
## 2. Layout rules (what "tidy" means on a PROCESIO canvas)
|
|
21
|
+
|
|
22
|
+
The canvas model: a node's shape is set by its action (inherited, never changed when you
|
|
23
|
+
place it); edges are `Ports` (`Type 0` normal, `Type 1` error); a `Decisional` fans out
|
|
24
|
+
any number of branches that need not re-merge; the only container is the `For Each` loop
|
|
25
|
+
frame, whose children sit *inside* it via `ParentId`. Given that, the rules:
|
|
26
|
+
|
|
27
|
+
1. **Flow left-to-right.** `Start` on the left, `Stop`(s) on the right. Depth from Start
|
|
28
|
+
sets the column. Time reads as horizontal distance.
|
|
29
|
+
2. **One column per dependency level.** All actions at the same distance from Start share
|
|
30
|
+
a vertical axis. Never stack unrelated actions in the same column.
|
|
31
|
+
3. **Center children on their parent.** A node with several successors sits at the
|
|
32
|
+
vertical center of that group (tidy-tree rule). Branches of a Decisional spread
|
|
33
|
+
symmetrically around the diamond.
|
|
34
|
+
4. **No overlaps, consistent gaps.** Equal horizontal gap between columns; minimum
|
|
35
|
+
vertical gap between siblings. When a deeper level grows, push siblings apart — never
|
|
36
|
+
let boxes collide.
|
|
37
|
+
5. **Lay out the For Each frame recursively.** Place a `For Each`'s children first, size
|
|
38
|
+
the frame to fit them, then place the frame as one node at its level.
|
|
39
|
+
6. **Error ports go down-and-out.** `Type 1` (error) edges route to a handler placed
|
|
40
|
+
below the main lane, so the happy path stays a clean horizontal line.
|
|
41
|
+
7. **Re-converge only where paths should reunite.** A Decisional's branches may end at
|
|
42
|
+
their own `Stop` or merge at a `Join` — don't force a Join where branches are genuinely
|
|
43
|
+
independent. Where they do reunite, make the `Join` visible so the reader sees it.
|
|
44
|
+
8. **Deterministic order.** Same graph → same layout. Order siblings by descendant-count
|
|
45
|
+
then id, so re-running layout doesn't reshuffle the diagram.
|
|
46
|
+
|
|
47
|
+
This is the Reingold-Tilford "tidy tree with contours" idea applied to a DAG: layer by
|
|
48
|
+
depth, pack each column without overlap using subtree contours, center on the parent.
|
|
49
|
+
The same algorithm, run on the **process→process** graph (`Call Subprocess` /
|
|
50
|
+
`Trigger Subprocess` targets) instead of the in-flow graph, produces the **Resource Map**
|
|
51
|
+
(left = who calls this process, right = what it calls). The layout tool will do both.
|
|
52
|
+
|
|
53
|
+
## 3. The For Each container
|
|
54
|
+
|
|
55
|
+
The only container the Process Designer supports today is the `For Each` loop frame (an
|
|
56
|
+
`area`). Keep its body small and self-contained — everything inside runs once per item,
|
|
57
|
+
so cost multiplies (best-practices §10). **A `For Each` cannot contain another `For
|
|
58
|
+
Each`.** To nest a loop, put a `Call Subprocess` (or `Trigger Subprocess`) inside the
|
|
59
|
+
`For Each` and place the inner loop in that subprocess — that also keeps each loop body
|
|
60
|
+
flat and independently testable. (Free-form grouping areas are not yet supported by the
|
|
61
|
+
designer; don't rely on them.)
|
|
62
|
+
|
|
63
|
+
## 4. Build patterns to reach for
|
|
64
|
+
|
|
65
|
+
The actions that carry most real systems, and the shapes they form:
|
|
66
|
+
|
|
67
|
+
- **Modular by subprocess.** Real systems are a thin main process orchestrating small
|
|
68
|
+
reusable subprocesses (auth, paging, upsert, notify), exactly as best-practices §2/§3
|
|
69
|
+
prescribe. Synchronous `Call Subprocess` when you need the result; async
|
|
70
|
+
`Trigger Subprocess` to fire-and-forget.
|
|
71
|
+
- **Branch then (maybe) join.** `Decisional` + `Join` is the standard control shape:
|
|
72
|
+
decide, run the branch-specific work, optionally re-merge. Keep decisionals single where
|
|
73
|
+
you can — five chained decisionals (~2s) collapse to one (<200ms) (best-practices §10).
|
|
74
|
+
- **Model JSON, don't chain extractors.** `Extract Objects/List/Object/Text` exist, but
|
|
75
|
+
the fast path is a typed Data Model read directly (best-practices §10). Reserve the
|
|
76
|
+
extract family for genuinely dynamic shapes.
|
|
77
|
+
- **Script to do more per node.** A `Node` script often replaces a chain of primitives
|
|
78
|
+
(and `Node` returns raw, typed output; `Javascript` wraps `{result}` — see API notes).
|
|
79
|
+
Fewer nodes = faster + more readable.
|
|
80
|
+
- **Throw on purpose.** `Throw` raises a controlled error into the error port — use it to
|
|
81
|
+
fail loudly on a business-rule violation instead of letting bad data flow on.
|
|
82
|
+
- **Centralize SQL through credentials.** `Execute Query`/`Execute Command` bind a
|
|
83
|
+
credential by gid (never inline secrets). Apply the `sql-server-optimizer` skill.
|
|
84
|
+
|
|
85
|
+
## 5. Forms: design for the user, route approvals cleanly
|
|
86
|
+
|
|
87
|
+
(DTO detail in the resource-model note; here the standards.)
|
|
88
|
+
|
|
89
|
+
- **Calls to processes are the expensive part of a form.** A control's `RUN_PROCESS`
|
|
90
|
+
event should call a process of 1-3 actions, optimized for speed (best-practices §9).
|
|
91
|
+
Prefer `syncRun:false` + a scoped loader for anything that might exceed 1s; fill the
|
|
92
|
+
result back via `outputMap`. Drive option lists from a static `sourceType:JSON` where
|
|
93
|
+
the data is fixed — don't call a process to fetch constants.
|
|
94
|
+
- **Approval = assign + show + capture + branch.** Put an `approval` control with a named
|
|
95
|
+
`approver` (and `approverReplacement` fallbacks) on a task form (`Assignees` set). Show
|
|
96
|
+
approver-only fields with `visibility:{type:"task-assignees"}`. The control captures
|
|
97
|
+
`approved` + `comment` + `responseUser` + `responseDate`; branch the downstream process
|
|
98
|
+
on `approved`. For sequential sign-offs use multi-step `approvalSteps`. Keep the
|
|
99
|
+
approver's screen minimal — they decide, they don't re-enter data.
|
|
100
|
+
- **Compose apps with `chainConfig`.** Several forms tied into one columnar dashboard is
|
|
101
|
+
the "App" pattern — use it for an operator landing page that links to sub-forms, rather
|
|
102
|
+
than one giant form.
|
|
103
|
+
- **Style via theme variables, not hacks.** Set the `--c-*` theme variables; reserve
|
|
104
|
+
`Data.code` (encrypted) for genuine custom CSS/JS, and run form JS against
|
|
105
|
+
`window.parent.document` inside the sandbox iframe.
|
|
106
|
+
- **Dark theme + per-mode palettes.** A form now carries a light AND a dark palette
|
|
107
|
+
(the 16-var `DARK_PALETTE`), swapped at runtime by `themeMode`. Opt in via the form
|
|
108
|
+
config (`themeMode` / `themeDark` overrides); don't fake dark mode with custom CSS.
|
|
109
|
+
- **Element alignment.** Container elements (section, list-item, column, step, tab,
|
|
110
|
+
side-panel) accept three flex vars in their per-control style — `--fd-<scope>`
|
|
111
|
+
(direction), `--jc-<scope>` (main axis), `--ai-<scope>` (cross axis). Use them to lay
|
|
112
|
+
out contents instead of custom CSS.
|
|
113
|
+
- **Trigger a Data Store operation like a process.** Besides `RUN_PROCESS`, a control can
|
|
114
|
+
raise `RUN_DATA_STORE_OPERATION` (READ/ADD/UPDATE/DELETE) straight against a data store,
|
|
115
|
+
with input/output maps and (for every op except ADD) filters. Reach for it when the
|
|
116
|
+
form just needs to read or write a tenant table without authoring a process. See the
|
|
117
|
+
`datastore` topic.
|
|
118
|
+
|
|
119
|
+
## 6. Shapes in the Process Designer (decorative, execution-irrelevant)
|
|
120
|
+
|
|
121
|
+
Cuore's **Shapes** (rectangle / ellipse / diamond, PRC-4391) are annotation objects on
|
|
122
|
+
the canvas — they group and label a region and never affect execution. They persist
|
|
123
|
+
under the flow's opaque `canvasData.shapes` blob (not a top-level field) and sit in a
|
|
124
|
+
z-order band **below** the connectors. Two rules for the agent: **never reason about a
|
|
125
|
+
shape as a node** (it has no ports, no config, no run behavior), and **never let an edit
|
|
126
|
+
or a re-layout drop `canvasData`** — the tool's `process-edit` carries the live canvas
|
|
127
|
+
through, and the layout engine leaves `canvasData` byte-identical; preserve that when
|
|
128
|
+
touching a flow by hand.
|
|
129
|
+
|
|
130
|
+
## 6. When you build or re-organize a process
|
|
131
|
+
|
|
132
|
+
- After building programmatically, the node positions the builder emits are functional
|
|
133
|
+
but not tidy. Run the layout tool to make the diagram readable before handover —
|
|
134
|
+
deterministic, so it won't fight a future edit:
|
|
135
|
+
`python scripts/run-tool.py procesio layout-flow --in <export.procesio> --out <tidy.procesio>`
|
|
136
|
+
(changes only positions; re-imports cleanly). `inspect-flow` gives a structural summary
|
|
137
|
+
(counts, families, branches, smells); `read-flow-graph` gives the raw node/edge model.
|
|
138
|
+
- Until then, if you place nodes by hand, follow §2: left-to-right by level, center
|
|
139
|
+
children, error ports below, and a `Join` only where branches truly reunite.
|
|
140
|
+
- Verify the diagram communicates: open it and check a stranger could narrate the flow.
|
|
141
|
+
That check is part of "done" (playbook §C/§E spirit — verified behavior + handover).
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
## Layout engine upgrade 2026-07-05 (brief: "fix the tool so it layouts right")
|
|
145
|
+
|
|
146
|
+
Four engine changes in `tools/procesio/layout/engine.py` (all covered by the existing test suite):
|
|
147
|
+
1. **Error-region detection stops AT error targets**: main-flow reach may point INTO an error-port
|
|
148
|
+
target (e.g. a script-gate's normal case edge into the shared error Join) but never THROUGH it.
|
|
149
|
+
Before, one normal edge into the sink pulled the whole notify subtree into the main graph.
|
|
150
|
+
2. **ALAP layer pull with branch-head anchoring**: single-successor chains get pulled RIGHT adjacent
|
|
151
|
+
to their join (kills 8-layer join edges), but a branch HEAD (predecessor fans out) keeps its ASAP
|
|
152
|
+
layer so it stays next to its decisional.
|
|
153
|
+
3. **Error components anchor independently, laid VERTICALLY**: each weakly-connected component of the
|
|
154
|
+
error region becomes a vertical rail below the canvas, anchored at the median x of ITS OWN feeders.
|
|
155
|
+
Vertical rails cannot cross the horizontal main flow.
|
|
156
|
+
4. **MINIMIZE_CROSSINGS defaults ON** (strictly better in every measurement).
|
|
157
|
+
|
|
158
|
+
FLOW-side pattern that finishes the job: with feeders spread across a wide canvas, a SINGLE shared
|
|
159
|
+
error Join forces ~feeder-span-length edges (geometry, not layout). Split into ONE ERROR RAIL PER
|
|
160
|
+
CANVAS REGION (Networky v2: rails A/left/right - Join+Compose+notice+Stop each, cloned). Result on
|
|
161
|
+
the 78-node v2: crossings 10 -> 0 (proper-intersection; report's endpoint-touch counter: 2),
|
|
162
|
+
max edge 3729 -> ~1500, all four Networky flows re-laid clean.
|
|
163
|
+
LEGACY engine remains the default (ELK is opt-in backup via LAYOUT_ENGINE=elk).
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
### Layout round 2 (same day, after the designer re-review)
|
|
167
|
+
5. **At most ONE folded dead-end chain per branch node** (`_deadend_chains` cap): several chains
|
|
168
|
+
folding onto the same column stacked into overlapping piles (the AI Router 5-way fan). The
|
|
169
|
+
shortest chain folds; the rest lay out normally. Result incl. label-aware collision check:
|
|
170
|
+
v2 = 0 crossings, 0 label collisions; ALL FOUR flows 0/0 by layout-report.
|
|
171
|
+
6. **Designer code sync for authored Nodes**: when creating a Node via API, the customData Code
|
|
172
|
+
setting must hold the GUID-reference form (variableId[.attributeId]), NOT the runtime `<%N%>`
|
|
173
|
+
form — the designer renders `<%N%>` literally and the variable picker breaks. Convert with
|
|
174
|
+
the param's variable map (flowpatch `_config_value_from_param` pattern). Synced on 9 authored
|
|
175
|
+
Nodes across v2/HCT/SendExport/PEC.
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# PROCESIO agent - knowledge base (staged)
|
|
2
|
+
|
|
3
|
+
**Status:** runtime built (v0.1.0). Registered agent, JSON in / JSON out, driven
|
|
4
|
+
by `python scripts/run-agent.py procesio <action>`. This folder is both the agent's
|
|
5
|
+
knowledge base (the docs below) and its code. It is the home for everything the
|
|
6
|
+
PROCESIO agent needs to create use cases, edit resources, improve implementations,
|
|
7
|
+
and handle formatting/styling in PROCESIO using the registered tools.
|
|
8
|
+
|
|
9
|
+
## Actions
|
|
10
|
+
|
|
11
|
+
| Action | What it does |
|
|
12
|
+
|---|---|
|
|
13
|
+
| `status` | Agent + driven-tool readiness. |
|
|
14
|
+
| `guidance` | Serve the playbook / best-practices / boundary docs from one place. `--topic`. |
|
|
15
|
+
| `checklist` | Emit the rigorous self-test checklist as structured steps. `--phase`, `--automatable-only`. |
|
|
16
|
+
| `verify` | The enforcement gate against a live process: validate, designer-vs-runtime parity audit, and (with `--run`) run + read the real instance status. Lists the manual checks it cannot run. `--process-id`, `--profile`, `--workspace-id`. |
|
|
17
|
+
| `audit` | Static best-practice + correctness audit of a process (action count, slow actions, error handling, inline secrets, parity). `--process-id`, `--profile`, `--workspace-id`. |
|
|
18
|
+
|
|
19
|
+
`verify` and `audit` are the executable side of the playbook: they turn the
|
|
20
|
+
prose discipline into a gate. `verify` exits with a `verdict` of pass/warn/fail
|
|
21
|
+
and always returns `manual_checks` (forms in a real browser, webhooks, E2E) so the
|
|
22
|
+
human/LLM steps cannot be silently skipped.
|
|
23
|
+
|
|
24
|
+
**Pass `--workspace-id` for any process outside the profile's default workspace.**
|
|
25
|
+
A session is scoped to one workspace, so without the flag the platform answers
|
|
26
|
+
`User is not authorized for the requested resource` even though the credential is
|
|
27
|
+
valid and the process id is right - it reads like a permission problem, not a
|
|
28
|
+
scoping one. Both actions forward the credential scope (profile + workspace) to
|
|
29
|
+
every inner tool call via `verifylib.scope_args`; any new inner call must splat
|
|
30
|
+
the same list, or it will fail on the second hop while the first one succeeded.
|
|
31
|
+
|
|
32
|
+
## The boundary - agent notes vs tool notes (read first)
|
|
33
|
+
|
|
34
|
+
Two kinds of knowledge, two homes. Keep them apart on purpose.
|
|
35
|
+
|
|
36
|
+
- **AGENT notes (here, `agents/procesio/`)** - how to BUILD WELL and how to BEHAVE:
|
|
37
|
+
methodology, the build-and-test loop, best practices, which skills to use, the
|
|
38
|
+
quality bar. Audience: the agent doing the work.
|
|
39
|
+
- **TOOL notes (stay in `tools/<tool>/`)** - how the tools work and WHY they work
|
|
40
|
+
that way: API mechanics, DTO shapes, auth, builder internals, platform gotchas.
|
|
41
|
+
Audience: whoever maintains or improves the tools. Keeping these with the tools
|
|
42
|
+
means when we change a tool the reasoning is right there, so we do not repeat a
|
|
43
|
+
mistake we already solved.
|
|
44
|
+
|
|
45
|
+
**Routing rule for any new learning (Hard rule 6, compounding):**
|
|
46
|
+
- About a TOOL, the PLATFORM API, a DTO quirk, or builder behavior -> the tool
|
|
47
|
+
folder (`tools/procesio/*-NOTES.md`, or the relevant tool, e.g. `tools/web/`).
|
|
48
|
+
- About METHODOLOGY or how to build well -> here.
|
|
49
|
+
- A cross-cutting standing preference -> user memory (`memory/MEMORY.md` + a file).
|
|
50
|
+
- Never let a discovery live only in a chat.
|
|
51
|
+
|
|
52
|
+
## Contents
|
|
53
|
+
|
|
54
|
+
- **PROCESIO-BUILD-AND-TEST-PLAYBOOK.md** - the operating procedure. The loop the
|
|
55
|
+
agent runs on every build/edit: frame -> design -> build -> rigorous self-test ->
|
|
56
|
+
capture learnings -> fix bugs/inefficiency/UX -> re-verify -> document. Includes
|
|
57
|
+
the self-test checklist (validate, run instances, forms render + behavior in a
|
|
58
|
+
real browser, webhooks, end-to-end) and the skills-to-use map.
|
|
59
|
+
- **PROCESIO-BEST-PRACTICES.md** - distilled platform best practices (framing,
|
|
60
|
+
design, integrations, robustness, observability, SQL actions, forms UX, optimize
|
|
61
|
+
for speed). Source: the "Best practices for implementing with PROCESIO" doc.
|
|
62
|
+
|
|
63
|
+
- **IMPLEMENTATION-PATTERNS/** - the house style: how this team actually builds processes, forms,
|
|
64
|
+
integrations and SQL for PROCESIO, distilled (client data stripped) from a full workspace audit.
|
|
65
|
+
Served as `guidance --topic patterns` (index) + `patterns-processes|forms|integrations|database`.
|
|
66
|
+
The index also defines where per-workspace knowledge lives (user data, never here).
|
|
67
|
+
|
|
68
|
+
## Tool notes this agent relies on (in `tools/procesio/`)
|
|
69
|
+
|
|
70
|
+
- `PHASE4-E2E-NOTES.md` - end-to-end build/test rounds; the verified mechanics for
|
|
71
|
+
validating, running instances, form data-model + trigger behavior, document and
|
|
72
|
+
webhook gotchas. The empirical backbone the playbook checklist points at.
|
|
73
|
+
- `PROCESIO-API-NOTES.md` - API behaviors not obvious from Swagger.
|
|
74
|
+
- `PROCESIO-AUTH-NOTES.md` - auth modes, workspace scoping.
|
|
75
|
+
- `DTO-SUBTOOLS-NOTE.md` - the resource-builder sub-tools contract.
|
|
76
|
+
- `PROCESIO-SEND-EMAIL-NOTES.md` - Send Email action node (attachment + recipient).
|
|
77
|
+
|
|
78
|
+
## Layout
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
agent.yaml manifest (actions/args/tools/routing)
|
|
82
|
+
main.py action dispatch (JSON in/out)
|
|
83
|
+
context.py stateless tool-invoker context
|
|
84
|
+
knowledge.py loads the KB docs for `guidance`
|
|
85
|
+
checklist.py the self-test checklist (single source)
|
|
86
|
+
audit.py static auditor (correctness + practice); ci() case helper
|
|
87
|
+
verifylib.py the verify gate logic
|
|
88
|
+
handlers/ one file per action
|
|
89
|
+
tests/ manifest-sync guard + unit tests (31, all faked - no live calls)
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Next slices
|
|
93
|
+
|
|
94
|
+
- Wire `web` (real-browser form render + behavior) and `google-*` (deliverables)
|
|
95
|
+
into actions, so the manual checklist steps become agent-driven where possible.
|
|
96
|
+
- A `build` / `edit` action surface over the procesio DTO sub-tools, with `verify`
|
|
97
|
+
run automatically after every build.
|
|
File without changes
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
name: procesio
|
|
2
|
+
description: >-
|
|
3
|
+
PROCESIO build-and-test agent. Knows how to create use cases, edit resources,
|
|
4
|
+
and improve implementations on the PROCESIO platform, and enforces the
|
|
5
|
+
build-and-test discipline: it serves the operating playbook + best practices,
|
|
6
|
+
emits the rigorous self-test checklist, runs an automatable verify gate against
|
|
7
|
+
a live process (validate, designer-vs-runtime parity, run + read instance
|
|
8
|
+
status), and statically audits a process for inefficiency / UX / robustness
|
|
9
|
+
smells. Methodology lives in this folder; tool mechanics stay in tools/procesio/.
|
|
10
|
+
version: 0.1.0
|
|
11
|
+
runtime: python
|
|
12
|
+
entrypoint: main.py
|
|
13
|
+
|
|
14
|
+
# Tools this agent DRIVES programmatically (registry-resolved, never hardcoded at
|
|
15
|
+
# call sites). Only procesio today - that is what verify/audit/run actually invoke.
|
|
16
|
+
# The agent also KNOWS web (real-browser form testing) and google-* (deliverables)
|
|
17
|
+
# through the served playbook, but they are NOT listed here until an action drives
|
|
18
|
+
# them: the registry derives agent readiness from this list, so naming an unused
|
|
19
|
+
# tool would make `status` report the agent blocked on secrets it never needs.
|
|
20
|
+
tools:
|
|
21
|
+
- procesio
|
|
22
|
+
|
|
23
|
+
routing:
|
|
24
|
+
triggers:
|
|
25
|
+
- build a procesio use case
|
|
26
|
+
- test / verify a procesio process or resource
|
|
27
|
+
- audit a procesio process for best practices
|
|
28
|
+
- how should I build / test in procesio
|
|
29
|
+
- improve a procesio implementation
|
|
30
|
+
primary_action: verify
|
|
31
|
+
example: >-
|
|
32
|
+
procesio verify --process-id <id> (audit: procesio audit --process-id <id>;
|
|
33
|
+
guidance: procesio guidance; checklist: procesio checklist)
|
|
34
|
+
|
|
35
|
+
actions:
|
|
36
|
+
- name: status
|
|
37
|
+
description: Report agent + driven-tool readiness (presence + secrets).
|
|
38
|
+
- name: guidance
|
|
39
|
+
description: >-
|
|
40
|
+
Serve the build-and-test playbook + best practices (the agent's knowledge
|
|
41
|
+
base) from one place. Building a FORM is a separate discipline: start at
|
|
42
|
+
topic=forms (the index) and load the one chapter you need - the form
|
|
43
|
+
chapters are deliberately NOT in topic=all, because the guide is ~100 KB.
|
|
44
|
+
args:
|
|
45
|
+
- {name: topic, type: string, default: all, description: "processes: playbook | best-practices | visual-organization | datastore | scheduling | environments | reliability | boundary | all. forms: forms (index, start here) | forms-anatomy (elements + the field VALUE PATH) | forms-process (RUN_PROCESS event, inputMap/outputMap row shape) | forms-interaction | forms-code | forms-dom | forms-motion | forms-deploy | forms-pitfalls. house style (how we build, from a workspace audit): patterns (index, start here) | patterns-processes | patterns-forms | patterns-integrations | patterns-database"}
|
|
46
|
+
- name: checklist
|
|
47
|
+
description: Emit the rigorous self-test checklist as structured steps.
|
|
48
|
+
args:
|
|
49
|
+
- {name: phase, type: string, description: "filter to one phase: validate | run | forms | webhooks | e2e"}
|
|
50
|
+
- {name: automatable-only, type: boolean, default: false, description: only steps the verify gate can run}
|
|
51
|
+
- name: verify
|
|
52
|
+
description: >-
|
|
53
|
+
Run the automatable self-test gate against a process: validate, config-parity
|
|
54
|
+
audit, and with --run execute it and read the real instance status. Lists the
|
|
55
|
+
manual checks it cannot run.
|
|
56
|
+
args:
|
|
57
|
+
- {name: process-id, type: string, required: true, description: process (project) id to verify}
|
|
58
|
+
- {name: run, type: boolean, default: false, description: actually run the process and read instance status}
|
|
59
|
+
- {name: payload, type: string, description: input variables as a JSON object (with --run)}
|
|
60
|
+
- {name: timeout, type: integer, description: secondsTimeOut for the synchronous run}
|
|
61
|
+
- {name: profile, type: string, description: procesio credential profile to use}
|
|
62
|
+
- {name: workspace-id, type: string, description: "workspace GUID the process lives in (required whenever it is not the profile's default workspace)"}
|
|
63
|
+
- name: audit
|
|
64
|
+
description: >-
|
|
65
|
+
Static best-practice + correctness audit of a process (action count, slow
|
|
66
|
+
actions, error handling, inline secrets, designer-vs-runtime parity).
|
|
67
|
+
args:
|
|
68
|
+
- {name: process-id, type: string, required: true, description: process (project) id to audit}
|
|
69
|
+
- {name: profile, type: string, description: procesio credential profile to use}
|
|
70
|
+
- {name: workspace-id, type: string, description: "workspace GUID the process lives in (required whenever it is not the profile's default workspace)"}
|
|
71
|
+
|
|
72
|
+
# No own secret: readiness comes from the tools it drives (see `procesio` tool).
|
|
73
|
+
secrets: []
|