codika 3.0.0
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.
- package/LICENSE +21 -0
- package/README.md +68 -0
- package/dist/cli/commands/completion.d.ts +15 -0
- package/dist/cli/commands/completion.d.ts.map +1 -0
- package/dist/cli/commands/completion.js +810 -0
- package/dist/cli/commands/completion.js.map +1 -0
- package/dist/cli/commands/config/clear.d.ts +12 -0
- package/dist/cli/commands/config/clear.d.ts.map +1 -0
- package/dist/cli/commands/config/clear.js +35 -0
- package/dist/cli/commands/config/clear.js.map +1 -0
- package/dist/cli/commands/config/index.d.ts +15 -0
- package/dist/cli/commands/config/index.d.ts.map +1 -0
- package/dist/cli/commands/config/index.js +21 -0
- package/dist/cli/commands/config/index.js.map +1 -0
- package/dist/cli/commands/config/set.d.ts +41 -0
- package/dist/cli/commands/config/set.d.ts.map +1 -0
- package/dist/cli/commands/config/set.js +185 -0
- package/dist/cli/commands/config/set.js.map +1 -0
- package/dist/cli/commands/config/show.d.ts +12 -0
- package/dist/cli/commands/config/show.d.ts.map +1 -0
- package/dist/cli/commands/config/show.js +45 -0
- package/dist/cli/commands/config/show.js.map +1 -0
- package/dist/cli/commands/deploy/documents.d.ts +12 -0
- package/dist/cli/commands/deploy/documents.d.ts.map +1 -0
- package/dist/cli/commands/deploy/documents.js +217 -0
- package/dist/cli/commands/deploy/documents.js.map +1 -0
- package/dist/cli/commands/deploy/index.d.ts +14 -0
- package/dist/cli/commands/deploy/index.d.ts.map +1 -0
- package/dist/cli/commands/deploy/index.js +21 -0
- package/dist/cli/commands/deploy/index.js.map +1 -0
- package/dist/cli/commands/deploy/process-data-ingestion.d.ts +13 -0
- package/dist/cli/commands/deploy/process-data-ingestion.d.ts.map +1 -0
- package/dist/cli/commands/deploy/process-data-ingestion.js +226 -0
- package/dist/cli/commands/deploy/process-data-ingestion.js.map +1 -0
- package/dist/cli/commands/deploy/use-case.d.ts +9 -0
- package/dist/cli/commands/deploy/use-case.d.ts.map +1 -0
- package/dist/cli/commands/deploy/use-case.js +212 -0
- package/dist/cli/commands/deploy/use-case.js.map +1 -0
- package/dist/cli/commands/get/execution.d.ts +9 -0
- package/dist/cli/commands/get/execution.d.ts.map +1 -0
- package/dist/cli/commands/get/execution.js +159 -0
- package/dist/cli/commands/get/execution.js.map +1 -0
- package/dist/cli/commands/get/index.d.ts +13 -0
- package/dist/cli/commands/get/index.d.ts.map +1 -0
- package/dist/cli/commands/get/index.js +20 -0
- package/dist/cli/commands/get/index.js.map +1 -0
- package/dist/cli/commands/get/skills.d.ts +15 -0
- package/dist/cli/commands/get/skills.d.ts.map +1 -0
- package/dist/cli/commands/get/skills.js +135 -0
- package/dist/cli/commands/get/skills.js.map +1 -0
- package/dist/cli/commands/get/use-case.d.ts +9 -0
- package/dist/cli/commands/get/use-case.d.ts.map +1 -0
- package/dist/cli/commands/get/use-case.js +186 -0
- package/dist/cli/commands/get/use-case.js.map +1 -0
- package/dist/cli/commands/init.d.ts +14 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +347 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/integration/delete.d.ts +13 -0
- package/dist/cli/commands/integration/delete.d.ts.map +1 -0
- package/dist/cli/commands/integration/delete.js +140 -0
- package/dist/cli/commands/integration/delete.js.map +1 -0
- package/dist/cli/commands/integration/index.d.ts +13 -0
- package/dist/cli/commands/integration/index.d.ts.map +1 -0
- package/dist/cli/commands/integration/index.js +20 -0
- package/dist/cli/commands/integration/index.js.map +1 -0
- package/dist/cli/commands/integration/list.d.ts +13 -0
- package/dist/cli/commands/integration/list.d.ts.map +1 -0
- package/dist/cli/commands/integration/list.js +129 -0
- package/dist/cli/commands/integration/list.js.map +1 -0
- package/dist/cli/commands/integration/set.d.ts +13 -0
- package/dist/cli/commands/integration/set.d.ts.map +1 -0
- package/dist/cli/commands/integration/set.js +253 -0
- package/dist/cli/commands/integration/set.js.map +1 -0
- package/dist/cli/commands/list/executions.d.ts +12 -0
- package/dist/cli/commands/list/executions.d.ts.map +1 -0
- package/dist/cli/commands/list/executions.js +168 -0
- package/dist/cli/commands/list/executions.js.map +1 -0
- package/dist/cli/commands/list/index.d.ts +11 -0
- package/dist/cli/commands/list/index.d.ts.map +1 -0
- package/dist/cli/commands/list/index.js +14 -0
- package/dist/cli/commands/list/index.js.map +1 -0
- package/dist/cli/commands/logout.d.ts +12 -0
- package/dist/cli/commands/logout.d.ts.map +1 -0
- package/dist/cli/commands/logout.js +58 -0
- package/dist/cli/commands/logout.js.map +1 -0
- package/dist/cli/commands/project/create.d.ts +8 -0
- package/dist/cli/commands/project/create.d.ts.map +1 -0
- package/dist/cli/commands/project/create.js +109 -0
- package/dist/cli/commands/project/create.js.map +1 -0
- package/dist/cli/commands/project/index.d.ts +12 -0
- package/dist/cli/commands/project/index.d.ts.map +1 -0
- package/dist/cli/commands/project/index.js +15 -0
- package/dist/cli/commands/project/index.js.map +1 -0
- package/dist/cli/commands/publish.d.ts +12 -0
- package/dist/cli/commands/publish.d.ts.map +1 -0
- package/dist/cli/commands/publish.js +152 -0
- package/dist/cli/commands/publish.js.map +1 -0
- package/dist/cli/commands/redeploy.d.ts +11 -0
- package/dist/cli/commands/redeploy.d.ts.map +1 -0
- package/dist/cli/commands/redeploy.js +166 -0
- package/dist/cli/commands/redeploy.js.map +1 -0
- package/dist/cli/commands/status.d.ts +63 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +290 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/commands/trigger.d.ts +8 -0
- package/dist/cli/commands/trigger.d.ts.map +1 -0
- package/dist/cli/commands/trigger.js +247 -0
- package/dist/cli/commands/trigger.js.map +1 -0
- package/dist/cli/commands/use.d.ts +13 -0
- package/dist/cli/commands/use.d.ts.map +1 -0
- package/dist/cli/commands/use.js +92 -0
- package/dist/cli/commands/use.js.map +1 -0
- package/dist/cli/commands/verify/index.d.ts +13 -0
- package/dist/cli/commands/verify/index.d.ts.map +1 -0
- package/dist/cli/commands/verify/index.js +18 -0
- package/dist/cli/commands/verify/index.js.map +1 -0
- package/dist/cli/commands/verify/use-case.d.ts +23 -0
- package/dist/cli/commands/verify/use-case.d.ts.map +1 -0
- package/dist/cli/commands/verify/use-case.js +94 -0
- package/dist/cli/commands/verify/use-case.js.map +1 -0
- package/dist/cli/commands/verify/workflow.d.ts +22 -0
- package/dist/cli/commands/verify/workflow.d.ts.map +1 -0
- package/dist/cli/commands/verify/workflow.js +82 -0
- package/dist/cli/commands/verify/workflow.js.map +1 -0
- package/dist/cli/commands/whoami.d.ts +13 -0
- package/dist/cli/commands/whoami.d.ts.map +1 -0
- package/dist/cli/commands/whoami.js +126 -0
- package/dist/cli/commands/whoami.js.map +1 -0
- package/dist/cli/index.d.ts +24 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +90 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/templates/claude-md-template.d.ts +12 -0
- package/dist/cli/templates/claude-md-template.d.ts.map +1 -0
- package/dist/cli/templates/claude-md-template.js +162 -0
- package/dist/cli/templates/claude-md-template.js.map +1 -0
- package/dist/cli/templates/config-template.d.ts +18 -0
- package/dist/cli/templates/config-template.d.ts.map +1 -0
- package/dist/cli/templates/config-template.js +350 -0
- package/dist/cli/templates/config-template.js.map +1 -0
- package/dist/cli/templates/skill-templates.d.ts +24 -0
- package/dist/cli/templates/skill-templates.d.ts.map +1 -0
- package/dist/cli/templates/skill-templates.js +117 -0
- package/dist/cli/templates/skill-templates.js.map +1 -0
- package/dist/cli/templates/slug.d.ts +9 -0
- package/dist/cli/templates/slug.d.ts.map +1 -0
- package/dist/cli/templates/slug.js +17 -0
- package/dist/cli/templates/slug.js.map +1 -0
- package/dist/cli/templates/workflow-templates.d.ts +693 -0
- package/dist/cli/templates/workflow-templates.d.ts.map +1 -0
- package/dist/cli/templates/workflow-templates.js +516 -0
- package/dist/cli/templates/workflow-templates.js.map +1 -0
- package/dist/cli/utils/output.d.ts +65 -0
- package/dist/cli/utils/output.d.ts.map +1 -0
- package/dist/cli/utils/output.js +188 -0
- package/dist/cli/utils/output.js.map +1 -0
- package/dist/cli/utils/validation-output.d.ts +21 -0
- package/dist/cli/utils/validation-output.d.ts.map +1 -0
- package/dist/cli/utils/validation-output.js +204 -0
- package/dist/cli/utils/validation-output.js.map +1 -0
- package/dist/data/integration-fields.d.ts +27 -0
- package/dist/data/integration-fields.d.ts.map +1 -0
- package/dist/data/integration-fields.js +361 -0
- package/dist/data/integration-fields.js.map +1 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +39 -0
- package/dist/index.js.map +1 -0
- package/dist/types/process-types.d.ts +740 -0
- package/dist/types/process-types.d.ts.map +1 -0
- package/dist/types/process-types.js +22 -0
- package/dist/types/process-types.js.map +1 -0
- package/dist/utils/config.d.ts +127 -0
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/config.js +315 -0
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/data-ingestion-deploy-client.d.ts +53 -0
- package/dist/utils/data-ingestion-deploy-client.d.ts.map +1 -0
- package/dist/utils/data-ingestion-deploy-client.js +63 -0
- package/dist/utils/data-ingestion-deploy-client.js.map +1 -0
- package/dist/utils/data-ingestion-deployer.d.ts +78 -0
- package/dist/utils/data-ingestion-deployer.d.ts.map +1 -0
- package/dist/utils/data-ingestion-deployer.js +119 -0
- package/dist/utils/data-ingestion-deployer.js.map +1 -0
- package/dist/utils/deploy-client.d.ts +55 -0
- package/dist/utils/deploy-client.d.ts.map +1 -0
- package/dist/utils/deploy-client.js +73 -0
- package/dist/utils/deploy-client.js.map +1 -0
- package/dist/utils/deployment-archiver.d.ts +110 -0
- package/dist/utils/deployment-archiver.d.ts.map +1 -0
- package/dist/utils/deployment-archiver.js +158 -0
- package/dist/utils/deployment-archiver.js.map +1 -0
- package/dist/utils/document-deploy-client.d.ts +41 -0
- package/dist/utils/document-deploy-client.d.ts.map +1 -0
- package/dist/utils/document-deploy-client.js +46 -0
- package/dist/utils/document-deploy-client.js.map +1 -0
- package/dist/utils/encryption.d.ts +85 -0
- package/dist/utils/encryption.d.ts.map +1 -0
- package/dist/utils/encryption.js +162 -0
- package/dist/utils/encryption.js.map +1 -0
- package/dist/utils/execution-client.d.ts +71 -0
- package/dist/utils/execution-client.d.ts.map +1 -0
- package/dist/utils/execution-client.js +56 -0
- package/dist/utils/execution-client.js.map +1 -0
- package/dist/utils/integration-client.d.ts +134 -0
- package/dist/utils/integration-client.d.ts.map +1 -0
- package/dist/utils/integration-client.js +109 -0
- package/dist/utils/integration-client.js.map +1 -0
- package/dist/utils/list-executions-client.d.ts +47 -0
- package/dist/utils/list-executions-client.d.ts.map +1 -0
- package/dist/utils/list-executions-client.js +50 -0
- package/dist/utils/list-executions-client.js.map +1 -0
- package/dist/utils/metadata-client.d.ts +90 -0
- package/dist/utils/metadata-client.d.ts.map +1 -0
- package/dist/utils/metadata-client.js +66 -0
- package/dist/utils/metadata-client.js.map +1 -0
- package/dist/utils/project-client.d.ts +70 -0
- package/dist/utils/project-client.d.ts.map +1 -0
- package/dist/utils/project-client.js +63 -0
- package/dist/utils/project-client.js.map +1 -0
- package/dist/utils/project-json.d.ts +71 -0
- package/dist/utils/project-json.d.ts.map +1 -0
- package/dist/utils/project-json.js +129 -0
- package/dist/utils/project-json.js.map +1 -0
- package/dist/utils/publish-client.d.ts +53 -0
- package/dist/utils/publish-client.d.ts.map +1 -0
- package/dist/utils/publish-client.js +64 -0
- package/dist/utils/publish-client.js.map +1 -0
- package/dist/utils/redeploy-client.d.ts +39 -0
- package/dist/utils/redeploy-client.d.ts.map +1 -0
- package/dist/utils/redeploy-client.js +51 -0
- package/dist/utils/redeploy-client.js.map +1 -0
- package/dist/utils/skill-parser.d.ts +52 -0
- package/dist/utils/skill-parser.d.ts.map +1 -0
- package/dist/utils/skill-parser.js +127 -0
- package/dist/utils/skill-parser.js.map +1 -0
- package/dist/utils/skills-client.d.ts +39 -0
- package/dist/utils/skills-client.d.ts.map +1 -0
- package/dist/utils/skills-client.js +32 -0
- package/dist/utils/skills-client.js.map +1 -0
- package/dist/utils/trigger-client.d.ts +78 -0
- package/dist/utils/trigger-client.d.ts.map +1 -0
- package/dist/utils/trigger-client.js +81 -0
- package/dist/utils/trigger-client.js.map +1 -0
- package/dist/utils/use-case-deployer.d.ts +93 -0
- package/dist/utils/use-case-deployer.d.ts.map +1 -0
- package/dist/utils/use-case-deployer.js +270 -0
- package/dist/utils/use-case-deployer.js.map +1 -0
- package/dist/utils/version-manager.d.ts +63 -0
- package/dist/utils/version-manager.d.ts.map +1 -0
- package/dist/utils/version-manager.js +91 -0
- package/dist/utils/version-manager.js.map +1 -0
- package/dist/utils/workflow-encoding.d.ts +26 -0
- package/dist/utils/workflow-encoding.d.ts.map +1 -0
- package/dist/utils/workflow-encoding.js +41 -0
- package/dist/utils/workflow-encoding.js.map +1 -0
- package/dist/validation/fixer.d.ts +56 -0
- package/dist/validation/fixer.d.ts.map +1 -0
- package/dist/validation/fixer.js +168 -0
- package/dist/validation/fixer.js.map +1 -0
- package/dist/validation/rules/codika-init-required.d.ts +18 -0
- package/dist/validation/rules/codika-init-required.d.ts.map +1 -0
- package/dist/validation/rules/codika-init-required.js +70 -0
- package/dist/validation/rules/codika-init-required.js.map +1 -0
- package/dist/validation/rules/codika-submit-result.d.ts +22 -0
- package/dist/validation/rules/codika-submit-result.d.ts.map +1 -0
- package/dist/validation/rules/codika-submit-result.js +144 -0
- package/dist/validation/rules/codika-submit-result.js.map +1 -0
- package/dist/validation/rules/error-branch-required.d.ts +24 -0
- package/dist/validation/rules/error-branch-required.d.ts.map +1 -0
- package/dist/validation/rules/error-branch-required.js +103 -0
- package/dist/validation/rules/error-branch-required.js.map +1 -0
- package/dist/validation/rules/index.d.ts +18 -0
- package/dist/validation/rules/index.d.ts.map +1 -0
- package/dist/validation/rules/index.js +28 -0
- package/dist/validation/rules/index.js.map +1 -0
- package/dist/validation/rules/schedule-webhook-convergence.d.ts +24 -0
- package/dist/validation/rules/schedule-webhook-convergence.d.ts.map +1 -0
- package/dist/validation/rules/schedule-webhook-convergence.js +129 -0
- package/dist/validation/rules/schedule-webhook-convergence.js.map +1 -0
- package/dist/validation/rules/subworkflow-min-params.d.ts +21 -0
- package/dist/validation/rules/subworkflow-min-params.d.ts.map +1 -0
- package/dist/validation/rules/subworkflow-min-params.js +84 -0
- package/dist/validation/rules/subworkflow-min-params.js.map +1 -0
- package/dist/validation/runner.d.ts +43 -0
- package/dist/validation/runner.d.ts.map +1 -0
- package/dist/validation/runner.js +335 -0
- package/dist/validation/runner.js.map +1 -0
- package/dist/validation/types.d.ts +155 -0
- package/dist/validation/types.d.ts.map +1 -0
- package/dist/validation/types.js +8 -0
- package/dist/validation/types.js.map +1 -0
- package/dist/validation/use-case-scripts/calledby-consistency.d.ts +23 -0
- package/dist/validation/use-case-scripts/calledby-consistency.d.ts.map +1 -0
- package/dist/validation/use-case-scripts/calledby-consistency.js +236 -0
- package/dist/validation/use-case-scripts/calledby-consistency.js.map +1 -0
- package/dist/validation/use-case-scripts/config-exports.d.ts +17 -0
- package/dist/validation/use-case-scripts/config-exports.d.ts.map +1 -0
- package/dist/validation/use-case-scripts/config-exports.js +93 -0
- package/dist/validation/use-case-scripts/config-exports.js.map +1 -0
- package/dist/validation/use-case-scripts/custom-integration-schema.d.ts +21 -0
- package/dist/validation/use-case-scripts/custom-integration-schema.d.ts.map +1 -0
- package/dist/validation/use-case-scripts/custom-integration-schema.js +378 -0
- package/dist/validation/use-case-scripts/custom-integration-schema.js.map +1 -0
- package/dist/validation/use-case-scripts/index.d.ts +27 -0
- package/dist/validation/use-case-scripts/index.d.ts.map +1 -0
- package/dist/validation/use-case-scripts/index.js +52 -0
- package/dist/validation/use-case-scripts/index.js.map +1 -0
- package/dist/validation/use-case-scripts/integration-inheritance.d.ts +35 -0
- package/dist/validation/use-case-scripts/integration-inheritance.d.ts.map +1 -0
- package/dist/validation/use-case-scripts/integration-inheritance.js +348 -0
- package/dist/validation/use-case-scripts/integration-inheritance.js.map +1 -0
- package/dist/validation/use-case-scripts/schema-types.d.ts +21 -0
- package/dist/validation/use-case-scripts/schema-types.d.ts.map +1 -0
- package/dist/validation/use-case-scripts/schema-types.js +134 -0
- package/dist/validation/use-case-scripts/schema-types.js.map +1 -0
- package/dist/validation/use-case-scripts/skill-consistency.d.ts +21 -0
- package/dist/validation/use-case-scripts/skill-consistency.d.ts.map +1 -0
- package/dist/validation/use-case-scripts/skill-consistency.js +180 -0
- package/dist/validation/use-case-scripts/skill-consistency.js.map +1 -0
- package/dist/validation/use-case-scripts/subworkflow-references.d.ts +22 -0
- package/dist/validation/use-case-scripts/subworkflow-references.d.ts.map +1 -0
- package/dist/validation/use-case-scripts/subworkflow-references.js +139 -0
- package/dist/validation/use-case-scripts/subworkflow-references.js.map +1 -0
- package/dist/validation/use-case-scripts/trigger-type-consistency.d.ts +25 -0
- package/dist/validation/use-case-scripts/trigger-type-consistency.d.ts.map +1 -0
- package/dist/validation/use-case-scripts/trigger-type-consistency.js +265 -0
- package/dist/validation/use-case-scripts/trigger-type-consistency.js.map +1 -0
- package/dist/validation/use-case-scripts/trigger-types.d.ts +20 -0
- package/dist/validation/use-case-scripts/trigger-types.d.ts.map +1 -0
- package/dist/validation/use-case-scripts/trigger-types.js +177 -0
- package/dist/validation/use-case-scripts/trigger-types.js.map +1 -0
- package/dist/validation/use-case-scripts/triggers-required.d.ts +23 -0
- package/dist/validation/use-case-scripts/triggers-required.d.ts.map +1 -0
- package/dist/validation/use-case-scripts/triggers-required.js +111 -0
- package/dist/validation/use-case-scripts/triggers-required.js.map +1 -0
- package/dist/validation/use-case-scripts/webhook-path-consistency.d.ts +28 -0
- package/dist/validation/use-case-scripts/webhook-path-consistency.d.ts.map +1 -0
- package/dist/validation/use-case-scripts/webhook-path-consistency.js +288 -0
- package/dist/validation/use-case-scripts/webhook-path-consistency.js.map +1 -0
- package/dist/validation/use-case-scripts/workflow-imports.d.ts +16 -0
- package/dist/validation/use-case-scripts/workflow-imports.d.ts.map +1 -0
- package/dist/validation/use-case-scripts/workflow-imports.js +206 -0
- package/dist/validation/use-case-scripts/workflow-imports.js.map +1 -0
- package/dist/validation/workflow-scripts/credential-placeholders.d.ts +21 -0
- package/dist/validation/workflow-scripts/credential-placeholders.d.ts.map +1 -0
- package/dist/validation/workflow-scripts/credential-placeholders.js +278 -0
- package/dist/validation/workflow-scripts/credential-placeholders.js.map +1 -0
- package/dist/validation/workflow-scripts/db-always-output.d.ts +16 -0
- package/dist/validation/workflow-scripts/db-always-output.d.ts.map +1 -0
- package/dist/validation/workflow-scripts/db-always-output.js +95 -0
- package/dist/validation/workflow-scripts/db-always-output.js.map +1 -0
- package/dist/validation/workflow-scripts/exec-workflow-wait.d.ts +15 -0
- package/dist/validation/workflow-scripts/exec-workflow-wait.d.ts.map +1 -0
- package/dist/validation/workflow-scripts/exec-workflow-wait.js +85 -0
- package/dist/validation/workflow-scripts/exec-workflow-wait.js.map +1 -0
- package/dist/validation/workflow-scripts/index.d.ts +31 -0
- package/dist/validation/workflow-scripts/index.d.ts.map +1 -0
- package/dist/validation/workflow-scripts/index.js +58 -0
- package/dist/validation/workflow-scripts/index.js.map +1 -0
- package/dist/validation/workflow-scripts/instparm-quoting.d.ts +21 -0
- package/dist/validation/workflow-scripts/instparm-quoting.d.ts.map +1 -0
- package/dist/validation/workflow-scripts/instparm-quoting.js +59 -0
- package/dist/validation/workflow-scripts/instparm-quoting.js.map +1 -0
- package/dist/validation/workflow-scripts/llm-model-id.d.ts +17 -0
- package/dist/validation/workflow-scripts/llm-model-id.d.ts.map +1 -0
- package/dist/validation/workflow-scripts/llm-model-id.js +171 -0
- package/dist/validation/workflow-scripts/llm-model-id.js.map +1 -0
- package/dist/validation/workflow-scripts/llm-output-access.d.ts +23 -0
- package/dist/validation/workflow-scripts/llm-output-access.d.ts.map +1 -0
- package/dist/validation/workflow-scripts/llm-output-access.js +274 -0
- package/dist/validation/workflow-scripts/llm-output-access.js.map +1 -0
- package/dist/validation/workflow-scripts/merge-before-terminal.d.ts +20 -0
- package/dist/validation/workflow-scripts/merge-before-terminal.d.ts.map +1 -0
- package/dist/validation/workflow-scripts/merge-before-terminal.js +87 -0
- package/dist/validation/workflow-scripts/merge-before-terminal.js.map +1 -0
- package/dist/validation/workflow-scripts/placeholder-syntax.d.ts +29 -0
- package/dist/validation/workflow-scripts/placeholder-syntax.d.ts.map +1 -0
- package/dist/validation/workflow-scripts/placeholder-syntax.js +154 -0
- package/dist/validation/workflow-scripts/placeholder-syntax.js.map +1 -0
- package/dist/validation/workflow-scripts/retry-backoff.d.ts +16 -0
- package/dist/validation/workflow-scripts/retry-backoff.d.ts.map +1 -0
- package/dist/validation/workflow-scripts/retry-backoff.js +197 -0
- package/dist/validation/workflow-scripts/retry-backoff.js.map +1 -0
- package/dist/validation/workflow-scripts/webhook-id.d.ts +17 -0
- package/dist/validation/workflow-scripts/webhook-id.d.ts.map +1 -0
- package/dist/validation/workflow-scripts/webhook-id.js +79 -0
- package/dist/validation/workflow-scripts/webhook-id.js.map +1 -0
- package/dist/validation/workflow-scripts/workflow-format.d.ts +16 -0
- package/dist/validation/workflow-scripts/workflow-format.d.ts.map +1 -0
- package/dist/validation/workflow-scripts/workflow-format.js +51 -0
- package/dist/validation/workflow-scripts/workflow-format.js.map +1 -0
- package/dist/validation/workflow-scripts/workflow-sanitization.d.ts +21 -0
- package/dist/validation/workflow-scripts/workflow-sanitization.d.ts.map +1 -0
- package/dist/validation/workflow-scripts/workflow-sanitization.js +78 -0
- package/dist/validation/workflow-scripts/workflow-sanitization.js.map +1 -0
- package/dist/validation/workflow-scripts/workflow-settings.d.ts +19 -0
- package/dist/validation/workflow-scripts/workflow-settings.d.ts.map +1 -0
- package/dist/validation/workflow-scripts/workflow-settings.js +131 -0
- package/dist/validation/workflow-scripts/workflow-settings.js.map +1 -0
- package/package.json +64 -0
|
@@ -0,0 +1,378 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Script: CUSTOM-INTEGRATION
|
|
3
|
+
*
|
|
4
|
+
* Validates custom integration schemas defined in config.ts:
|
|
5
|
+
* - All customIntegrations[].id must start with 'cstm_'
|
|
6
|
+
* - IDs must be snake_case (only lowercase letters, numbers, underscores)
|
|
7
|
+
* - No duplicate IDs within customIntegrations
|
|
8
|
+
* - n8nCredentialMapping keys must exist in secretFields or metadataFields
|
|
9
|
+
* - secretFields[].key must be UPPER_SNAKE_CASE
|
|
10
|
+
* - No duplicate field keys within an integration
|
|
11
|
+
* - If n8nCredentialType !== 'none', n8nCredentialMapping must be provided and non-empty
|
|
12
|
+
* - Custom integration IDs in integrationUids must have corresponding entries in customIntegrations
|
|
13
|
+
*/
|
|
14
|
+
import { readFileSync, existsSync } from 'fs';
|
|
15
|
+
import { join } from 'path';
|
|
16
|
+
export const RULE_ID = 'CUSTOM-INTEGRATION';
|
|
17
|
+
export const metadata = {
|
|
18
|
+
id: RULE_ID,
|
|
19
|
+
name: 'custom_integration_schema',
|
|
20
|
+
severity: 'must',
|
|
21
|
+
description: 'Custom integration schemas must be well-formed and consistent',
|
|
22
|
+
details: 'Validates cstm_ prefix, snake_case IDs, UPPER_SNAKE_CASE secret keys, no duplicates, credential mapping consistency, and integrationUids references',
|
|
23
|
+
category: 'config',
|
|
24
|
+
};
|
|
25
|
+
/** snake_case: only lowercase letters, numbers, and underscores */
|
|
26
|
+
const SNAKE_CASE_PATTERN = /^[a-z][a-z0-9_]*$/;
|
|
27
|
+
/** UPPER_SNAKE_CASE: only uppercase letters, numbers, and underscores */
|
|
28
|
+
const UPPER_SNAKE_CASE_PATTERN = /^[A-Z][A-Z0-9_]*$/;
|
|
29
|
+
/**
|
|
30
|
+
* Extract custom integration definitions and integrationUids from config.ts source.
|
|
31
|
+
*
|
|
32
|
+
* This uses regex-based extraction from the TypeScript source code rather than
|
|
33
|
+
* importing the module, since the config may not be compiled.
|
|
34
|
+
* We look for the customIntegrations array and integrationUids arrays.
|
|
35
|
+
*/
|
|
36
|
+
function extractCustomIntegrations(content) {
|
|
37
|
+
const ids = [];
|
|
38
|
+
const integrations = [];
|
|
39
|
+
const integrationUidsCstm = [];
|
|
40
|
+
// Extract custom integration IDs from id fields
|
|
41
|
+
// Pattern: id: 'cstm_...' or id: "cstm_..."
|
|
42
|
+
const idPattern = /id:\s*['"]([^'"]+)['"]/g;
|
|
43
|
+
let idMatch;
|
|
44
|
+
// Find customIntegrations array block
|
|
45
|
+
const customIntBlock = findArrayBlock(content, 'customIntegrations');
|
|
46
|
+
if (!customIntBlock) {
|
|
47
|
+
// No customIntegrations found — check integrationUids for orphaned cstm_ refs
|
|
48
|
+
extractCstmFromIntegrationUids(content, integrationUidsCstm);
|
|
49
|
+
return { ids, integrations, integrationUidsCstm };
|
|
50
|
+
}
|
|
51
|
+
// Extract each integration object from the block.
|
|
52
|
+
// First try inline objects inside the customIntegrations array.
|
|
53
|
+
let objectBlocks = extractObjectBlocks(customIntBlock);
|
|
54
|
+
// If no inline objects found, the config likely uses variable references
|
|
55
|
+
// (e.g., customIntegrations: [weatherApiIntegration, orgCrmIntegration]).
|
|
56
|
+
// In that case, find top-level variable declarations that match the
|
|
57
|
+
// CustomIntegrationSchema shape: have id: 'cstm_...', n8nCredentialType, and secretFields.
|
|
58
|
+
if (objectBlocks.length === 0) {
|
|
59
|
+
// Extract all top-level const/let/var assignments that contain cstm_ integration patterns
|
|
60
|
+
// by finding balanced {} blocks that contain the signature fields
|
|
61
|
+
const topLevelPattern = /(?:const|let|var)\s+\w+\s*(?::\s*\w+)?\s*=\s*\{/g;
|
|
62
|
+
let varMatch;
|
|
63
|
+
while ((varMatch = topLevelPattern.exec(content)) !== null) {
|
|
64
|
+
const startIdx = content.indexOf('{', varMatch.index);
|
|
65
|
+
if (startIdx === -1)
|
|
66
|
+
continue;
|
|
67
|
+
let depth = 0;
|
|
68
|
+
let endIdx = -1;
|
|
69
|
+
for (let i = startIdx; i < content.length; i++) {
|
|
70
|
+
if (content[i] === '{')
|
|
71
|
+
depth++;
|
|
72
|
+
else if (content[i] === '}') {
|
|
73
|
+
depth--;
|
|
74
|
+
if (depth === 0) {
|
|
75
|
+
endIdx = i;
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
if (endIdx === -1)
|
|
81
|
+
continue;
|
|
82
|
+
const block = content.slice(startIdx, endIdx + 1);
|
|
83
|
+
if (/id:\s*['"]cstm_/.test(block) &&
|
|
84
|
+
/n8nCredentialType:\s*['"]/.test(block) &&
|
|
85
|
+
/secretFields:\s*\[/.test(block)) {
|
|
86
|
+
objectBlocks.push(block);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
for (const block of objectBlocks) {
|
|
91
|
+
const idM = block.match(/id:\s*['"]([^'"]+)['"]/);
|
|
92
|
+
const id = idM ? idM[1] : '';
|
|
93
|
+
if (id)
|
|
94
|
+
ids.push(id);
|
|
95
|
+
const credTypeM = block.match(/n8nCredentialType:\s*['"]([^'"]+)['"]/);
|
|
96
|
+
const n8nCredentialType = credTypeM ? credTypeM[1] : 'none';
|
|
97
|
+
// Extract n8nCredentialMapping keys
|
|
98
|
+
const mappingKeys = extractMappingKeys(block);
|
|
99
|
+
// Extract secretFields keys
|
|
100
|
+
const secretFieldKeys = extractFieldKeys(block, 'secretFields');
|
|
101
|
+
// Extract metadataFields keys
|
|
102
|
+
const metadataFieldKeys = extractFieldKeys(block, 'metadataFields');
|
|
103
|
+
integrations.push({
|
|
104
|
+
id,
|
|
105
|
+
n8nCredentialType,
|
|
106
|
+
n8nCredentialMappingKeys: mappingKeys,
|
|
107
|
+
secretFieldKeys,
|
|
108
|
+
metadataFieldKeys,
|
|
109
|
+
allFieldKeys: [...secretFieldKeys, ...metadataFieldKeys],
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
// Extract cstm_ IDs from integrationUids at all levels
|
|
113
|
+
extractCstmFromIntegrationUids(content, integrationUidsCstm);
|
|
114
|
+
return { ids, integrations, integrationUidsCstm };
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Find a named array block in the source, e.g., customIntegrations: [...]
|
|
118
|
+
*/
|
|
119
|
+
function findArrayBlock(content, name) {
|
|
120
|
+
const startIdx = content.indexOf(`${name}:`);
|
|
121
|
+
if (startIdx === -1)
|
|
122
|
+
return null;
|
|
123
|
+
// Find the opening bracket
|
|
124
|
+
const bracketStart = content.indexOf('[', startIdx);
|
|
125
|
+
if (bracketStart === -1)
|
|
126
|
+
return null;
|
|
127
|
+
// Find matching closing bracket
|
|
128
|
+
let depth = 0;
|
|
129
|
+
for (let i = bracketStart; i < content.length; i++) {
|
|
130
|
+
if (content[i] === '[')
|
|
131
|
+
depth++;
|
|
132
|
+
else if (content[i] === ']') {
|
|
133
|
+
depth--;
|
|
134
|
+
if (depth === 0) {
|
|
135
|
+
return content.slice(bracketStart, i + 1);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return null;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Extract top-level object blocks from an array string.
|
|
143
|
+
*/
|
|
144
|
+
function extractObjectBlocks(arrayStr) {
|
|
145
|
+
const blocks = [];
|
|
146
|
+
let depth = 0;
|
|
147
|
+
let start = -1;
|
|
148
|
+
for (let i = 0; i < arrayStr.length; i++) {
|
|
149
|
+
if (arrayStr[i] === '{') {
|
|
150
|
+
if (depth === 0)
|
|
151
|
+
start = i;
|
|
152
|
+
depth++;
|
|
153
|
+
}
|
|
154
|
+
else if (arrayStr[i] === '}') {
|
|
155
|
+
depth--;
|
|
156
|
+
if (depth === 0 && start !== -1) {
|
|
157
|
+
blocks.push(arrayStr.slice(start, i + 1));
|
|
158
|
+
start = -1;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
return blocks;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Extract mapping keys from n8nCredentialMapping: { KEY: 'value', ... }
|
|
166
|
+
*/
|
|
167
|
+
function extractMappingKeys(block) {
|
|
168
|
+
const keys = [];
|
|
169
|
+
const mappingBlock = findObjectBlock(block, 'n8nCredentialMapping');
|
|
170
|
+
if (!mappingBlock)
|
|
171
|
+
return keys;
|
|
172
|
+
const keyPattern = /['"]?([A-Z_][A-Z0-9_]*)['"]?\s*:/g;
|
|
173
|
+
let m;
|
|
174
|
+
while ((m = keyPattern.exec(mappingBlock)) !== null) {
|
|
175
|
+
keys.push(m[1]);
|
|
176
|
+
}
|
|
177
|
+
return keys;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Find a named object block, e.g., n8nCredentialMapping: { ... }
|
|
181
|
+
*/
|
|
182
|
+
function findObjectBlock(content, name) {
|
|
183
|
+
const startIdx = content.indexOf(`${name}:`);
|
|
184
|
+
if (startIdx === -1)
|
|
185
|
+
return null;
|
|
186
|
+
const braceStart = content.indexOf('{', startIdx);
|
|
187
|
+
if (braceStart === -1)
|
|
188
|
+
return null;
|
|
189
|
+
let depth = 0;
|
|
190
|
+
for (let i = braceStart; i < content.length; i++) {
|
|
191
|
+
if (content[i] === '{')
|
|
192
|
+
depth++;
|
|
193
|
+
else if (content[i] === '}') {
|
|
194
|
+
depth--;
|
|
195
|
+
if (depth === 0) {
|
|
196
|
+
return content.slice(braceStart, i + 1);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
return null;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Extract field keys from a named array of field objects (secretFields or metadataFields).
|
|
204
|
+
*/
|
|
205
|
+
function extractFieldKeys(block, fieldName) {
|
|
206
|
+
const keys = [];
|
|
207
|
+
const arrayBlock = findArrayBlock(block, fieldName);
|
|
208
|
+
if (!arrayBlock)
|
|
209
|
+
return keys;
|
|
210
|
+
const keyPattern = /key:\s*['"]([^'"]+)['"]/g;
|
|
211
|
+
let m;
|
|
212
|
+
while ((m = keyPattern.exec(arrayBlock)) !== null) {
|
|
213
|
+
keys.push(m[1]);
|
|
214
|
+
}
|
|
215
|
+
return keys;
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Extract cstm_* IDs from integrationUids arrays throughout the config.
|
|
219
|
+
*/
|
|
220
|
+
function extractCstmFromIntegrationUids(content, result) {
|
|
221
|
+
// Find all integrationUids arrays (at workflow and top level)
|
|
222
|
+
const pattern = /integrationUids:\s*\[([^\]]*)\]/g;
|
|
223
|
+
let m;
|
|
224
|
+
while ((m = pattern.exec(content)) !== null) {
|
|
225
|
+
const arrayContent = m[1];
|
|
226
|
+
const idPattern = /['"]([^'"]+)['"]/g;
|
|
227
|
+
let idM;
|
|
228
|
+
while ((idM = idPattern.exec(arrayContent)) !== null) {
|
|
229
|
+
if (idM[1].startsWith('cstm_') && !result.includes(idM[1])) {
|
|
230
|
+
result.push(idM[1]);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Validate custom integration schemas in a use case config.ts
|
|
237
|
+
*/
|
|
238
|
+
export async function checkCustomIntegrationSchema(useCasePath) {
|
|
239
|
+
const findings = [];
|
|
240
|
+
const configTsPath = join(useCasePath, 'config.ts');
|
|
241
|
+
const configJsPath = join(useCasePath, 'config.js');
|
|
242
|
+
let configPath = null;
|
|
243
|
+
if (existsSync(configTsPath)) {
|
|
244
|
+
configPath = configTsPath;
|
|
245
|
+
}
|
|
246
|
+
else if (existsSync(configJsPath)) {
|
|
247
|
+
configPath = configJsPath;
|
|
248
|
+
}
|
|
249
|
+
if (!configPath) {
|
|
250
|
+
// CONFIG-EXPORTS script already handles missing config
|
|
251
|
+
return findings;
|
|
252
|
+
}
|
|
253
|
+
let content;
|
|
254
|
+
try {
|
|
255
|
+
content = readFileSync(configPath, 'utf-8');
|
|
256
|
+
}
|
|
257
|
+
catch {
|
|
258
|
+
return findings;
|
|
259
|
+
}
|
|
260
|
+
// Quick check: does the config reference customIntegrations at all?
|
|
261
|
+
if (!content.includes('customIntegrations')) {
|
|
262
|
+
return findings;
|
|
263
|
+
}
|
|
264
|
+
const { ids, integrations, integrationUidsCstm } = extractCustomIntegrations(content);
|
|
265
|
+
// If no custom integrations found, nothing to validate
|
|
266
|
+
if (integrations.length === 0 && integrationUidsCstm.length === 0) {
|
|
267
|
+
return findings;
|
|
268
|
+
}
|
|
269
|
+
// Rule 1: All IDs must start with 'cstm_'
|
|
270
|
+
for (const integration of integrations) {
|
|
271
|
+
if (integration.id && !integration.id.startsWith('cstm_')) {
|
|
272
|
+
findings.push({
|
|
273
|
+
rule: RULE_ID,
|
|
274
|
+
severity: 'must',
|
|
275
|
+
path: configPath,
|
|
276
|
+
message: `Custom integration ID '${integration.id}' must start with 'cstm_'`,
|
|
277
|
+
raw_details: `Rename to 'cstm_${integration.id}' or another cstm_-prefixed ID`,
|
|
278
|
+
});
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
// Rule 2: IDs must be snake_case
|
|
282
|
+
for (const integration of integrations) {
|
|
283
|
+
if (integration.id && !SNAKE_CASE_PATTERN.test(integration.id)) {
|
|
284
|
+
findings.push({
|
|
285
|
+
rule: RULE_ID,
|
|
286
|
+
severity: 'must',
|
|
287
|
+
path: configPath,
|
|
288
|
+
message: `Custom integration ID '${integration.id}' must be snake_case (lowercase letters, numbers, underscores)`,
|
|
289
|
+
raw_details: 'Use only lowercase letters, numbers, and underscores. Must start with a letter.',
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
// Rule 3: No duplicate IDs
|
|
294
|
+
const seen = new Set();
|
|
295
|
+
for (const id of ids) {
|
|
296
|
+
if (seen.has(id)) {
|
|
297
|
+
findings.push({
|
|
298
|
+
rule: RULE_ID,
|
|
299
|
+
severity: 'must',
|
|
300
|
+
path: configPath,
|
|
301
|
+
message: `Duplicate custom integration ID '${id}'`,
|
|
302
|
+
raw_details: 'Each custom integration must have a unique ID',
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
seen.add(id);
|
|
306
|
+
}
|
|
307
|
+
// Rule 4: n8nCredentialMapping keys must exist in secretFields or metadataFields
|
|
308
|
+
for (const integration of integrations) {
|
|
309
|
+
for (const mappingKey of integration.n8nCredentialMappingKeys) {
|
|
310
|
+
if (!integration.allFieldKeys.includes(mappingKey)) {
|
|
311
|
+
findings.push({
|
|
312
|
+
rule: RULE_ID,
|
|
313
|
+
severity: 'must',
|
|
314
|
+
path: configPath,
|
|
315
|
+
message: `Integration '${integration.id}': n8nCredentialMapping key '${mappingKey}' not found in secretFields or metadataFields`,
|
|
316
|
+
raw_details: `Add a field with key '${mappingKey}' to secretFields or metadataFields, or remove it from n8nCredentialMapping`,
|
|
317
|
+
});
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
// Rule 5: secretFields keys must be UPPER_SNAKE_CASE
|
|
322
|
+
for (const integration of integrations) {
|
|
323
|
+
for (const key of integration.secretFieldKeys) {
|
|
324
|
+
if (!UPPER_SNAKE_CASE_PATTERN.test(key)) {
|
|
325
|
+
findings.push({
|
|
326
|
+
rule: RULE_ID,
|
|
327
|
+
severity: 'must',
|
|
328
|
+
path: configPath,
|
|
329
|
+
message: `Integration '${integration.id}': secretFields key '${key}' must be UPPER_SNAKE_CASE`,
|
|
330
|
+
raw_details: 'Secret field keys must use only uppercase letters, numbers, and underscores (e.g., API_KEY, BASE_URL)',
|
|
331
|
+
});
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
// Rule 6: No duplicate field keys within an integration
|
|
336
|
+
for (const integration of integrations) {
|
|
337
|
+
const fieldSeen = new Set();
|
|
338
|
+
for (const key of integration.allFieldKeys) {
|
|
339
|
+
if (fieldSeen.has(key)) {
|
|
340
|
+
findings.push({
|
|
341
|
+
rule: RULE_ID,
|
|
342
|
+
severity: 'must',
|
|
343
|
+
path: configPath,
|
|
344
|
+
message: `Integration '${integration.id}': duplicate field key '${key}'`,
|
|
345
|
+
raw_details: 'Each field key must be unique within an integration (across both secretFields and metadataFields)',
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
fieldSeen.add(key);
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
// Rule 7: If n8nCredentialType !== 'none', n8nCredentialMapping must be provided and non-empty
|
|
352
|
+
for (const integration of integrations) {
|
|
353
|
+
if (integration.n8nCredentialType !== 'none' && integration.n8nCredentialMappingKeys.length === 0) {
|
|
354
|
+
findings.push({
|
|
355
|
+
rule: RULE_ID,
|
|
356
|
+
severity: 'must',
|
|
357
|
+
path: configPath,
|
|
358
|
+
message: `Integration '${integration.id}': n8nCredentialType is '${integration.n8nCredentialType}' but n8nCredentialMapping is missing or empty`,
|
|
359
|
+
raw_details: 'When n8nCredentialType is not "none", you must provide n8nCredentialMapping to map field keys to n8n credential data fields',
|
|
360
|
+
});
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
// Rule 8: Custom integration IDs in integrationUids must have corresponding entries in customIntegrations
|
|
364
|
+
const definedIds = new Set(ids);
|
|
365
|
+
for (const cstmId of integrationUidsCstm) {
|
|
366
|
+
if (!definedIds.has(cstmId)) {
|
|
367
|
+
findings.push({
|
|
368
|
+
rule: RULE_ID,
|
|
369
|
+
severity: 'must',
|
|
370
|
+
path: configPath,
|
|
371
|
+
message: `integrationUids references '${cstmId}' but no matching entry in customIntegrations`,
|
|
372
|
+
raw_details: `Add a custom integration definition with id '${cstmId}' to the customIntegrations array, or remove it from integrationUids`,
|
|
373
|
+
});
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
return findings;
|
|
377
|
+
}
|
|
378
|
+
//# sourceMappingURL=custom-integration-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-integration-schema.js","sourceRoot":"","sources":["../../../src/validation/use-case-scripts/custom-integration-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Use Case Scripts
|
|
3
|
+
*
|
|
4
|
+
* Validation scripts that operate on the entire use-case folder.
|
|
5
|
+
* These check configuration files, folder structure, and cross-file consistency.
|
|
6
|
+
*/
|
|
7
|
+
import type { UseCaseScript } from '../types.js';
|
|
8
|
+
/**
|
|
9
|
+
* All use-case scripts to run during validation
|
|
10
|
+
*
|
|
11
|
+
* Each script receives the use-case folder path,
|
|
12
|
+
* and returns an array of findings.
|
|
13
|
+
*/
|
|
14
|
+
export declare const useCaseScripts: UseCaseScript[];
|
|
15
|
+
export { checkConfigExports } from './config-exports.js';
|
|
16
|
+
export { checkWorkflowImports } from './workflow-imports.js';
|
|
17
|
+
export { checkSchemaTypes } from './schema-types.js';
|
|
18
|
+
export { checkSubworkflowReferences } from './subworkflow-references.js';
|
|
19
|
+
export { checkCalledByConsistency } from './calledby-consistency.js';
|
|
20
|
+
export { checkIntegrationInheritance } from './integration-inheritance.js';
|
|
21
|
+
export { checkWebhookPathConsistency } from './webhook-path-consistency.js';
|
|
22
|
+
export { checkTriggersRequired } from './triggers-required.js';
|
|
23
|
+
export { checkTriggerTypeConsistency } from './trigger-type-consistency.js';
|
|
24
|
+
export { checkTriggerTypes } from './trigger-types.js';
|
|
25
|
+
export { checkSkillConsistency } from './skill-consistency.js';
|
|
26
|
+
export { checkCustomIntegrationSchema } from './custom-integration-schema.js';
|
|
27
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/validation/use-case-scripts/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAcjD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,aAAa,EAazC,CAAC;AAGF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Use Case Scripts
|
|
3
|
+
*
|
|
4
|
+
* Validation scripts that operate on the entire use-case folder.
|
|
5
|
+
* These check configuration files, folder structure, and cross-file consistency.
|
|
6
|
+
*/
|
|
7
|
+
import { checkConfigExports } from './config-exports.js';
|
|
8
|
+
import { checkWorkflowImports } from './workflow-imports.js';
|
|
9
|
+
import { checkSchemaTypes } from './schema-types.js';
|
|
10
|
+
import { checkSubworkflowReferences } from './subworkflow-references.js';
|
|
11
|
+
import { checkCalledByConsistency } from './calledby-consistency.js';
|
|
12
|
+
import { checkIntegrationInheritance } from './integration-inheritance.js';
|
|
13
|
+
import { checkWebhookPathConsistency } from './webhook-path-consistency.js';
|
|
14
|
+
import { checkTriggersRequired } from './triggers-required.js';
|
|
15
|
+
import { checkTriggerTypeConsistency } from './trigger-type-consistency.js';
|
|
16
|
+
import { checkTriggerTypes } from './trigger-types.js';
|
|
17
|
+
import { checkSkillConsistency } from './skill-consistency.js';
|
|
18
|
+
import { checkCustomIntegrationSchema } from './custom-integration-schema.js';
|
|
19
|
+
/**
|
|
20
|
+
* All use-case scripts to run during validation
|
|
21
|
+
*
|
|
22
|
+
* Each script receives the use-case folder path,
|
|
23
|
+
* and returns an array of findings.
|
|
24
|
+
*/
|
|
25
|
+
export const useCaseScripts = [
|
|
26
|
+
checkConfigExports,
|
|
27
|
+
checkWorkflowImports,
|
|
28
|
+
checkSchemaTypes,
|
|
29
|
+
checkSubworkflowReferences,
|
|
30
|
+
checkCalledByConsistency,
|
|
31
|
+
checkIntegrationInheritance,
|
|
32
|
+
checkWebhookPathConsistency,
|
|
33
|
+
checkTriggersRequired,
|
|
34
|
+
checkTriggerTypeConsistency,
|
|
35
|
+
checkTriggerTypes,
|
|
36
|
+
checkSkillConsistency,
|
|
37
|
+
checkCustomIntegrationSchema,
|
|
38
|
+
];
|
|
39
|
+
// Re-export individual scripts
|
|
40
|
+
export { checkConfigExports } from './config-exports.js';
|
|
41
|
+
export { checkWorkflowImports } from './workflow-imports.js';
|
|
42
|
+
export { checkSchemaTypes } from './schema-types.js';
|
|
43
|
+
export { checkSubworkflowReferences } from './subworkflow-references.js';
|
|
44
|
+
export { checkCalledByConsistency } from './calledby-consistency.js';
|
|
45
|
+
export { checkIntegrationInheritance } from './integration-inheritance.js';
|
|
46
|
+
export { checkWebhookPathConsistency } from './webhook-path-consistency.js';
|
|
47
|
+
export { checkTriggersRequired } from './triggers-required.js';
|
|
48
|
+
export { checkTriggerTypeConsistency } from './trigger-type-consistency.js';
|
|
49
|
+
export { checkTriggerTypes } from './trigger-types.js';
|
|
50
|
+
export { checkSkillConsistency } from './skill-consistency.js';
|
|
51
|
+
export { checkCustomIntegrationSchema } from './custom-integration-schema.js';
|
|
52
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/validation/use-case-scripts/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC7C,kBAAkB;IAClB,oBAAoB;IACpB,gBAAgB;IAChB,0BAA0B;IAC1B,wBAAwB;IACxB,2BAA2B;IAC3B,2BAA2B;IAC3B,qBAAqB;IACrB,2BAA2B;IAC3B,iBAAiB;IACjB,qBAAqB;IACrB,4BAA4B;CAC7B,CAAC;AAEF,+BAA+B;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* INTEGRATION-INHERITANCE Validation Script
|
|
3
|
+
*
|
|
4
|
+
* Validates that workflows declare all integration IDs they use in their integrationUids config.
|
|
5
|
+
*
|
|
6
|
+
* Two checks are performed:
|
|
7
|
+
* 1. Each workflow's integrationUids must include all integrations used directly in its JSON
|
|
8
|
+
* (detected via credential placeholders like FLEXCRED_ANTHROPIC_ID_DERCXELF)
|
|
9
|
+
* 2. Parent workflows must also include all integrations used by their subworkflows
|
|
10
|
+
*
|
|
11
|
+
* Credential placeholder pattern: {{TYPE_INTEGRATION_NAME_(ID|NAME)_SUFFIX}}
|
|
12
|
+
* - FLEXCRED_*_DERCXELF
|
|
13
|
+
* - USERCRED_*_DERCRESU
|
|
14
|
+
* - ORGCRED_*_DERCGRO
|
|
15
|
+
* - INSTCRED_*_DERCTSNI
|
|
16
|
+
*
|
|
17
|
+
* The INTEGRATION_NAME in CONSTANT_CASE becomes the integrationUid in snake_case.
|
|
18
|
+
* Example: FLEXCRED_GOOGLE_DRIVE_OAUTH_ID_DERCXELF -> google_drive_oauth
|
|
19
|
+
*
|
|
20
|
+
* @see .guides/specific/integrations.md - "Integration Declaration"
|
|
21
|
+
*/
|
|
22
|
+
import type { Finding, RuleMetadata } from '../types.js';
|
|
23
|
+
export declare const RULE_ID = "INTEGRATION-INHERITANCE";
|
|
24
|
+
export declare const metadata: RuleMetadata & {
|
|
25
|
+
guideRef: {
|
|
26
|
+
path: string;
|
|
27
|
+
section: string;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Validates that workflows declare all integrations they use (directly or via subworkflows)
|
|
32
|
+
*/
|
|
33
|
+
export declare function checkIntegrationInheritance(useCasePath: string): Promise<Finding[]>;
|
|
34
|
+
export default checkIntegrationInheritance;
|
|
35
|
+
//# sourceMappingURL=integration-inheritance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integration-inheritance.d.ts","sourceRoot":"","sources":["../../../src/validation/use-case-scripts/integration-inheritance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,OAAO,4BAA4B,CAAC;AAEjD,eAAO,MAAM,QAAQ,EAAE,YAAY,GAAG;IAAE,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAalF,CAAC;AA4NF;;GAEG;AACH,wBAAsB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CA2JzF;AAED,eAAe,2BAA2B,CAAC"}
|