procesio-cli 0.1.1__tar.gz
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-0.1.1/.claude-plugin/marketplace.json +15 -0
- procesio_cli-0.1.1/.gitattributes +11 -0
- procesio_cli-0.1.1/.github/CODEOWNERS +7 -0
- procesio_cli-0.1.1/.github/ISSUE_TEMPLATE/bug_report.yml +74 -0
- procesio_cli-0.1.1/.github/ISSUE_TEMPLATE/config.yml +11 -0
- procesio_cli-0.1.1/.github/ISSUE_TEMPLATE/docs.yml +24 -0
- procesio_cli-0.1.1/.github/ISSUE_TEMPLATE/feature_request.yml +35 -0
- procesio_cli-0.1.1/.github/pull_request_template.md +20 -0
- procesio_cli-0.1.1/.github/workflows/ci.yml +84 -0
- procesio_cli-0.1.1/.github/workflows/release.yml +164 -0
- procesio_cli-0.1.1/.gitignore +19 -0
- procesio_cli-0.1.1/AGENTS.md +17 -0
- procesio_cli-0.1.1/CHANGELOG.md +36 -0
- procesio_cli-0.1.1/CLAUDE.md +115 -0
- procesio_cli-0.1.1/CODE_OF_CONDUCT.md +33 -0
- procesio_cli-0.1.1/CONTRIBUTING.md +102 -0
- procesio_cli-0.1.1/LICENSE +201 -0
- procesio_cli-0.1.1/NOTICE +5 -0
- procesio_cli-0.1.1/PKG-INFO +467 -0
- procesio_cli-0.1.1/README.md +423 -0
- procesio_cli-0.1.1/SECURITY.md +27 -0
- procesio_cli-0.1.1/agents/__init__.py +0 -0
- procesio_cli-0.1.1/agents/_lib/__init__.py +0 -0
- procesio_cli-0.1.1/agents/_lib/actiondef.py +24 -0
- procesio_cli-0.1.1/agents/_lib/errors.py +40 -0
- procesio_cli-0.1.1/agents/_lib/reversibility.py +236 -0
- procesio_cli-0.1.1/agents/_lib/toolrunner.py +141 -0
- procesio_cli-0.1.1/agents/connector-builder/CONNECTOR-BUILDER-PLAYBOOK.md +62 -0
- procesio_cli-0.1.1/agents/connector-builder/CONNECTOR-BUILDER-PROCESIO-INTEROP.md +76 -0
- procesio_cli-0.1.1/agents/connector-builder/CONNECTOR-BUILDER-TROUBLESHOOTING.md +60 -0
- procesio_cli-0.1.1/agents/connector-builder/README.md +51 -0
- procesio_cli-0.1.1/agents/connector-builder/agent.yaml +61 -0
- procesio_cli-0.1.1/agents/connector-builder/context.py +19 -0
- procesio_cli-0.1.1/agents/connector-builder/handlers/__init__.py +1 -0
- procesio_cli-0.1.1/agents/connector-builder/handlers/checklist.py +71 -0
- procesio_cli-0.1.1/agents/connector-builder/handlers/guidance.py +37 -0
- procesio_cli-0.1.1/agents/connector-builder/handlers/nextstep.py +221 -0
- procesio_cli-0.1.1/agents/connector-builder/handlers/status.py +35 -0
- procesio_cli-0.1.1/agents/connector-builder/knowledge.py +47 -0
- procesio_cli-0.1.1/agents/connector-builder/main.py +93 -0
- procesio_cli-0.1.1/agents/connector-builder/tests/conftest.py +95 -0
- procesio_cli-0.1.1/agents/connector-builder/tests/test_cba_agent.py +148 -0
- procesio_cli-0.1.1/agents/orchestrator/__init__.py +0 -0
- procesio_cli-0.1.1/agents/orchestrator/bootstraplib.py +166 -0
- procesio_cli-0.1.1/agents/procesio/IMPLEMENTATION-PATTERNS/00-INDEX.md +60 -0
- procesio_cli-0.1.1/agents/procesio/IMPLEMENTATION-PATTERNS/01-PROCESSES.md +230 -0
- procesio_cli-0.1.1/agents/procesio/IMPLEMENTATION-PATTERNS/02-FORMS.md +287 -0
- procesio_cli-0.1.1/agents/procesio/IMPLEMENTATION-PATTERNS/03-INTEGRATIONS.md +384 -0
- procesio_cli-0.1.1/agents/procesio/IMPLEMENTATION-PATTERNS/04-DATABASE.md +293 -0
- procesio_cli-0.1.1/agents/procesio/PROCESIO-API-RELIABILITY-DOCTRINE.md +113 -0
- procesio_cli-0.1.1/agents/procesio/PROCESIO-BEST-PRACTICES.md +316 -0
- procesio_cli-0.1.1/agents/procesio/PROCESIO-BUILD-AND-TEST-PLAYBOOK.md +217 -0
- procesio_cli-0.1.1/agents/procesio/PROCESIO-DATASTORE.md +72 -0
- procesio_cli-0.1.1/agents/procesio/PROCESIO-ENVIRONMENTS.md +62 -0
- procesio_cli-0.1.1/agents/procesio/PROCESIO-SCHEDULING.md +47 -0
- procesio_cli-0.1.1/agents/procesio/PROCESIO-VISUAL-ORGANIZATION.md +175 -0
- procesio_cli-0.1.1/agents/procesio/README.md +97 -0
- procesio_cli-0.1.1/agents/procesio/__init__.py +0 -0
- procesio_cli-0.1.1/agents/procesio/agent.yaml +73 -0
- procesio_cli-0.1.1/agents/procesio/audit.py +226 -0
- procesio_cli-0.1.1/agents/procesio/checklist.py +135 -0
- procesio_cli-0.1.1/agents/procesio/context.py +19 -0
- procesio_cli-0.1.1/agents/procesio/handlers/__init__.py +0 -0
- procesio_cli-0.1.1/agents/procesio/handlers/audit.py +39 -0
- procesio_cli-0.1.1/agents/procesio/handlers/checklist.py +34 -0
- procesio_cli-0.1.1/agents/procesio/handlers/guidance.py +36 -0
- procesio_cli-0.1.1/agents/procesio/handlers/status.py +33 -0
- procesio_cli-0.1.1/agents/procesio/handlers/verify.py +39 -0
- procesio_cli-0.1.1/agents/procesio/knowledge.py +115 -0
- procesio_cli-0.1.1/agents/procesio/main.py +89 -0
- procesio_cli-0.1.1/agents/procesio/tests/__init__.py +0 -0
- procesio_cli-0.1.1/agents/procesio/tests/conftest.py +62 -0
- procesio_cli-0.1.1/agents/procesio/tests/test_audit.py +91 -0
- procesio_cli-0.1.1/agents/procesio/tests/test_checklist.py +28 -0
- procesio_cli-0.1.1/agents/procesio/tests/test_guidance.py +78 -0
- procesio_cli-0.1.1/agents/procesio/tests/test_manifest_sync.py +48 -0
- procesio_cli-0.1.1/agents/procesio/tests/test_verify.py +134 -0
- procesio_cli-0.1.1/agents/procesio/tests/test_workspace_scope.py +97 -0
- procesio_cli-0.1.1/agents/procesio/verifylib.py +222 -0
- procesio_cli-0.1.1/build-constraints.txt +14 -0
- procesio_cli-0.1.1/constraints.txt +78 -0
- procesio_cli-0.1.1/dashboard/README.md +117 -0
- procesio_cli-0.1.1/dashboard/__init__.py +18 -0
- procesio_cli-0.1.1/dashboard/serve.py +98 -0
- procesio_cli-0.1.1/dashboard/server/__init__.py +1 -0
- procesio_cli-0.1.1/dashboard/server/config_schemas.py +92 -0
- procesio_cli-0.1.1/dashboard/server/google.py +103 -0
- procesio_cli-0.1.1/dashboard/server/handler.py +160 -0
- procesio_cli-0.1.1/dashboard/server/inventory.py +213 -0
- procesio_cli-0.1.1/dashboard/server/jobs.py +118 -0
- procesio_cli-0.1.1/dashboard/server/llmtest.py +181 -0
- procesio_cli-0.1.1/dashboard/server/procesio_env.py +94 -0
- procesio_cli-0.1.1/dashboard/server/routes.py +74 -0
- procesio_cli-0.1.1/dashboard/server/runner.py +150 -0
- procesio_cli-0.1.1/dashboard/server/security.py +29 -0
- procesio_cli-0.1.1/dashboard/server/setup.py +211 -0
- procesio_cli-0.1.1/dashboard/server/validate.py +152 -0
- procesio_cli-0.1.1/dashboard/tests/conftest.py +16 -0
- procesio_cli-0.1.1/dashboard/tests/test_dashboard.py +225 -0
- procesio_cli-0.1.1/dashboard/tests/test_procesio_env.py +159 -0
- procesio_cli-0.1.1/dashboard/web/actions.js +274 -0
- procesio_cli-0.1.1/dashboard/web/api.js +79 -0
- procesio_cli-0.1.1/dashboard/web/app.js +385 -0
- procesio_cli-0.1.1/dashboard/web/copilot.js +72 -0
- procesio_cli-0.1.1/dashboard/web/google.js +121 -0
- procesio_cli-0.1.1/dashboard/web/index.html +67 -0
- procesio_cli-0.1.1/dashboard/web/procesio_env.js +187 -0
- procesio_cli-0.1.1/dashboard/web/styles.css +207 -0
- procesio_cli-0.1.1/mcpb/manifest.json +43 -0
- procesio_cli-0.1.1/plugin/.claude-plugin/icon.png +0 -0
- procesio_cli-0.1.1/plugin/.claude-plugin/plugin.json +21 -0
- procesio_cli-0.1.1/plugin/.mcp.json +20 -0
- procesio_cli-0.1.1/plugin/README.md +33 -0
- procesio_cli-0.1.1/plugin/build-constraints.txt +14 -0
- procesio_cli-0.1.1/plugin/constraints.txt +78 -0
- procesio_cli-0.1.1/plugin/skills/procesio-cli/SKILL.md +134 -0
- procesio_cli-0.1.1/plugin/skills/procesio-cli/references/connector-lifecycle.md +47 -0
- procesio_cli-0.1.1/plugin/skills/procesio-cli/references/credentials-admin.md +113 -0
- procesio_cli-0.1.1/plugin/skills/procesio-cli/references/data-verification.md +71 -0
- procesio_cli-0.1.1/plugin/skills/procesio-cli/references/documents-files.md +44 -0
- procesio_cli-0.1.1/plugin/skills/procesio-cli/references/form-e2e.md +57 -0
- procesio_cli-0.1.1/plugin/skills/procesio-cli/references/operation-contract.md +138 -0
- procesio_cli-0.1.1/plugin/skills/procesio-cli/references/process-debugging.md +65 -0
- procesio_cli-0.1.1/plugin/skills/procesio-cli/references/process-lifecycle.md +88 -0
- procesio_cli-0.1.1/plugin/skills/procesio-cli/references/schedules-webhooks.md +58 -0
- procesio_cli-0.1.1/plugin/skills/procesio-cli/references/transport-environments.md +53 -0
- procesio_cli-0.1.1/plugin/skills/procesio-platform-advisor/SKILL.md +82 -0
- procesio_cli-0.1.1/plugin/skills/procesio-platform-advisor/references/capability-map.md +22 -0
- procesio_cli-0.1.1/plugin/skills/procesio-platform-advisor/references/fit-framework.md +35 -0
- procesio_cli-0.1.1/plugin/skills/procesio-platform-advisor/references/freshness-policy.md +25 -0
- procesio_cli-0.1.1/plugin/skills/procesio-platform-advisor/references/sizing-method.md +70 -0
- procesio_cli-0.1.1/plugin/skills/procesio-platform-advisor/scripts/estimate_capacity.py +99 -0
- procesio_cli-0.1.1/plugin/skills/procesio-setup/SKILL.md +180 -0
- procesio_cli-0.1.1/plugin/skills/sql-server-optimizer/SKILL.md +86 -0
- procesio_cli-0.1.1/plugin/skills/sql-server-optimizer/references/db-context.md +44 -0
- procesio_cli-0.1.1/plugin/skills/sql-server-optimizer/references/generic-mode.md +32 -0
- procesio_cli-0.1.1/plugin/skills/sql-server-optimizer/references/procesio-mode.md +40 -0
- procesio_cli-0.1.1/plugin/skills/sql-server-optimizer/references/sql-rules.md +43 -0
- procesio_cli-0.1.1/plugin/skills/sql-server-optimizer/scripts/export-indexes.sql +178 -0
- procesio_cli-0.1.1/plugin/skills/sql-server-optimizer/scripts/export-procs-and-functions.sql +118 -0
- procesio_cli-0.1.1/plugin/skills/sql-server-optimizer/scripts/export-tables.sql +367 -0
- procesio_cli-0.1.1/procesio_cli/__init__.py +18 -0
- procesio_cli-0.1.1/procesio_cli/_cli.py +71 -0
- procesio_cli-0.1.1/pyproject.toml +100 -0
- procesio_cli-0.1.1/registry.py +370 -0
- procesio_cli-0.1.1/scripts/build-router.py +249 -0
- procesio_cli-0.1.1/scripts/build-tool-skill.py +202 -0
- procesio_cli-0.1.1/scripts/check-requirements.py +131 -0
- procesio_cli-0.1.1/scripts/check-skill-governance.py +174 -0
- procesio_cli-0.1.1/scripts/evaluate-skill-routing.py +217 -0
- procesio_cli-0.1.1/scripts/evaluate-skills.py +316 -0
- procesio_cli-0.1.1/scripts/get-skill.py +122 -0
- procesio_cli-0.1.1/scripts/list-skills.py +68 -0
- procesio_cli-0.1.1/scripts/list-tools.py +73 -0
- procesio_cli-0.1.1/scripts/run-agent.py +59 -0
- procesio_cli-0.1.1/scripts/run-tool.py +123 -0
- procesio_cli-0.1.1/scripts/secret_scan.py +584 -0
- procesio_cli-0.1.1/scripts/set-credential.py +126 -0
- procesio_cli-0.1.1/scripts/validate-skills.py +530 -0
- procesio_cli-0.1.1/server.json +61 -0
- procesio_cli-0.1.1/skills/PORTFOLIO.md +134 -0
- procesio_cli-0.1.1/skills/__init__.py +6 -0
- procesio_cli-0.1.1/skills/agent-skill-engineer/SKILL.md +226 -0
- procesio_cli-0.1.1/skills/agent-skill-engineer/evals/evals.json +422 -0
- procesio_cli-0.1.1/skills/agent-skill-engineer/references/authoring-standard.md +178 -0
- procesio_cli-0.1.1/skills/agent-skill-engineer/references/decision-framework.md +107 -0
- procesio_cli-0.1.1/skills/agent-skill-engineer/references/domain-evidence-protocol.md +248 -0
- procesio_cli-0.1.1/skills/agent-skill-engineer/references/evaluation-standard.md +191 -0
- procesio_cli-0.1.1/skills/agent-skill-engineer/references/expert-lenses.md +167 -0
- procesio_cli-0.1.1/skills/agent-skill-engineer/references/field-gate-standard.md +231 -0
- procesio_cli-0.1.1/skills/agent-skill-engineer/references/optimization-protocol.md +233 -0
- procesio_cli-0.1.1/skills/agent-skill-engineer/references/optimizer-contract.md +268 -0
- procesio_cli-0.1.1/skills/agent-skill-engineer/references/portability-standard.md +99 -0
- procesio_cli-0.1.1/skills/agent-skill-engineer/references/research-basis.md +128 -0
- procesio_cli-0.1.1/skills/agent-skill-engineer/references/review-standard.md +143 -0
- procesio_cli-0.1.1/skills/agent-skill-engineer/scripts/audit_skill.py +959 -0
- procesio_cli-0.1.1/skills/agent-skill-engineer/scripts/optimize_skill.py +891 -0
- procesio_cli-0.1.1/skills/agent-skill-engineer/scripts/scaffold_skill.py +397 -0
- procesio_cli-0.1.1/skills/evals/baseline-catalog.json +14 -0
- procesio_cli-0.1.1/skills/evals/baseline-routing-v2.json +38 -0
- procesio_cli-0.1.1/skills/evals/baseline.json +37 -0
- procesio_cli-0.1.1/skills/evals/behavioral.json +367 -0
- procesio_cli-0.1.1/skills/evals/field-boundary-development-v1.json +126 -0
- procesio_cli-0.1.1/skills/evals/field-closeout-correction-development-v1.json +23 -0
- procesio_cli-0.1.1/skills/evals/field-closeout-development-v1.json +89 -0
- procesio_cli-0.1.1/skills/evals/portfolio-pressure-training-v1.json +83 -0
- procesio_cli-0.1.1/skills/evals/routing.json +363 -0
- procesio_cli-0.1.1/skills/evals/validation-baseline.json +4 -0
- procesio_cli-0.1.1/skills/procesio-cli/SKILL.md +134 -0
- procesio_cli-0.1.1/skills/procesio-cli/evals/evals.json +111 -0
- procesio_cli-0.1.1/skills/procesio-cli/evals/workflows.json +16 -0
- procesio_cli-0.1.1/skills/procesio-cli/references/connector-lifecycle.md +47 -0
- procesio_cli-0.1.1/skills/procesio-cli/references/credentials-admin.md +113 -0
- procesio_cli-0.1.1/skills/procesio-cli/references/data-verification.md +71 -0
- procesio_cli-0.1.1/skills/procesio-cli/references/documents-files.md +44 -0
- procesio_cli-0.1.1/skills/procesio-cli/references/form-e2e.md +57 -0
- procesio_cli-0.1.1/skills/procesio-cli/references/operation-contract.md +138 -0
- procesio_cli-0.1.1/skills/procesio-cli/references/process-debugging.md +65 -0
- procesio_cli-0.1.1/skills/procesio-cli/references/process-lifecycle.md +88 -0
- procesio_cli-0.1.1/skills/procesio-cli/references/schedules-webhooks.md +58 -0
- procesio_cli-0.1.1/skills/procesio-cli/references/transport-environments.md +53 -0
- procesio_cli-0.1.1/skills/procesio-cli-maintainer/SKILL.md +84 -0
- procesio_cli-0.1.1/skills/procesio-cli-maintainer/evals/evals.json +116 -0
- procesio_cli-0.1.1/skills/procesio-cli-maintainer/references/change-contract.md +34 -0
- procesio_cli-0.1.1/skills/procesio-cli-maintainer/references/mcp-compatibility.md +13 -0
- procesio_cli-0.1.1/skills/procesio-cli-maintainer/references/skill-authoring.md +51 -0
- procesio_cli-0.1.1/skills/procesio-platform-advisor/SKILL.md +82 -0
- procesio_cli-0.1.1/skills/procesio-platform-advisor/evals/evals.json +116 -0
- procesio_cli-0.1.1/skills/procesio-platform-advisor/references/capability-map.md +22 -0
- procesio_cli-0.1.1/skills/procesio-platform-advisor/references/fit-framework.md +35 -0
- procesio_cli-0.1.1/skills/procesio-platform-advisor/references/freshness-policy.md +25 -0
- procesio_cli-0.1.1/skills/procesio-platform-advisor/references/sizing-method.md +70 -0
- procesio_cli-0.1.1/skills/procesio-platform-advisor/scripts/estimate_capacity.py +99 -0
- procesio_cli-0.1.1/skills/procesio-setup/SKILL.md +180 -0
- procesio_cli-0.1.1/skills/sql-server-optimizer/SKILL.md +86 -0
- procesio_cli-0.1.1/skills/sql-server-optimizer/evals/evals.json +116 -0
- procesio_cli-0.1.1/skills/sql-server-optimizer/references/db-context.md +44 -0
- procesio_cli-0.1.1/skills/sql-server-optimizer/references/generic-mode.md +32 -0
- procesio_cli-0.1.1/skills/sql-server-optimizer/references/procesio-mode.md +40 -0
- procesio_cli-0.1.1/skills/sql-server-optimizer/references/sql-rules.md +43 -0
- procesio_cli-0.1.1/skills/sql-server-optimizer/scripts/export-indexes.sql +178 -0
- procesio_cli-0.1.1/skills/sql-server-optimizer/scripts/export-procs-and-functions.sql +118 -0
- procesio_cli-0.1.1/skills/sql-server-optimizer/scripts/export-tables.sql +367 -0
- procesio_cli-0.1.1/skills/tests/__init__.py +0 -0
- procesio_cli-0.1.1/skills/tests/test_agent_skill_engineer.py +240 -0
- procesio_cli-0.1.1/skills/tests/test_auth_failure_stop.py +25 -0
- procesio_cli-0.1.1/skills/tests/test_capacity_estimator.py +85 -0
- procesio_cli-0.1.1/skills/tests/test_field_boundary_learning.py +100 -0
- procesio_cli-0.1.1/skills/tests/test_field_closeout_learning.py +123 -0
- procesio_cli-0.1.1/skills/tests/test_field_gate_standard.py +76 -0
- procesio_cli-0.1.1/skills/tests/test_operational_playbooks.py +51 -0
- procesio_cli-0.1.1/skills/tests/test_portfolio_pressure_training.py +35 -0
- procesio_cli-0.1.1/skills/tests/test_process_lifecycle_single_run.py +25 -0
- procesio_cli-0.1.1/skills/tests/test_skill_evaluator.py +67 -0
- procesio_cli-0.1.1/skills/tests/test_skill_optimizer.py +473 -0
- procesio_cli-0.1.1/skills/tests/test_skill_portfolio_review.py +70 -0
- procesio_cli-0.1.1/skills/tests/test_skill_release_binding.py +204 -0
- procesio_cli-0.1.1/skills/tests/test_skill_routing.py +74 -0
- procesio_cli-0.1.1/skills/tests/test_skill_scaffold_v2.py +116 -0
- procesio_cli-0.1.1/skills/tests/test_validate_skills.py +115 -0
- procesio_cli-0.1.1/tools/__init__.py +0 -0
- procesio_cli-0.1.1/tools/_lib/README.md +119 -0
- procesio_cli-0.1.1/tools/_lib/__init__.py +0 -0
- procesio_cli-0.1.1/tools/_lib/accounting.py +120 -0
- procesio_cli-0.1.1/tools/_lib/contacts.py +544 -0
- procesio_cli-0.1.1/tools/_lib/creds.py +83 -0
- procesio_cli-0.1.1/tools/_lib/creds_backends.py +578 -0
- procesio_cli-0.1.1/tools/_lib/dbprofiles.py +147 -0
- procesio_cli-0.1.1/tools/_lib/dbquery.py +286 -0
- procesio_cli-0.1.1/tools/_lib/dbschema.py +225 -0
- procesio_cli-0.1.1/tools/_lib/io.py +54 -0
- procesio_cli-0.1.1/tools/_lib/manifest.py +297 -0
- procesio_cli-0.1.1/tools/_lib/skill_release.py +127 -0
- procesio_cli-0.1.1/tools/_lib/skill_resources.py +118 -0
- procesio_cli-0.1.1/tools/_lib/userdata.py +228 -0
- procesio_cli-0.1.1/tools/_lib/webserialize/__init__.py +16 -0
- procesio_cli-0.1.1/tools/_lib/webserialize/admin.py +61 -0
- procesio_cli-0.1.1/tools/_lib/webserialize/client.py +264 -0
- procesio_cli-0.1.1/tools/_lib/webserialize/config.py +96 -0
- procesio_cli-0.1.1/tools/_lib/webserialize/errors.py +27 -0
- procesio_cli-0.1.1/tools/_lib/webserialize/framing.py +45 -0
- procesio_cli-0.1.1/tools/_lib/webserialize/registry.py +47 -0
- procesio_cli-0.1.1/tools/_lib/webserialize/runtime.py +61 -0
- procesio_cli-0.1.1/tools/_lib/webserialize/server.py +510 -0
- procesio_cli-0.1.1/tools/_lib/websession.py +194 -0
- procesio_cli-0.1.1/tools/connector-builder/CONNECTOR-BUILDER-API-NOTES.md +91 -0
- procesio_cli-0.1.1/tools/connector-builder/README.md +101 -0
- procesio_cli-0.1.1/tools/connector-builder/SKILL.md +248 -0
- procesio_cli-0.1.1/tools/connector-builder/__init__.py +7 -0
- procesio_cli-0.1.1/tools/connector-builder/actiondef.py +24 -0
- procesio_cli-0.1.1/tools/connector-builder/client.py +251 -0
- procesio_cli-0.1.1/tools/connector-builder/errors.py +44 -0
- procesio_cli-0.1.1/tools/connector-builder/gen_manifest.py +142 -0
- procesio_cli-0.1.1/tools/connector-builder/handlers/__init__.py +1 -0
- procesio_cli-0.1.1/tools/connector-builder/handlers/admin.py +182 -0
- procesio_cli-0.1.1/tools/connector-builder/handlers/auth.py +74 -0
- procesio_cli-0.1.1/tools/connector-builder/handlers/builds.py +396 -0
- procesio_cli-0.1.1/tools/connector-builder/handlers/common.py +104 -0
- procesio_cli-0.1.1/tools/connector-builder/handlers/files.py +111 -0
- procesio_cli-0.1.1/tools/connector-builder/handlers/raw.py +38 -0
- procesio_cli-0.1.1/tools/connector-builder/handlers/telemetry.py +39 -0
- procesio_cli-0.1.1/tools/connector-builder/main.py +94 -0
- procesio_cli-0.1.1/tools/connector-builder/tests/conftest.py +146 -0
- procesio_cli-0.1.1/tools/connector-builder/tests/test_cb_client.py +86 -0
- procesio_cli-0.1.1/tools/connector-builder/tests/test_cb_dispatch.py +105 -0
- procesio_cli-0.1.1/tools/connector-builder/tests/test_cb_manifest_sync.py +76 -0
- procesio_cli-0.1.1/tools/connector-builder/tests/test_cb_wait.py +123 -0
- procesio_cli-0.1.1/tools/connector-builder/tool.yaml +671 -0
- procesio_cli-0.1.1/tools/framework-map/.gitattributes +2 -0
- procesio_cli-0.1.1/tools/framework-map/README.md +98 -0
- procesio_cli-0.1.1/tools/framework-map/SKILL.md +30 -0
- procesio_cli-0.1.1/tools/framework-map/app.js +188 -0
- procesio_cli-0.1.1/tools/framework-map/fm_builder.py +476 -0
- procesio_cli-0.1.1/tools/framework-map/fm_catalog.py +19 -0
- procesio_cli-0.1.1/tools/framework-map/fm_ro_catalog.py +94 -0
- procesio_cli-0.1.1/tools/framework-map/fm_strings.py +101 -0
- procesio_cli-0.1.1/tools/framework-map/main.py +95 -0
- procesio_cli-0.1.1/tools/framework-map/styles.css +214 -0
- procesio_cli-0.1.1/tools/framework-map/tests/conftest.py +33 -0
- procesio_cli-0.1.1/tools/framework-map/tests/test_fm_build.py +126 -0
- procesio_cli-0.1.1/tools/framework-map/tests/test_fm_manifest_sync.py +63 -0
- procesio_cli-0.1.1/tools/framework-map/tests/test_fm_store_tree.py +75 -0
- procesio_cli-0.1.1/tools/framework-map/tool.yaml +61 -0
- procesio_cli-0.1.1/tools/mysql/MOVED-TO-CENTRAL.md +29 -0
- procesio_cli-0.1.1/tools/mysql/README.md +196 -0
- procesio_cli-0.1.1/tools/mysql/SKILL.md +37 -0
- procesio_cli-0.1.1/tools/mysql/__init__.py +0 -0
- procesio_cli-0.1.1/tools/mysql/connection.py +191 -0
- procesio_cli-0.1.1/tools/mysql/main.py +487 -0
- procesio_cli-0.1.1/tools/mysql/profiles.template.json +1 -0
- procesio_cli-0.1.1/tools/mysql/schema.py +434 -0
- procesio_cli-0.1.1/tools/mysql/tests/__init__.py +0 -0
- procesio_cli-0.1.1/tools/mysql/tests/conftest.py +21 -0
- procesio_cli-0.1.1/tools/mysql/tests/test_manifest_sync.py +68 -0
- procesio_cli-0.1.1/tools/mysql/tests/test_mysql.py +201 -0
- procesio_cli-0.1.1/tools/mysql/tests/test_mysql_schema.py +337 -0
- procesio_cli-0.1.1/tools/mysql/tool.yaml +112 -0
- procesio_cli-0.1.1/tools/procesio/DTO-SUBTOOLS-NOTE.md +360 -0
- procesio_cli-0.1.1/tools/procesio/FORM-DEV-GUIDE/00-INDEX.md +67 -0
- procesio_cli-0.1.1/tools/procesio/FORM-DEV-GUIDE/01-ANATOMY.md +209 -0
- procesio_cli-0.1.1/tools/procesio/FORM-DEV-GUIDE/02-CODE-INJECTION.md +309 -0
- procesio_cli-0.1.1/tools/procesio/FORM-DEV-GUIDE/03-DOM-CONTRACT.md +370 -0
- procesio_cli-0.1.1/tools/procesio/FORM-DEV-GUIDE/04-INTERACTION-RECIPES.md +600 -0
- procesio_cli-0.1.1/tools/procesio/FORM-DEV-GUIDE/05-STEPPER-AND-MOTION.md +426 -0
- procesio_cli-0.1.1/tools/procesio/FORM-DEV-GUIDE/06-PROCESS-INTEGRATION.md +347 -0
- procesio_cli-0.1.1/tools/procesio/FORM-DEV-GUIDE/07-DEPLOY-WORKFLOW.md +294 -0
- procesio_cli-0.1.1/tools/procesio/FORM-DEV-GUIDE/08-PITFALLS.md +569 -0
- procesio_cli-0.1.1/tools/procesio/FORM-DEV-GUIDE/09-NAVIGATION-AND-HOSTING.md +308 -0
- procesio_cli-0.1.1/tools/procesio/PHASE4-E2E-NOTES.md +594 -0
- procesio_cli-0.1.1/tools/procesio/PROCESIO-API-CORRECTIONS.md +295 -0
- procesio_cli-0.1.1/tools/procesio/PROCESIO-API-NOTES.md +6976 -0
- procesio_cli-0.1.1/tools/procesio/PROCESIO-AUTH-NOTES.md +226 -0
- procesio_cli-0.1.1/tools/procesio/PROCESIO-CARD-BUILD-NOTES.md +183 -0
- procesio_cli-0.1.1/tools/procesio/PROCESIO-CONNECTORS-NOTES.md +141 -0
- procesio_cli-0.1.1/tools/procesio/PROCESIO-CUSTOM-ACTION-NOTES.md +179 -0
- procesio_cli-0.1.1/tools/procesio/PROCESIO-DOCS-FIX-REPORT.md +123 -0
- procesio_cli-0.1.1/tools/procesio/PROCESIO-ENVIRONMENTS-NOTES.md +94 -0
- procesio_cli-0.1.1/tools/procesio/PROCESIO-FE-VALIDATION-NOTES.md +107 -0
- procesio_cli-0.1.1/tools/procesio/PROCESIO-FOREACH-NOTES.md +199 -0
- procesio_cli-0.1.1/tools/procesio/PROCESIO-FORM-API-HANG-NOTE.md +101 -0
- procesio_cli-0.1.1/tools/procesio/PROCESIO-FORM-SUBMISSION-NOTES.md +172 -0
- procesio_cli-0.1.1/tools/procesio/PROCESIO-HTML-TO-DOCX-NOTES.md +110 -0
- procesio_cli-0.1.1/tools/procesio/PROCESIO-INSTANCE-HISTORY-NOTES.md +242 -0
- procesio_cli-0.1.1/tools/procesio/PROCESIO-METERING-NOTES.md +201 -0
- procesio_cli-0.1.1/tools/procesio/PROCESIO-NODE-CODE-NOTES.md +279 -0
- procesio_cli-0.1.1/tools/procesio/PROCESIO-NODE-MODULE-WHITELIST.md +113 -0
- procesio_cli-0.1.1/tools/procesio/PROCESIO-PYTHON-ACTION-NOTES.md +165 -0
- procesio_cli-0.1.1/tools/procesio/PROCESIO-QUERY-STORE-NOTES.md +826 -0
- procesio_cli-0.1.1/tools/procesio/PROCESIO-RECONCILIATION-PATTERNS.md +104 -0
- procesio_cli-0.1.1/tools/procesio/PROCESIO-RESOURCE-MODEL-NOTES.md +1100 -0
- procesio_cli-0.1.1/tools/procesio/PROCESIO-SEND-EMAIL-CRED-OPTIONALITY.md +45 -0
- procesio_cli-0.1.1/tools/procesio/PROCESIO-SEND-EMAIL-NOTES.md +252 -0
- procesio_cli-0.1.1/tools/procesio/PROCESIO-SQL-ACTIONS-NOTES.md +284 -0
- procesio_cli-0.1.1/tools/procesio/PROCESIO-USAGE-GUIDE.md +219 -0
- procesio_cli-0.1.1/tools/procesio/README.md +341 -0
- procesio_cli-0.1.1/tools/procesio/SCHEDULE-INPUT-SECURITY-NOTES.md +63 -0
- procesio_cli-0.1.1/tools/procesio/SKILL.md +694 -0
- procesio_cli-0.1.1/tools/procesio/__init__.py +1 -0
- procesio_cli-0.1.1/tools/procesio/actiondef.py +27 -0
- procesio_cli-0.1.1/tools/procesio/assets/html2docx/html2docx.js +2155 -0
- procesio_cli-0.1.1/tools/procesio/auth.py +354 -0
- procesio_cli-0.1.1/tools/procesio/autogen.py +121 -0
- procesio_cli-0.1.1/tools/procesio/client.py +355 -0
- procesio_cli-0.1.1/tools/procesio/config.py +96 -0
- procesio_cli-0.1.1/tools/procesio/data/endpoints.json +2901 -0
- procesio_cli-0.1.1/tools/procesio/docs_info/API-DOCUMENTATION/01-authentication.md +180 -0
- procesio_cli-0.1.1/tools/procesio/docs_info/API-DOCUMENTATION/02-conventions.md +116 -0
- procesio_cli-0.1.1/tools/procesio/docs_info/API-DOCUMENTATION/ANONYMOUS-SURFACE.md +51 -0
- procesio_cli-0.1.1/tools/procesio/docs_info/API-DOCUMENTATION/README.md +104 -0
- procesio_cli-0.1.1/tools/procesio/docs_info/API-DOCUMENTATION/SYMBOL-INDEX.md +444 -0
- procesio_cli-0.1.1/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/03-auth-users-workspaces.md +731 -0
- procesio_cli-0.1.1/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/04-processes.md +913 -0
- procesio_cli-0.1.1/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/05-actions.md +605 -0
- procesio_cli-0.1.1/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/06-files.md +237 -0
- procesio_cli-0.1.1/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/07-forms-documents.md +985 -0
- procesio_cli-0.1.1/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/08-credentials.md +532 -0
- procesio_cli-0.1.1/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/09-datastore-datatypes.md +830 -0
- procesio_cli-0.1.1/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/10-custom-urls.md +319 -0
- procesio_cli-0.1.1/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/11-subscriptions-resources-analytics.md +455 -0
- procesio_cli-0.1.1/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/12-webhooks-notifications-misc.md +519 -0
- procesio_cli-0.1.1/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/13-realtime-signalr.md +153 -0
- procesio_cli-0.1.1/tools/procesio/docs_info/API-DOCUMENTATION/endpoints/99-internal-and-other-services.md +52 -0
- procesio_cli-0.1.1/tools/procesio/docs_info/FormBuilder mock.ts +5725 -0
- procesio_cli-0.1.1/tools/procesio/docs_info/Procesio Platform Actions.json +30219 -0
- procesio_cli-0.1.1/tools/procesio/docs_info/form-config-enums.ts +92 -0
- procesio_cli-0.1.1/tools/procesio/docs_info/form-theme.ts +1603 -0
- procesio_cli-0.1.1/tools/procesio/docs_info/process-validation-reference-1.md +2739 -0
- procesio_cli-0.1.1/tools/procesio/dto/__init__.py +13 -0
- procesio_cli-0.1.1/tools/procesio/dto/credential/builder.py +179 -0
- procesio_cli-0.1.1/tools/procesio/dto/credential/config.schema.json +19 -0
- procesio_cli-0.1.1/tools/procesio/dto/credential/description.md +193 -0
- procesio_cli-0.1.1/tools/procesio/dto/credential/fixtures/rest.config.json +11 -0
- procesio_cli-0.1.1/tools/procesio/dto/credential/fixtures/rest.dto.json +28 -0
- procesio_cli-0.1.1/tools/procesio/dto/credential/fixtures/rest.template.json +44 -0
- procesio_cli-0.1.1/tools/procesio/dto/credential/template.dto.json +16 -0
- procesio_cli-0.1.1/tools/procesio/dto/data/_refresh.py +147 -0
- procesio_cli-0.1.1/tools/procesio/dto/data/action_catalog.json +30825 -0
- procesio_cli-0.1.1/tools/procesio/dto/data/action_families.json +55 -0
- procesio_cli-0.1.1/tools/procesio/dto/data/platform_types.json +182 -0
- procesio_cli-0.1.1/tools/procesio/dto/datatype/builder.py +223 -0
- procesio_cli-0.1.1/tools/procesio/dto/datatype/config.schema.json +47 -0
- procesio_cli-0.1.1/tools/procesio/dto/datatype/description.md +85 -0
- procesio_cli-0.1.1/tools/procesio/dto/datatype/fixtures/customer.config.json +41 -0
- procesio_cli-0.1.1/tools/procesio/dto/datatype/fixtures/customer.dto.json +164 -0
- procesio_cli-0.1.1/tools/procesio/dto/datatype/template.dto.json +37 -0
- procesio_cli-0.1.1/tools/procesio/dto/document/builder.py +193 -0
- procesio_cli-0.1.1/tools/procesio/dto/document/config.schema.json +33 -0
- procesio_cli-0.1.1/tools/procesio/dto/document/description.md +124 -0
- procesio_cli-0.1.1/tools/procesio/dto/document/fixtures/invoice.config.json +16 -0
- procesio_cli-0.1.1/tools/procesio/dto/document/fixtures/invoice.dto.json +32 -0
- procesio_cli-0.1.1/tools/procesio/dto/document/template.dto.json +14 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/FORM-STYLING-NOTES.md +142 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/GOLDEN-DRIFT-NOTES.md +72 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/RUN-PROCESS-RESULT-NOTES.md +80 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/addelement.py +277 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/builder.py +1009 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/capture_goldens.py +106 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/code_cipher.py +67 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/config.schema.json +76 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/data_shell.json +1 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/description.md +346 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/approval.json +259 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/assignee.json +137 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/button.json +125 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/chart.json +341 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/chat.json +199 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/checkbox.json +153 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/column.json +77 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/columns.json +78 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/datetime-input.json +304 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/divider.json +54 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/dropdown.json +130 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/dynamic-table-row.json +253 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/file-upload.json +196 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/file-viewer.json +169 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/heading.json +79 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/icon.json +107 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/image.json +174 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/input.json +206 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/list.json +202 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/number-input.json +202 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/paragraph.json +79 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/radiobox.json +174 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/section.json +114 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/select.json +217 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/side-panel.json +146 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/signature-pad.json +141 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/static-table-row.json +84 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/step.json +105 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/stepper.json +126 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/tab.json +77 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/table.json +279 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/tabs.json +114 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/elements/textarea.json +213 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/enum_map.json +68 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/fieldpath.py +284 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/fixtures/reg.config.json +32 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/fixtures/reg.elements.json +638 -0
- procesio_cli-0.1.1/tools/procesio/dto/form/sync_from_mock.py +386 -0
- procesio_cli-0.1.1/tools/procesio/dto/framework.py +125 -0
- procesio_cli-0.1.1/tools/procesio/dto/process/builder.py +1991 -0
- procesio_cli-0.1.1/tools/procesio/dto/process/config.schema.json +159 -0
- procesio_cli-0.1.1/tools/procesio/dto/process/description.md +218 -0
- procesio_cli-0.1.1/tools/procesio/dto/process/fixtures/greet.config.json +32 -0
- procesio_cli-0.1.1/tools/procesio/dto/process/fixtures/greet.dto.json +317 -0
- procesio_cli-0.1.1/tools/procesio/dto/process/naming.py +305 -0
- procesio_cli-0.1.1/tools/procesio/dto/process/normalize.py +74 -0
- procesio_cli-0.1.1/tools/procesio/dto/process/template.dto.json +32 -0
- procesio_cli-0.1.1/tools/procesio/dto/refdata.py +87 -0
- procesio_cli-0.1.1/tools/procesio/dto/registry.py +27 -0
- procesio_cli-0.1.1/tools/procesio/dto/webhook/builder.py +142 -0
- procesio_cli-0.1.1/tools/procesio/dto/webhook/config.schema.json +25 -0
- procesio_cli-0.1.1/tools/procesio/dto/webhook/description.md +92 -0
- procesio_cli-0.1.1/tools/procesio/dto/webhook/fixtures/order.config.json +10 -0
- procesio_cli-0.1.1/tools/procesio/dto/webhook/fixtures/order.dto.json +25 -0
- procesio_cli-0.1.1/tools/procesio/dto/webhook/template.dto.json +14 -0
- procesio_cli-0.1.1/tools/procesio/environments.py +264 -0
- procesio_cli-0.1.1/tools/procesio/errors.py +166 -0
- procesio_cli-0.1.1/tools/procesio/flowmodel/README.md +37 -0
- procesio_cli-0.1.1/tools/procesio/flowmodel/__init__.py +14 -0
- procesio_cli-0.1.1/tools/procesio/flowmodel/digest.py +223 -0
- procesio_cli-0.1.1/tools/procesio/flowmodel/families.py +34 -0
- procesio_cli-0.1.1/tools/procesio/flowmodel/fevalidation.py +1098 -0
- procesio_cli-0.1.1/tools/procesio/flowmodel/formdigest.py +232 -0
- procesio_cli-0.1.1/tools/procesio/flowmodel/inspect.py +78 -0
- procesio_cli-0.1.1/tools/procesio/flowmodel/model.py +82 -0
- procesio_cli-0.1.1/tools/procesio/flowmodel/nodeparam.py +871 -0
- procesio_cli-0.1.1/tools/procesio/flowmodel/reader.py +191 -0
- procesio_cli-0.1.1/tools/procesio/flowmodel/sqlparam.py +410 -0
- procesio_cli-0.1.1/tools/procesio/form_code_keys.py +50 -0
- procesio_cli-0.1.1/tools/procesio/formlint.py +292 -0
- procesio_cli-0.1.1/tools/procesio/gen_manifest.py +118 -0
- procesio_cli-0.1.1/tools/procesio/handlers/__init__.py +1 -0
- procesio_cli-0.1.1/tools/procesio/handlers/auth_actions.py +103 -0
- procesio_cli-0.1.1/tools/procesio/handlers/catalog.py +147 -0
- procesio_cli-0.1.1/tools/procesio/handlers/common.py +90 -0
- procesio_cli-0.1.1/tools/procesio/handlers/customaction_ops.py +146 -0
- procesio_cli-0.1.1/tools/procesio/handlers/datastore_ops.py +482 -0
- procesio_cli-0.1.1/tools/procesio/handlers/datatype_ops.py +275 -0
- procesio_cli-0.1.1/tools/procesio/handlers/dto_actions.py +258 -0
- procesio_cli-0.1.1/tools/procesio/handlers/environment_admin.py +146 -0
- procesio_cli-0.1.1/tools/procesio/handlers/fevalidate.py +236 -0
- procesio_cli-0.1.1/tools/procesio/handlers/files.py +141 -0
- procesio_cli-0.1.1/tools/procesio/handlers/flowgraph.py +229 -0
- procesio_cli-0.1.1/tools/procesio/handlers/flowlint.py +269 -0
- procesio_cli-0.1.1/tools/procesio/handlers/form_chains.py +336 -0
- procesio_cli-0.1.1/tools/procesio/handlers/form_code.py +277 -0
- procesio_cli-0.1.1/tools/procesio/handlers/form_element.py +199 -0
- procesio_cli-0.1.1/tools/procesio/handlers/form_events.py +441 -0
- procesio_cli-0.1.1/tools/procesio/handlers/form_update.py +270 -0
- procesio_cli-0.1.1/tools/procesio/handlers/formprocess.py +211 -0
- procesio_cli-0.1.1/tools/procesio/handlers/generic.py +135 -0
- procesio_cli-0.1.1/tools/procesio/handlers/layout.py +137 -0
- procesio_cli-0.1.1/tools/procesio/handlers/nodeparams.py +1018 -0
- procesio_cli-0.1.1/tools/procesio/handlers/process_layout.py +189 -0
- procesio_cli-0.1.1/tools/procesio/handlers/process_naming.py +213 -0
- procesio_cli-0.1.1/tools/procesio/handlers/processes.py +416 -0
- procesio_cli-0.1.1/tools/procesio/handlers/profile_admin.py +184 -0
- procesio_cli-0.1.1/tools/procesio/handlers/resource_ops.py +447 -0
- procesio_cli-0.1.1/tools/procesio/handlers/schedules.py +320 -0
- procesio_cli-0.1.1/tools/procesio/handlers/sqlactions.py +232 -0
- procesio_cli-0.1.1/tools/procesio/handlers/transport.py +463 -0
- procesio_cli-0.1.1/tools/procesio/handlers/usageguide.py +222 -0
- procesio_cli-0.1.1/tools/procesio/layout/README.md +196 -0
- procesio_cli-0.1.1/tools/procesio/layout/__init__.py +11 -0
- procesio_cli-0.1.1/tools/procesio/layout/adapter.py +736 -0
- procesio_cli-0.1.1/tools/procesio/layout/cycles.py +186 -0
- procesio_cli-0.1.1/tools/procesio/layout/dispatch.py +39 -0
- procesio_cli-0.1.1/tools/procesio/layout/elk/elk_runner.mjs +50 -0
- procesio_cli-0.1.1/tools/procesio/layout/elk/package-lock.json +21 -0
- procesio_cli-0.1.1/tools/procesio/layout/elk/package.json +11 -0
- procesio_cli-0.1.1/tools/procesio/layout/elk_engine.py +568 -0
- procesio_cli-0.1.1/tools/procesio/layout/engine.py +1311 -0
- procesio_cli-0.1.1/tools/procesio/layout/report.py +187 -0
- procesio_cli-0.1.1/tools/procesio/main.py +179 -0
- procesio_cli-0.1.1/tools/procesio/profiles.py +193 -0
- procesio_cli-0.1.1/tools/procesio/reliability.py +193 -0
- procesio_cli-0.1.1/tools/procesio/sqlformat.py +167 -0
- procesio_cli-0.1.1/tools/procesio/swagger.py +51 -0
- procesio_cli-0.1.1/tools/procesio/tests/__init__.py +0 -0
- procesio_cli-0.1.1/tools/procesio/tests/conftest.py +129 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_auth.py +200 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_autogen.py +78 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_builder_attrpath_sqlbind.py +180 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_builder_custom_action_catalog.py +72 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_client.py +114 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_client_reliability.py +139 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_customaction.py +103 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_customaction_test.py +80 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_cycles.py +69 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_datastore.py +378 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_datastore_node.py +94 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_dispatch.py +170 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_document_page_size.py +19 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_dto.py +734 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_edit_dryrun_preview.py +96 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_elk_layout.py +221 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_environments.py +214 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_fevalidate_gate.py +104 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_fevalidation.py +317 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_fieldpath_variables.py +87 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_files.py +72 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_flow_digest.py +202 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_flowlint.py +114 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_flowmodel.py +158 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_form_add_element.py +256 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_form_approval_gaps.py +319 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_form_auto_names.py +60 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_form_chains.py +217 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_form_code_actions.py +188 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_form_code_keys.py +92 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_form_code_style.py +178 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_form_delete_element.py +99 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_form_element_config.py +141 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_form_event_maps.py +135 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_form_event_ops.py +376 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_form_event_replace.py +86 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_form_events.py +92 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_form_parity.py +171 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_form_select_source.py +74 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_form_sync.py +35 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_form_update.py +133 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_formlint.py +155 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_formlint_css_scope.py +38 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_formlint_field_names.py +83 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_guards.py +110 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_hidden_setting_types.py +39 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_html2docx_asset.py +132 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_key_handle_terminology.py +45 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_layout.py +574 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_layout_report.py +88 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_manifest_sync.py +68 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_nodedelete.py +151 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_nodeparam.py +826 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_normalize.py +70 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_payload_docs.py +86 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_process_action_naming.py +170 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_process_call_api_seed.py +46 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_process_ext.py +373 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_process_invariants.py +183 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_process_layout.py +117 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_process_naming.py +188 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_process_query_store.py +172 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_processinfo_variable.py +56 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_profiles.py +127 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_put_projects.py +41 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_reliability.py +107 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_removal_gate.py +95 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_resource_ops.py +173 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_save_validity.py +207 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_schedule_cron_shape.py +111 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_schedules.py +309 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_sqlconvert.py +234 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_sqlformat.py +83 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_sqlparam.py +187 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_superseded_actions.py +54 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_surgical_concurrency.py +156 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_tier4.py +123 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_transport.py +147 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_transport_data_stores.py +168 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_transport_mapper_repair.py +150 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_transport_webhook_strip.py +253 -0
- procesio_cli-0.1.1/tools/procesio/tests/test_usage_guide.py +96 -0
- procesio_cli-0.1.1/tools/procesio/tool.yaml +12486 -0
- procesio_cli-0.1.1/tools/sqlserver/MOVED-TO-CENTRAL.md +29 -0
- procesio_cli-0.1.1/tools/sqlserver/README.md +192 -0
- procesio_cli-0.1.1/tools/sqlserver/SKILL.md +37 -0
- procesio_cli-0.1.1/tools/sqlserver/SQLSERVER-SCHEMA-NOTES.md +284 -0
- procesio_cli-0.1.1/tools/sqlserver/__init__.py +0 -0
- procesio_cli-0.1.1/tools/sqlserver/connection.py +242 -0
- procesio_cli-0.1.1/tools/sqlserver/main.py +521 -0
- procesio_cli-0.1.1/tools/sqlserver/profiles.template.json +1 -0
- procesio_cli-0.1.1/tools/sqlserver/schema.py +600 -0
- procesio_cli-0.1.1/tools/sqlserver/tests/__init__.py +0 -0
- procesio_cli-0.1.1/tools/sqlserver/tests/conftest.py +21 -0
- procesio_cli-0.1.1/tools/sqlserver/tests/test_connection.py +75 -0
- procesio_cli-0.1.1/tools/sqlserver/tests/test_dbprofiles.py +92 -0
- procesio_cli-0.1.1/tools/sqlserver/tests/test_dbquery.py +220 -0
- procesio_cli-0.1.1/tools/sqlserver/tests/test_manifest_sync.py +68 -0
- procesio_cli-0.1.1/tools/sqlserver/tests/test_sqlserver.py +326 -0
- procesio_cli-0.1.1/tools/sqlserver/tests/test_sqlserver_schema.py +488 -0
- procesio_cli-0.1.1/tools/sqlserver/tool.yaml +123 -0
- procesio_cli-0.1.1/tools/web/README.md +381 -0
- procesio_cli-0.1.1/tools/web/SKILL.md +37 -0
- procesio_cli-0.1.1/tools/web/WEB-AUTOMATION-NOTES.md +277 -0
- procesio_cli-0.1.1/tools/web/__init__.py +21 -0
- procesio_cli-0.1.1/tools/web/actiondef.py +24 -0
- procesio_cli-0.1.1/tools/web/api.py +444 -0
- procesio_cli-0.1.1/tools/web/brokered.py +107 -0
- procesio_cli-0.1.1/tools/web/driver.py +839 -0
- procesio_cli-0.1.1/tools/web/drivercontract.py +44 -0
- procesio_cli-0.1.1/tools/web/errors.py +54 -0
- procesio_cli-0.1.1/tools/web/handlers/__init__.py +1 -0
- procesio_cli-0.1.1/tools/web/handlers/archive.py +367 -0
- procesio_cli-0.1.1/tools/web/handlers/browse.py +182 -0
- procesio_cli-0.1.1/tools/web/handlers/contacts.py +74 -0
- procesio_cli-0.1.1/tools/web/handlers/sessmgmt.py +120 -0
- procesio_cli-0.1.1/tools/web/main.py +128 -0
- procesio_cli-0.1.1/tools/web/sessions.py +253 -0
- procesio_cli-0.1.1/tools/web/steps.py +162 -0
- procesio_cli-0.1.1/tools/web/tests/__init__.py +0 -0
- procesio_cli-0.1.1/tools/web/tests/conftest.py +197 -0
- procesio_cli-0.1.1/tools/web/tests/test_api.py +330 -0
- procesio_cli-0.1.1/tools/web/tests/test_archive.py +190 -0
- procesio_cli-0.1.1/tools/web/tests/test_brokered.py +138 -0
- procesio_cli-0.1.1/tools/web/tests/test_dispatch.py +132 -0
- procesio_cli-0.1.1/tools/web/tests/test_errors.py +60 -0
- procesio_cli-0.1.1/tools/web/tests/test_manifest_sync.py +76 -0
- procesio_cli-0.1.1/tools/web/tests/test_page_contacts.py +68 -0
- procesio_cli-0.1.1/tools/web/tests/test_sessions.py +145 -0
- procesio_cli-0.1.1/tools/web/tests/test_steps.py +210 -0
- procesio_cli-0.1.1/tools/web/tool.yaml +184 -0
- procesio_cli-0.1.1/tools/xlsx/README.md +34 -0
- procesio_cli-0.1.1/tools/xlsx/SKILL.md +28 -0
- procesio_cli-0.1.1/tools/xlsx/__init__.py +0 -0
- procesio_cli-0.1.1/tools/xlsx/main.py +129 -0
- procesio_cli-0.1.1/tools/xlsx/reader.py +91 -0
- procesio_cli-0.1.1/tools/xlsx/tests/__init__.py +0 -0
- procesio_cli-0.1.1/tools/xlsx/tests/conftest.py +39 -0
- procesio_cli-0.1.1/tools/xlsx/tests/test_xlsx.py +103 -0
- procesio_cli-0.1.1/tools/xlsx/tool.yaml +30 -0
- procesio_cli-0.1.1/webplatform/aat_mcp/AAT-MCP-NOTES.md +244 -0
- procesio_cli-0.1.1/webplatform/aat_mcp/README.md +78 -0
- procesio_cli-0.1.1/webplatform/aat_mcp/bridge.py +705 -0
- procesio_cli-0.1.1/webplatform/aat_mcp/chat_server.py +194 -0
- procesio_cli-0.1.1/webplatform/aat_mcp/chat_surface.snapshot.json +668 -0
- procesio_cli-0.1.1/webplatform/aat_mcp/chat_surface.yaml +372 -0
- procesio_cli-0.1.1/webplatform/aat_mcp/gate.py +68 -0
- procesio_cli-0.1.1/webplatform/aat_mcp/http_server.py +139 -0
- procesio_cli-0.1.1/webplatform/aat_mcp/protocol.py +175 -0
- procesio_cli-0.1.1/webplatform/aat_mcp/server.py +306 -0
- procesio_cli-0.1.1/webplatform/aat_mcp/tests/conftest.py +8 -0
- procesio_cli-0.1.1/webplatform/aat_mcp/tests/test_aat_mcp.py +255 -0
- procesio_cli-0.1.1/webplatform/aat_mcp/tests/test_chat_surface.py +247 -0
- procesio_cli-0.1.1/webplatform/aat_mcp/tests/test_discovery.py +489 -0
- procesio_cli-0.1.1/webplatform/aat_mcp/tests/test_multiuser.py +86 -0
- procesio_cli-0.1.1/webplatform/aat_mcp/tests/test_progressive_discovery.py +89 -0
- procesio_cli-0.1.1/webplatform/aat_mcp/tests/test_protocol.py +180 -0
- procesio_cli-0.1.1/webplatform/aat_mcp/tests/test_skill_discovery.py +23 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "procesio-cli",
|
|
3
|
+
"description": "Source for the official PROCESIO plugin: the CLI, its MCP server and the Agent Skills that carry the build, verify and audit method.",
|
|
4
|
+
"owner": {
|
|
5
|
+
"name": "Ringhel TEAM SRL (PROCESIO)",
|
|
6
|
+
"url": "https://procesio.com"
|
|
7
|
+
},
|
|
8
|
+
"plugins": [
|
|
9
|
+
{
|
|
10
|
+
"name": "procesio",
|
|
11
|
+
"source": "./plugin",
|
|
12
|
+
"description": "Lets your own AI assistant build, run, validate and audit PROCESIO processes, forms and documents."
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Preserve bytes exactly as published.
|
|
2
|
+
#
|
|
3
|
+
# This tree is a byte-identical copy of files maintained in an internal monorepo,
|
|
4
|
+
# and a patch sent here is ported back to the same path there. End-of-line
|
|
5
|
+
# rewriting on checkout or commit would break that equivalence and would make the
|
|
6
|
+
# publication tool's `diff` report every rewritten file as changed forever, which
|
|
7
|
+
# is how real drift stops being visible.
|
|
8
|
+
#
|
|
9
|
+
# `-text` disables eol conversion without marking anything binary, so GitHub and
|
|
10
|
+
# `git diff` still render normal text diffs.
|
|
11
|
+
* -text
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Every pull request gets a review from the maintainers.
|
|
2
|
+
* @Procesio-Externals/maintainers
|
|
3
|
+
|
|
4
|
+
# Narrower ownership, if you want it:
|
|
5
|
+
# /tools/procesio/ @Procesio-Externals/devs
|
|
6
|
+
# /tools/connector-builder/ @Procesio-Externals/devs
|
|
7
|
+
# /.github/ @Procesio-Externals/maintainers
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
name: Bug report
|
|
2
|
+
description: Something in the toolkit doesn't work.
|
|
3
|
+
labels: ["bug", "needs triage"]
|
|
4
|
+
body:
|
|
5
|
+
- type: markdown
|
|
6
|
+
attributes:
|
|
7
|
+
value: |
|
|
8
|
+
Before you fill this in: don't paste credentials, `.procesio` export
|
|
9
|
+
files, real workspace GUIDs, or customer data. Redact them.
|
|
10
|
+
|
|
11
|
+
- type: textarea
|
|
12
|
+
id: what-happened
|
|
13
|
+
attributes:
|
|
14
|
+
label: What happened
|
|
15
|
+
description: What you expected, and what you got instead.
|
|
16
|
+
validations:
|
|
17
|
+
required: true
|
|
18
|
+
|
|
19
|
+
- type: textarea
|
|
20
|
+
id: reproduce
|
|
21
|
+
attributes:
|
|
22
|
+
label: How to reproduce
|
|
23
|
+
description: The command you ran, and the steps that lead to it.
|
|
24
|
+
placeholder: |
|
|
25
|
+
1. python scripts/run-tool.py procesio ...
|
|
26
|
+
2. ...
|
|
27
|
+
render: shell
|
|
28
|
+
validations:
|
|
29
|
+
required: true
|
|
30
|
+
|
|
31
|
+
- type: textarea
|
|
32
|
+
id: output
|
|
33
|
+
attributes:
|
|
34
|
+
label: Output or traceback
|
|
35
|
+
render: shell
|
|
36
|
+
|
|
37
|
+
- type: dropdown
|
|
38
|
+
id: tool
|
|
39
|
+
attributes:
|
|
40
|
+
label: Which tool
|
|
41
|
+
options:
|
|
42
|
+
- procesio
|
|
43
|
+
- connector-builder
|
|
44
|
+
- web
|
|
45
|
+
- xlsx
|
|
46
|
+
- sqlserver
|
|
47
|
+
- mysql
|
|
48
|
+
- dashboard
|
|
49
|
+
- framework-map
|
|
50
|
+
- An agent or a skill
|
|
51
|
+
- The framework itself
|
|
52
|
+
- I don't know
|
|
53
|
+
validations:
|
|
54
|
+
required: true
|
|
55
|
+
|
|
56
|
+
- type: dropdown
|
|
57
|
+
id: os
|
|
58
|
+
attributes:
|
|
59
|
+
label: Operating system
|
|
60
|
+
options:
|
|
61
|
+
- Windows
|
|
62
|
+
- macOS
|
|
63
|
+
- Linux desktop
|
|
64
|
+
- Linux headless
|
|
65
|
+
validations:
|
|
66
|
+
required: true
|
|
67
|
+
|
|
68
|
+
- type: input
|
|
69
|
+
id: versions
|
|
70
|
+
attributes:
|
|
71
|
+
label: Python version and commit
|
|
72
|
+
placeholder: "Python 3.12.4, commit a1b2c3d"
|
|
73
|
+
validations:
|
|
74
|
+
required: true
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
blank_issues_enabled: false
|
|
2
|
+
contact_links:
|
|
3
|
+
- name: Question or idea
|
|
4
|
+
url: https://github.com/Procesio-Externals/procesio-cli/discussions
|
|
5
|
+
about: Ask how something works, or float an idea that isn't a request yet.
|
|
6
|
+
- name: Security vulnerability
|
|
7
|
+
url: https://github.com/Procesio-Externals/procesio-cli/security/advisories/new
|
|
8
|
+
about: Report privately. Don't open a public issue.
|
|
9
|
+
- name: PROCESIO platform support
|
|
10
|
+
url: https://procesio.com
|
|
11
|
+
about: For the platform itself rather than this toolkit. Sign in at https://procesio.app.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
name: Documentation problem
|
|
2
|
+
description: Something in the docs is wrong, missing, or hard to follow.
|
|
3
|
+
labels: ["documentation", "needs triage"]
|
|
4
|
+
body:
|
|
5
|
+
- type: markdown
|
|
6
|
+
attributes:
|
|
7
|
+
value: |
|
|
8
|
+
For a typo, you don't need an issue. Open the file, click the pencil
|
|
9
|
+
icon, and GitHub opens a pull request for you.
|
|
10
|
+
|
|
11
|
+
- type: input
|
|
12
|
+
id: where
|
|
13
|
+
attributes:
|
|
14
|
+
label: Which file or page
|
|
15
|
+
placeholder: "README.md, the credentials section"
|
|
16
|
+
validations:
|
|
17
|
+
required: true
|
|
18
|
+
|
|
19
|
+
- type: textarea
|
|
20
|
+
id: problem
|
|
21
|
+
attributes:
|
|
22
|
+
label: What's wrong
|
|
23
|
+
validations:
|
|
24
|
+
required: true
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
name: Feature request
|
|
2
|
+
description: Suggest a tool, an action, or a change in behavior.
|
|
3
|
+
labels: ["enhancement", "needs triage"]
|
|
4
|
+
body:
|
|
5
|
+
- type: textarea
|
|
6
|
+
id: problem
|
|
7
|
+
attributes:
|
|
8
|
+
label: What you're trying to do
|
|
9
|
+
description: Describe the task, not the solution. What can't you do today?
|
|
10
|
+
validations:
|
|
11
|
+
required: true
|
|
12
|
+
|
|
13
|
+
- type: textarea
|
|
14
|
+
id: proposal
|
|
15
|
+
attributes:
|
|
16
|
+
label: What you'd like
|
|
17
|
+
description: If you have a shape in mind, sketch the command or the API.
|
|
18
|
+
validations:
|
|
19
|
+
required: true
|
|
20
|
+
|
|
21
|
+
- type: textarea
|
|
22
|
+
id: alternatives
|
|
23
|
+
attributes:
|
|
24
|
+
label: What you do instead today
|
|
25
|
+
description: The workaround, if you have one.
|
|
26
|
+
|
|
27
|
+
- type: dropdown
|
|
28
|
+
id: contribute
|
|
29
|
+
attributes:
|
|
30
|
+
label: Would you like to build it?
|
|
31
|
+
options:
|
|
32
|
+
- "Yes, if a maintainer agrees on the approach"
|
|
33
|
+
- "No, I'm suggesting it"
|
|
34
|
+
validations:
|
|
35
|
+
required: true
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
## What this changes
|
|
2
|
+
|
|
3
|
+
<!-- One or two sentences. Link the issue if there is one: Fixes #123 -->
|
|
4
|
+
|
|
5
|
+
## Why
|
|
6
|
+
|
|
7
|
+
<!-- What breaks, or what you can't do, without this change. -->
|
|
8
|
+
|
|
9
|
+
## How you tested it
|
|
10
|
+
|
|
11
|
+
<!-- Commands you ran, and the platform version or environment if it matters. -->
|
|
12
|
+
|
|
13
|
+
## Checklist
|
|
14
|
+
|
|
15
|
+
- [ ] `uv run pytest` passes.
|
|
16
|
+
- [ ] I added a test, or this change can't be tested.
|
|
17
|
+
- [ ] I didn't move or rename any file.
|
|
18
|
+
- [ ] There are no credentials, `.procesio` export files, real workspace GUIDs,
|
|
19
|
+
customer data, or personal names in the diff.
|
|
20
|
+
- [ ] **Allow edits by maintainers** is checked.
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
name: ci
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
test:
|
|
10
|
+
# The credential store is per-OS, so it is tested per-OS. A change that only
|
|
11
|
+
# works on the maintainer's machine is exactly what this matrix is for.
|
|
12
|
+
strategy:
|
|
13
|
+
fail-fast: false
|
|
14
|
+
matrix:
|
|
15
|
+
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
16
|
+
python-version: ["3.11", "3.12"]
|
|
17
|
+
runs-on: ${{ matrix.os }}
|
|
18
|
+
steps:
|
|
19
|
+
- uses: actions/checkout@v4
|
|
20
|
+
- uses: astral-sh/setup-uv@v5
|
|
21
|
+
with:
|
|
22
|
+
# Without this the matrix is decoration: uv picks its own interpreter,
|
|
23
|
+
# every job runs the same one, and the job names claim a coverage the
|
|
24
|
+
# run does not have.
|
|
25
|
+
python-version: ${{ matrix.python-version }}
|
|
26
|
+
- run: uv sync --all-extras --python ${{ matrix.python-version }}
|
|
27
|
+
- name: tests
|
|
28
|
+
# Every suite the repo ships, not just the two obvious ones: the
|
|
29
|
+
# dashboard and the MCP bridge carry tests too, and leaving them out
|
|
30
|
+
# meant a green CI that had never exercised either.
|
|
31
|
+
run: uv run pytest tools agents dashboard webplatform -q
|
|
32
|
+
- name: no secrets in tracked files
|
|
33
|
+
run: uv run python scripts/secret_scan.py
|
|
34
|
+
- name: generated files are current
|
|
35
|
+
run: |
|
|
36
|
+
uv run python scripts/build-router.py --check
|
|
37
|
+
- name: skills are valid
|
|
38
|
+
# The manuals are generated, and a generated file nothing parses is how
|
|
39
|
+
# 35 of them shipped with invalid YAML frontmatter. The validator is the
|
|
40
|
+
# thing that would have caught it.
|
|
41
|
+
run: uv run python scripts/validate-skills.py
|
|
42
|
+
- name: both MCP surfaces start, and the plugin launches the one plugin/.mcp.json names
|
|
43
|
+
# The launch command is read OUT of .mcp.json rather than repeated here. A gate
|
|
44
|
+
# that names its own command stops testing the plugin the moment the config
|
|
45
|
+
# points somewhere else, and stays green the whole time it is not testing it.
|
|
46
|
+
#
|
|
47
|
+
# Proving this here is the only place it gets proven: a plugin that installs and
|
|
48
|
+
# then fails to start is indistinguishable from a broken product. Both surfaces
|
|
49
|
+
# are checked because both ship - the curated one the plugin uses, and the full
|
|
50
|
+
# registry one anybody can still configure by hand.
|
|
51
|
+
if: runner.os == 'Linux'
|
|
52
|
+
run: |
|
|
53
|
+
python - <<'PY'
|
|
54
|
+
import json, pathlib, subprocess
|
|
55
|
+
|
|
56
|
+
# The plugin pins the PyPI release ("procesio-cli==<version>"), which does not
|
|
57
|
+
# exist yet while its pull request is open, so the checkout stands in for it.
|
|
58
|
+
# Everything else in the command (pins, interpreter choice) runs as shipped.
|
|
59
|
+
cfg = json.loads(pathlib.Path("plugin/.mcp.json").read_text())["mcpServers"]["procesio"]
|
|
60
|
+
args = [a.replace("${CLAUDE_PLUGIN_ROOT}", "plugin") for a in cfg["args"]]
|
|
61
|
+
release = args[args.index("--from") + 1]
|
|
62
|
+
if not release.startswith("procesio-cli=="):
|
|
63
|
+
raise SystemExit(f"plugin/.mcp.json must pin an exact release, got {release!r}")
|
|
64
|
+
args[args.index("--from") + 1] = "."
|
|
65
|
+
plugin_argv = [cfg["command"]] + args
|
|
66
|
+
request = '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}\n'
|
|
67
|
+
|
|
68
|
+
for label, argv in (
|
|
69
|
+
("plugin, per plugin/.mcp.json", plugin_argv),
|
|
70
|
+
("full registry surface", ["uvx", "--python-preference", "system",
|
|
71
|
+
"--python", ">=3.11",
|
|
72
|
+
"--from", ".", "--constraints", "constraints.txt",
|
|
73
|
+
"--build-constraints", "build-constraints.txt",
|
|
74
|
+
"procesio-mcp"]),
|
|
75
|
+
):
|
|
76
|
+
proc = subprocess.run(argv, input=request, capture_output=True,
|
|
77
|
+
text=True, timeout=600)
|
|
78
|
+
if proc.returncode != 0:
|
|
79
|
+
raise SystemExit(f"{label}: exited {proc.returncode}\n{proc.stderr[-2000:]}")
|
|
80
|
+
tools = json.loads(proc.stdout.splitlines()[0])["result"]["tools"]
|
|
81
|
+
if not tools:
|
|
82
|
+
raise SystemExit(f"{label}: started but listed no tools")
|
|
83
|
+
print(f"{label}: {len(tools)} tools via {' '.join(argv)}")
|
|
84
|
+
PY
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
name: release
|
|
2
|
+
|
|
3
|
+
# Publishing is driven by a tag, so the thing released is always a commit someone
|
|
4
|
+
# deliberately marked. One tag produces three things:
|
|
5
|
+
# 1. a GitHub release carrying procesio-mcp-<version>.mcpb, the one-click MCP bundle;
|
|
6
|
+
# 2. the PyPI package, only once the repository variable PYPI_PUBLISH is "true";
|
|
7
|
+
# 3. the entry in the official MCP Registry, io.github.Procesio-Externals/procesio-cli.
|
|
8
|
+
# Nothing here holds a token. PyPI and the MCP Registry both take the job's identity over
|
|
9
|
+
# OIDC: PyPI once trusted publishing is configured on pypi.org against this repository,
|
|
10
|
+
# this workflow file and the `pypi` environment; the registry needs nothing configured,
|
|
11
|
+
# because a GitHub OIDC token from this repository is what owns the io.github namespace.
|
|
12
|
+
on:
|
|
13
|
+
push:
|
|
14
|
+
tags:
|
|
15
|
+
- "v*"
|
|
16
|
+
workflow_dispatch:
|
|
17
|
+
|
|
18
|
+
permissions:
|
|
19
|
+
contents: read
|
|
20
|
+
|
|
21
|
+
jobs:
|
|
22
|
+
build:
|
|
23
|
+
name: build distributions
|
|
24
|
+
runs-on: ubuntu-latest
|
|
25
|
+
steps:
|
|
26
|
+
# Third-party actions are pinned to a commit SHA, not a moving tag: a tag can be
|
|
27
|
+
# repointed at new code, and this workflow holds id-token: write. The trailing
|
|
28
|
+
# comment records which release the SHA was, so a bump stays a reviewable change.
|
|
29
|
+
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
|
|
30
|
+
- uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5
|
|
31
|
+
with:
|
|
32
|
+
enable-cache: true
|
|
33
|
+
- name: build wheel and sdist
|
|
34
|
+
run: uv build
|
|
35
|
+
- name: the tag and the package version must agree
|
|
36
|
+
# A tag that says one thing while the metadata says another is how a release
|
|
37
|
+
# ends up unreproducible. Cheaper to fail here than to yank from PyPI.
|
|
38
|
+
run: |
|
|
39
|
+
tag="${GITHUB_REF_NAME#v}"
|
|
40
|
+
pkg=$(ls dist/*.tar.gz | sed -E 's/.*-([0-9][^-]*)\.tar\.gz/\1/')
|
|
41
|
+
echo "tag=$tag package=$pkg"
|
|
42
|
+
test "$tag" = "$pkg"
|
|
43
|
+
if: startsWith(github.ref, 'refs/tags/v')
|
|
44
|
+
- name: the built package installs and runs
|
|
45
|
+
# Installed into a clean environment, not the checkout: this is what catches a
|
|
46
|
+
# wheel that builds but ships an incomplete tree.
|
|
47
|
+
run: |
|
|
48
|
+
uv venv /tmp/verify
|
|
49
|
+
VIRTUAL_ENV=/tmp/verify uv pip install dist/*.whl
|
|
50
|
+
cd /tmp && /tmp/verify/bin/procesio-tools > /dev/null
|
|
51
|
+
echo "entry points run from an installed package"
|
|
52
|
+
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
|
|
53
|
+
with:
|
|
54
|
+
name: dist
|
|
55
|
+
path: dist/
|
|
56
|
+
|
|
57
|
+
publish:
|
|
58
|
+
name: publish to PyPI
|
|
59
|
+
needs: build
|
|
60
|
+
# Off until trusted publishing exists on pypi.org: without it this job can only fail,
|
|
61
|
+
# and the registry entry below must not list a package PyPI does not have.
|
|
62
|
+
if: vars.PYPI_PUBLISH == 'true'
|
|
63
|
+
runs-on: ubuntu-latest
|
|
64
|
+
# The environment is the approval gate: require a reviewer on it in the repository
|
|
65
|
+
# settings and a release cannot go out on a tag push alone.
|
|
66
|
+
environment:
|
|
67
|
+
name: pypi
|
|
68
|
+
url: https://pypi.org/p/procesio-cli
|
|
69
|
+
permissions:
|
|
70
|
+
id-token: write # OIDC, so no API token is stored anywhere
|
|
71
|
+
steps:
|
|
72
|
+
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
|
|
73
|
+
with:
|
|
74
|
+
name: dist
|
|
75
|
+
path: dist/
|
|
76
|
+
- uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # release/v1
|
|
77
|
+
|
|
78
|
+
mcpb:
|
|
79
|
+
name: build the MCP bundle and attach it to the release
|
|
80
|
+
runs-on: ubuntu-latest
|
|
81
|
+
if: startsWith(github.ref, 'refs/tags/v')
|
|
82
|
+
permissions:
|
|
83
|
+
contents: write # creates the GitHub release that hosts the bundle
|
|
84
|
+
outputs:
|
|
85
|
+
sha256: ${{ steps.pack.outputs.sha256 }}
|
|
86
|
+
steps:
|
|
87
|
+
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
|
|
88
|
+
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
|
|
89
|
+
with:
|
|
90
|
+
node-version: "lts/*"
|
|
91
|
+
- name: pack
|
|
92
|
+
id: pack
|
|
93
|
+
# The bundle is the tracked tree plus mcpb/manifest.json at its root. It is a
|
|
94
|
+
# "uv" bundle: the host installs the dependencies from pyproject.toml, so the
|
|
95
|
+
# file stays small and carries no compiled code.
|
|
96
|
+
run: |
|
|
97
|
+
version="${GITHUB_REF_NAME#v}"
|
|
98
|
+
mkdir -p build/bundle dist
|
|
99
|
+
git archive HEAD | tar -x -C build/bundle
|
|
100
|
+
cp mcpb/manifest.json build/bundle/manifest.json
|
|
101
|
+
test "$(jq -r .version build/bundle/manifest.json)" = "$version"
|
|
102
|
+
npx -y @anthropic-ai/mcpb@2.1.2 validate build/bundle/manifest.json
|
|
103
|
+
npx -y @anthropic-ai/mcpb@2.1.2 pack build/bundle "dist/procesio-mcp-$version.mcpb"
|
|
104
|
+
sha=$(sha256sum "dist/procesio-mcp-$version.mcpb" | cut -d' ' -f1)
|
|
105
|
+
echo "sha256=$sha" >> "$GITHUB_OUTPUT"
|
|
106
|
+
echo "procesio-mcp-$version.mcpb sha256 $sha"
|
|
107
|
+
- name: release
|
|
108
|
+
env:
|
|
109
|
+
GH_TOKEN: ${{ github.token }}
|
|
110
|
+
run: |
|
|
111
|
+
gh release create "$GITHUB_REF_NAME" dist/*.mcpb --verify-tag --title "$GITHUB_REF_NAME" --notes-file CHANGELOG.md
|
|
112
|
+
|
|
113
|
+
mcp-registry:
|
|
114
|
+
name: publish to the MCP Registry
|
|
115
|
+
needs: [mcpb, publish]
|
|
116
|
+
# Runs whether or not the PyPI job ran; it only refuses when something it needs failed.
|
|
117
|
+
if: >-
|
|
118
|
+
always() && needs.mcpb.result == 'success' &&
|
|
119
|
+
(needs.publish.result == 'success' || needs.publish.result == 'skipped')
|
|
120
|
+
runs-on: ubuntu-latest
|
|
121
|
+
permissions:
|
|
122
|
+
id-token: write # the GitHub OIDC token is the registry login
|
|
123
|
+
contents: read
|
|
124
|
+
env:
|
|
125
|
+
# Pinned and checksummed rather than releases/latest: this binary runs with an
|
|
126
|
+
# OIDC token in reach. Bump both values together, from the release's checksums file.
|
|
127
|
+
MCP_PUBLISHER_VERSION: v1.8.1
|
|
128
|
+
MCP_PUBLISHER_SHA256: a06c9096dcb9727c13555b6be26c7effa707b01f06a4c561ba7a3635443cf2cc
|
|
129
|
+
steps:
|
|
130
|
+
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
|
|
131
|
+
- name: fill in server.json for this release
|
|
132
|
+
# server.json is immutable once a version is in the registry, so everything in it
|
|
133
|
+
# is checked here: the version must be the tag, the bundle hash is the one just
|
|
134
|
+
# built, and the PyPI package is listed only when PyPI really has it.
|
|
135
|
+
env:
|
|
136
|
+
MCPB_SHA256: ${{ needs.mcpb.outputs.sha256 }}
|
|
137
|
+
PYPI_PUBLISH: ${{ vars.PYPI_PUBLISH }}
|
|
138
|
+
run: |
|
|
139
|
+
python3 - <<'PY'
|
|
140
|
+
import json, os
|
|
141
|
+
version = os.environ["GITHUB_REF_NAME"].removeprefix("v")
|
|
142
|
+
doc = json.load(open("server.json", encoding="utf-8"))
|
|
143
|
+
assert doc["version"] == version, (doc["version"], version)
|
|
144
|
+
packages = []
|
|
145
|
+
for pkg in doc["packages"]:
|
|
146
|
+
if pkg["registryType"] == "mcpb":
|
|
147
|
+
assert version in pkg["identifier"], pkg["identifier"]
|
|
148
|
+
pkg["fileSha256"] = os.environ["MCPB_SHA256"]
|
|
149
|
+
elif pkg["registryType"] == "pypi" and os.environ.get("PYPI_PUBLISH") != "true":
|
|
150
|
+
continue
|
|
151
|
+
packages.append(pkg)
|
|
152
|
+
doc["packages"] = packages
|
|
153
|
+
json.dump(doc, open("server.json", "w", encoding="utf-8"), indent=2)
|
|
154
|
+
print(json.dumps(doc, indent=2))
|
|
155
|
+
PY
|
|
156
|
+
- name: install mcp-publisher
|
|
157
|
+
run: |
|
|
158
|
+
curl -fsSL -o mcp-publisher.tar.gz "https://github.com/modelcontextprotocol/registry/releases/download/${MCP_PUBLISHER_VERSION}/mcp-publisher_linux_amd64.tar.gz"
|
|
159
|
+
echo "${MCP_PUBLISHER_SHA256} mcp-publisher.tar.gz" | sha256sum -c -
|
|
160
|
+
tar -xzf mcp-publisher.tar.gz mcp-publisher
|
|
161
|
+
- name: publish
|
|
162
|
+
run: |
|
|
163
|
+
./mcp-publisher login github-oidc
|
|
164
|
+
./mcp-publisher publish
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
.venv/
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.pyc
|
|
4
|
+
*.pyo
|
|
5
|
+
.env
|
|
6
|
+
.env.*
|
|
7
|
+
*.local
|
|
8
|
+
.idea/
|
|
9
|
+
.vscode/
|
|
10
|
+
.DS_Store
|
|
11
|
+
Thumbs.db
|
|
12
|
+
|
|
13
|
+
# Per-user state: credentials profiles, environment registry, run history.
|
|
14
|
+
# Never versioned - wiping this folder gives you a clean install.
|
|
15
|
+
context-state-knowledge/
|
|
16
|
+
|
|
17
|
+
# Local scratch.
|
|
18
|
+
outputs/
|
|
19
|
+
scratchpad/
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Agent instructions
|
|
2
|
+
|
|
3
|
+
This repository's instructions for AI assistants live in **[CLAUDE.md](CLAUDE.md)**,
|
|
4
|
+
including a generated capability router that maps a request to the exact command
|
|
5
|
+
that serves it.
|
|
6
|
+
|
|
7
|
+
Read that file first. It is not Claude-specific despite the name; the name is what
|
|
8
|
+
several assistants look for by default, and duplicating the content here would give
|
|
9
|
+
you two copies to drift apart.
|
|
10
|
+
|
|
11
|
+
Quick orientation:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
python scripts/list-tools.py # what is installed and configured
|
|
15
|
+
python scripts/run-tool.py procesio --help # the PROCESIO tool's actions
|
|
16
|
+
python scripts/run-agent.py procesio guidance # how to build and test properly
|
|
17
|
+
```
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to PROCESIO CLI + Agent are recorded here. The format follows
|
|
4
|
+
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the project uses
|
|
5
|
+
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
|
+
|
|
7
|
+
This file is generated into the public repository from the PROCESIO monorepo; edit it
|
|
8
|
+
there, not here.
|
|
9
|
+
|
|
10
|
+
## [Unreleased]
|
|
11
|
+
|
|
12
|
+
## [0.1.1] - 2026-10-27
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
- The Claude Code plugin moved to `plugin/`. It now installs the exact PyPI release
|
|
16
|
+
(`uvx --from procesio-cli==0.1.1`) instead of building the repository, ships four
|
|
17
|
+
skills and a listing icon, and no longer picks up the repository's agent docs as
|
|
18
|
+
subagents. The marketplace entry points at `./plugin`.
|
|
19
|
+
- First release published to PyPI, so `pip install procesio-cli` and `uvx` work without a
|
|
20
|
+
clone.
|
|
21
|
+
|
|
22
|
+
### Added
|
|
23
|
+
- Each release attaches an MCPB bundle and is listed in the official MCP Registry as
|
|
24
|
+
`io.github.Procesio-Externals/procesio-cli`.
|
|
25
|
+
|
|
26
|
+
## [0.1.0] - 2026-10-27
|
|
27
|
+
|
|
28
|
+
First public release of PROCESIO CLI + Agent.
|
|
29
|
+
|
|
30
|
+
### Added
|
|
31
|
+
- The PROCESIO CLI: every platform API action as a subcommand, plus a generic `request`
|
|
32
|
+
for anything not wrapped.
|
|
33
|
+
- A local MCP server, so an AI coding assistant can drive the platform over stdio.
|
|
34
|
+
- Agent Skills carrying the build, verify and audit method.
|
|
35
|
+
- Credentials in the operating system's secret store, never in a file.
|
|
36
|
+
- Irreversible actions stop and ask before they run.
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# PROCESIO CLI + Agent
|
|
2
|
+
|
|
3
|
+
Instructions for an AI assistant working in this repository. A human reader wants
|
|
4
|
+
[README.md](README.md) instead.
|
|
5
|
+
|
|
6
|
+
Command-line tooling and an AI agent for the PROCESIO automation platform: drive processes, forms, documents and custom actions from a terminal or from an AI coding assistant.
|
|
7
|
+
|
|
8
|
+
## What this repo is
|
|
9
|
+
|
|
10
|
+
A registry of **tools** and **agents** for the PROCESIO automation platform. A tool is
|
|
11
|
+
a script that talks to PROCESIO. An agent carries method rather than mechanics: it
|
|
12
|
+
drives tools and knows how the work should be done. Both are discovered from their
|
|
13
|
+
manifests, so nothing anywhere holds a hardcoded list.
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
python scripts/list-tools.py # what exists, and whether it is ready
|
|
17
|
+
python scripts/run-tool.py procesio --help # every action and its arguments
|
|
18
|
+
python scripts/run-agent.py procesio guidance # the build-and-test playbook
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
The capability router at the bottom of this file maps a request to the command that
|
|
22
|
+
serves it. It is generated from the manifests, so trust it over your memory of an
|
|
23
|
+
earlier session.
|
|
24
|
+
|
|
25
|
+
## The contract
|
|
26
|
+
|
|
27
|
+
1. **JSON in, JSON out.** A tool prints exactly one JSON object on stdout for success,
|
|
28
|
+
or `{"error": {"code", "message", "details"}}` for failure, and exits non-zero on
|
|
29
|
+
failure. Progress and debug output go to stderr only. Never print anything else to
|
|
30
|
+
stdout: a caller is parsing it.
|
|
31
|
+
2. **The manifest is the source of truth.** `tool.yaml` declares actions, arguments,
|
|
32
|
+
secrets and output. The registry reads manifests; everything else reads the
|
|
33
|
+
registry. Change the manifest in the same commit as the contract it describes.
|
|
34
|
+
3. **Regenerate what is generated.** After a manifest change run
|
|
35
|
+
`python scripts/build-tool-skill.py <tool>` and `python scripts/build-router.py`.
|
|
36
|
+
A stale generated file is worse than a missing one, because it will be believed.
|
|
37
|
+
4. **No secrets in files.** Ever. Credentials live in the OS credential store under
|
|
38
|
+
`agents-and-tools:<tool>:<secret>` and are read through `tools/_lib/creds.py`.
|
|
39
|
+
`python scripts/secret_scan.py` enforces this over the tree and refuses anything
|
|
40
|
+
credential-shaped. Never log, print or commit a secret value.
|
|
41
|
+
5. **Framework and user data are separate.** `tools/`, `agents/` and `scripts/` are
|
|
42
|
+
shareable code and carry zero user-specific data. Everything about a particular
|
|
43
|
+
user or installation, including the environment registry and credential profiles,
|
|
44
|
+
lives under `context-state-knowledge/`, which is never versioned. Resolve those
|
|
45
|
+
paths through `tools/_lib/userdata.py`, never by hand.
|
|
46
|
+
|
|
47
|
+
## Credentials
|
|
48
|
+
|
|
49
|
+
Which store is used follows the platform, with no configuration: Windows Credential
|
|
50
|
+
Manager, the macOS login Keychain, or the Linux desktop keyring. A headless machine
|
|
51
|
+
has no OS keyring, so choose one explicitly with `AAT_CREDS_BACKEND`:
|
|
52
|
+
`encrypted-file` (read/write, passphrase in `AAT_SECRETS_PASSPHRASE`), or `file` / `env`
|
|
53
|
+
for secrets a host or cluster already manages. See `tools/_lib/README.md`.
|
|
54
|
+
|
|
55
|
+
Store a credential with `python scripts/set-credential.py <tool> <secret>`. Never write
|
|
56
|
+
one into a file, an argument, or a config, and never echo one back to the user.
|
|
57
|
+
|
|
58
|
+
## Working on a PROCESIO process
|
|
59
|
+
|
|
60
|
+
`tools/procesio/` holds the mechanics: the API client, the DTOs, the flow model, the
|
|
61
|
+
canvas layout engine, and one handler per action. Its long-form notes
|
|
62
|
+
(`PROCESIO-*-NOTES.md`) record non-obvious platform behaviour discovered the hard way,
|
|
63
|
+
and they are the first place to look when the API does something surprising.
|
|
64
|
+
|
|
65
|
+
`agents/procesio/` holds the method: the build-and-test playbook, the best practices,
|
|
66
|
+
and the verify gate. Before building or changing a process, read
|
|
67
|
+
`python scripts/run-agent.py procesio guidance`. Before calling one done, run
|
|
68
|
+
`python scripts/run-agent.py procesio verify --process-id <id>` - a process that
|
|
69
|
+
validates is not the same as a process that runs.
|
|
70
|
+
|
|
71
|
+
## Adding a tool
|
|
72
|
+
|
|
73
|
+
1. Create `tools/<name>/` with a `tool.yaml`, an entrypoint, and a `README.md`.
|
|
74
|
+
2. Declare every secret under `secrets:`. The registry reports `missing_secrets` until
|
|
75
|
+
they are stored, which is how "not configured" stays distinct from "broken".
|
|
76
|
+
3. Generate its manual: `python scripts/build-tool-skill.py <name>`.
|
|
77
|
+
4. Confirm it appears in `python scripts/list-tools.py`.
|
|
78
|
+
|
|
79
|
+
Write anything you learn about an external system into a durable note in that tool's
|
|
80
|
+
own folder in the same session you learn it. A discovery that lives only in a chat is
|
|
81
|
+
gone by the next one.
|
|
82
|
+
|
|
83
|
+
## Capability Router (auto-generated)
|
|
84
|
+
|
|
85
|
+
<!-- CAPABILITY-ROUTER:START — generated by scripts/build-router.py; rerun after adding/removing a tool. Do not hand-edit. -->
|
|
86
|
+
|
|
87
|
+
### Tools — run with `python scripts/run-tool.py <tool> <action> [--args]`
|
|
88
|
+
|
|
89
|
+
- **connector-builder** — build a PROCESIO custom action / connector from API docs; generate a .nupkg connector for PROCESIO from documentation; create / run / drive an AI Connector Builder build; approve / revise the plan / regenerate files / download the connector artifact; edit the connector builder's prompts / spec modules / examples (improve generation) → `connector-builder create-build --api-url <docs-url> --user-requirements '...' (then gather / answer / approve-plan / approve-generate / download-artifact)`
|
|
90
|
+
- **framework-map** — regenerate / rebuild the framework map or the agents-and-tools visualization; update the framework HTML with the new tools / agents / mechanics; refresh the agents and tools diagram / presentation page; which tools or agents changed / still need an RO translation; build the bilingual framework map (EN/RO) → `framework-map build (dry-run counts + untranslated: framework-map check)`
|
|
91
|
+
- **mysql** — run a MySQL query; query a MySQL / MariaDB database; read a table from MySQL; list MySQL tables or columns → `mysql query --profile default --sql "SELECT * FROM issues LIMIT 10"`
|
|
92
|
+
- **procesio** — procesio; run a procesio process; launch procesio process; procesio workspace; procesio api; list procesio processes; procesio instance; trigger procesio flow; procesio endpoint; export procesio; procesio export; import procesio / import a .procesio bundle; duplicate a process / copy a process / clone a process; delete a process / form / document / webhook / credential; validate a process (correctness oracle); test a credential connection / test a custom action; upload / install / delete / list a custom action (.nupkg connector); download a flow-instance file (Generate-Document output); layout / re-lay-out a process canvas; read or inspect a flow graph; list forms / list documents; get or toggle a process; AI Decisional; switch procesio environment / work on PROCESIO Internal-QA / Internal-DEV / a client env; list / add / set the default procesio environment (<Client>-<ENV>); bind a credential to an environment; run procesio against QA / DEV / staging / a client installation → `procesio list-processes (run: procesio run-process --id <id> --payload '{...}')`
|
|
93
|
+
- **sqlserver** — run a SQL Server query; query a SQL Server / MSSQL database; read a table from SQL Server; list SQL Server tables or columns → `sqlserver query --profile default --sql "SELECT TOP 10 * FROM dbo.Customer"`
|
|
94
|
+
- **web** — drive/scrape a website that has no API, using a saved login session; deeper web research → `web run --session <name> ... (read text: web get-text; one-time login: web save-session)`
|
|
95
|
+
- **xlsx** — Read local Excel (.xlsx/.xlsm) workbooks - list sheets, read a sheet as JSON, or dump the whole file to text → `xlsx list-sheets`
|
|
96
|
+
|
|
97
|
+
### Agents — run with `python scripts/run-agent.py <agent> <action> [--args]`
|
|
98
|
+
|
|
99
|
+
- **connector-builder** — build a PROCESIO custom action / connector from API docs and test it; drive the AI Connector Builder end to end (gather → plan → generate → compile); what's the next step for this connector build; upload a generated connector to PROCESIO and improve it from the feedback; how do I run the connector build → test → improve loop → `connector-builder next-step --build-id <ID> (checklist: connector-builder checklist; guidance: connector-builder guidance --topic playbook; status: connector-builder status)`
|
|
100
|
+
- **procesio** — build a procesio use case; test / verify a procesio process or resource; audit a procesio process for best practices; how should I build / test in procesio; improve a procesio implementation → `procesio verify --process-id <id> (audit: procesio audit --process-id <id>; guidance: procesio guidance; checklist: procesio checklist)`
|
|
101
|
+
|
|
102
|
+
### Skills
|
|
103
|
+
|
|
104
|
+
Claude **auto-triggers** these from their descriptions — do NOT run-tool them. Project agents discover them via the registry and load one's full content with `python scripts/get-skill.py <name> --content`.
|
|
105
|
+
|
|
106
|
+
**Registered in this project** — run `python scripts/list-skills.py` (`skills/<name>/`):
|
|
107
|
+
|
|
108
|
+
- **agent-skill-engineer** — create, update, split, merge, refactor, or audit an Agent Skill or SKILL.md package; optimize skill descriptions, routing boundaries, progressive disclosure, context cost, or safety; design fixed-rubric skill evaluations, baselines, A/A noise checks, A/B comparisons, or field trials → `get-skill.py agent-skill-engineer`
|
|
109
|
+
- **procesio-cli** — operate or troubleshoot a PROCESIO workspace through the CLI or MCP; create, edit, run, validate, audit, export, import, schedule, trigger, test, or verify a PROCESIO resource; inspect a PROCESIO process instance, form, document, webhook, credential, data model, or custom action → `get-skill.py procesio-cli`
|
|
110
|
+
- **procesio-cli-maintainer** — change or review the procesio-cli repository source, manifests, tools, agents, MCP, registry, CI, or tests; add an action or capability while preserving JSON, credentials, routing, generation, and reversibility contracts; integrate an already-designed Agent Skill into repository generation, translations, governance, or release controls → `get-skill.py procesio-cli-maintainer`
|
|
111
|
+
- **procesio-platform-advisor** — assess PROCESIO product fit, feasibility, architecture, pricing, sizing, or compliance; compare PROCESIO with another automation or integration platform; decide which processes to automate without changing a workspace → `get-skill.py procesio-platform-advisor`
|
|
112
|
+
- **procesio-setup** — Connect this installation to a PROCESIO workspace, so the MCP server and the CLI can reach it → `get-skill.py procesio-setup`
|
|
113
|
+
- **sql-server-optimizer** — analyze or optimize SQL Server T-SQL, execution plans, indexes, logical reads, blocking, or parameter sniffing; review SQL used in a PROCESIO Execute Query or Execute Command action; replace unsafe PROCESIO inline SQL variables with native typed parameters → `get-skill.py sql-server-optimizer`
|
|
114
|
+
|
|
115
|
+
<!-- CAPABILITY-ROUTER:END -->
|