@aifabrix/builder 2.49.1 → 2.50.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/.cursor/process/README.md +9 -0
- package/.cursor/rules/deploy-rules/docker-image-ip-policy.mdc +49 -0
- package/.cursor/rules/plan-rules/application-lifecycle.mdc +30 -0
- package/.cursor/rules/plan-rules/plan-frontmatter.mdc +35 -0
- package/.cursor/rules/plan-rules/plan-lifecycle.mdc +31 -0
- package/.cursor/rules/plan-rules/plan-validation-gate.mdc +34 -0
- package/.cursor/skills/README.md +1 -0
- package/.dockerignore +52 -0
- package/.eslintignore +22 -0
- package/README.md +2 -0
- package/bin/builder-api-cleanup.js +26 -0
- package/bin/builder-api-nest.js +10 -0
- package/bin/builder-api-spike.js +19 -0
- package/enterprise-knowledge/README.md +50 -0
- package/enterprise-knowledge/enterprise-integration-lifecycle/README.md +22 -0
- package/enterprise-knowledge/enterprise-integration-lifecycle/application.json +15 -0
- package/enterprise-knowledge/enterprise-integration-lifecycle/deploy.js +69 -0
- package/enterprise-knowledge/enterprise-integration-lifecycle/enterprise-integration-lifecycle-deploy.json +52 -0
- package/enterprise-knowledge/enterprise-integration-lifecycle/enterprise-integration-lifecycle-system.json +29 -0
- package/enterprise-knowledge/enterprise-integration-lifecycle/env.template +2 -0
- package/integration/README.md +81 -0
- package/integration/github/README.md +53 -0
- package/integration/github/application.json +21 -0
- package/integration/github/deploy.js +72 -0
- package/integration/github/env.template +11 -0
- package/integration/github/github-datasource-issue-comments.json +239 -0
- package/integration/github/github-datasource-issues.json +399 -0
- package/integration/github/github-datasource-repository.json +354 -0
- package/integration/github/github-deploy.json +1202 -0
- package/integration/github/github-system.json +82 -0
- package/integration/hubspot-test/README.md +1 -1
- package/jest.isolated-projects.js +31 -1
- package/jest.projects.js +87 -1
- package/lib/api/dev-server-https.js +1 -1
- package/lib/api/dev.api.js +1 -0
- package/lib/api/enterprise-knowledge.api.js +63 -0
- package/lib/api/evidence.api.js +172 -0
- package/lib/api/external-systems.api.js +8 -2
- package/lib/api/host-ops.api.js +69 -0
- package/lib/api/resource-types.api.js +1 -0
- package/lib/api/types/enterprise-knowledge.types.js +46 -0
- package/lib/api/types/evidence.types.js +67 -0
- package/lib/api/types/resource-types.types.js +2 -0
- package/lib/app/controller-application-filter.js +36 -0
- package/lib/app/deploy.js +1 -1
- package/lib/app/list-external-systems.js +130 -0
- package/lib/app/list.js +20 -8
- package/lib/app/run.js +3 -1
- package/lib/app/show-display.js +8 -3
- package/lib/app/show-online.js +178 -0
- package/lib/app/show.js +37 -88
- package/lib/build/builder-api-docker-staging.js +47 -0
- package/lib/build/miso-controller-npm-sdk-guard.js +2 -2
- package/lib/build/standard-docker-build.js +2 -0
- package/lib/certification/post-unified-cert-sync.js +4 -31
- package/lib/certification/sync-after-external-command.js +0 -1
- package/lib/certification/sync-system-certification.js +0 -3
- package/lib/channels/add-channel.js +40 -34
- package/lib/channels/approval-guides/chatgpt.js +33 -0
- package/lib/channels/approval-guides/credential-portal.js +38 -0
- package/lib/channels/approval-guides/index.js +110 -0
- package/lib/channels/approval-guides/microsoft-copilot.js +34 -0
- package/lib/channels/approval-guides/slack.js +34 -0
- package/lib/channels/approval-guides/teams-bot.js +35 -0
- package/lib/channels/approval-guides/web-embed.js +32 -0
- package/lib/channels/channel-approval-guide.js +11 -0
- package/lib/channels/channel-artifact-generator.js +16 -4
- package/lib/channels/channel-audit.js +3 -0
- package/lib/channels/channel-auth-context.js +1 -1
- package/lib/channels/channel-description.js +59 -0
- package/lib/channels/channel-integration-generator.js +13 -230
- package/lib/channels/channel-integration-template.js +94 -0
- package/lib/channels/channel-runtime-resolver.js +43 -3
- package/lib/channels/channel-status-display.js +66 -26
- package/lib/channels/channel-targets.js +3 -3
- package/lib/cli/index.js +27 -3
- package/lib/cli/infra-guided.js +5 -1
- package/lib/cli/setup-app-external-create.js +111 -0
- package/lib/cli/setup-app.help.js +1 -1
- package/lib/cli/setup-app.js +38 -125
- package/lib/cli/setup-app.test-commands.js +26 -52
- package/lib/cli/setup-certification-commands.js +4 -4
- package/lib/cli/setup-certification.help.js +9 -9
- package/lib/cli/setup-dev-path-commands.js +24 -0
- package/lib/cli/setup-dev.js +115 -16
- package/lib/cli/setup-external-system-help.js +4 -6
- package/lib/cli/setup-external-system.js +58 -52
- package/lib/cli/setup-infra-up-builder-api-action.js +64 -0
- package/lib/cli/setup-infra-up-platform-action.js +3 -1
- package/lib/cli/setup-infra.js +15 -0
- package/lib/cli/setup-list.js +43 -0
- package/lib/cli/setup-utility-repair.js +26 -7
- package/lib/cli/setup-utility.js +5 -3
- package/lib/commands/app.js +15 -43
- package/lib/commands/channel-add-setup.js +110 -0
- package/lib/commands/channel.js +42 -8
- package/lib/commands/datasource-sync-display.js +96 -0
- package/lib/commands/datasource-sync-policy.js +210 -0
- package/lib/commands/datasource-test-trust-cli.js +6 -6
- package/lib/commands/datasource-unified-test-cli.js +2 -1
- package/lib/commands/datasource-unified-test-cli.options.js +33 -23
- package/lib/commands/deploy-gate-failure-details.js +163 -0
- package/lib/commands/deploy-gate-orchestrator.js +322 -0
- package/lib/commands/dev-cli-handlers.js +64 -61
- package/lib/commands/dev-host-ops-params.js +91 -0
- package/lib/commands/dev-host-ops-poll.js +111 -0
- package/lib/commands/dev-host-ops.js +252 -0
- package/lib/commands/dev-init.js +3 -1
- package/lib/commands/enterprise-knowledge.js +284 -0
- package/lib/commands/evidence-cli-leaves.js +250 -0
- package/lib/commands/evidence.js +51 -0
- package/lib/commands/governance-cli-shared.js +2 -2
- package/lib/commands/governance-command-action.js +2 -2
- package/lib/commands/governance-fixture-subjects.js +85 -0
- package/lib/commands/governance.js +1 -1
- package/lib/commands/lifecycle-command-action.js +2 -2
- package/lib/commands/lifecycle-external.js +3 -3
- package/lib/commands/manifest-cli-auth.js +29 -0
- package/lib/commands/manifest-cli-commands.js +170 -0
- package/lib/commands/manifest-cli-integration-path.js +63 -0
- package/lib/commands/manifest.js +21 -0
- package/lib/commands/protection-cli-leaves.js +3 -3
- package/lib/commands/repair-auth-apply.js +15 -1
- package/lib/commands/repair-authentications-454.js +169 -0
- package/lib/commands/repair-capability-openapi-warnings.js +126 -0
- package/lib/commands/repair-datasource-apply.js +135 -0
- package/lib/commands/repair-datasource-auto-rbac.js +62 -1
- package/lib/commands/repair-datasource-http-service-contract.js +239 -0
- package/lib/commands/repair-datasource-operation-security.js +180 -0
- package/lib/commands/repair-datasource-run.js +7 -2
- package/lib/commands/repair-datasource-sync-operations.js +177 -0
- package/lib/commands/repair-datasource-webhooks-sync-bridge.js +133 -0
- package/lib/commands/repair-datasource.js +12 -68
- package/lib/commands/repair-env-template.js +11 -1
- package/lib/commands/repair-external-run.js +121 -31
- package/lib/commands/repair-internal.js +1 -1
- package/lib/commands/repair-openapi-export.js +156 -0
- package/lib/commands/repair-openapi-sync.js +19 -2
- package/lib/commands/repair-orchestration-datasource-split.js +259 -0
- package/lib/commands/repair-persist.js +22 -1
- package/lib/commands/repair-rbac-platform-preset.js +204 -0
- package/lib/commands/repair-rbac-reader-roles.js +191 -0
- package/lib/commands/repair-rbac.js +163 -86
- package/lib/commands/repair-steps.js +83 -18
- package/lib/commands/repair-system-permissions.js +1 -0
- package/lib/commands/repair.js +1 -1
- package/lib/commands/resource-type.js +65 -26
- package/lib/commands/run-post-publish-data-sync.js +68 -0
- package/lib/commands/setup-modes.js +1 -1
- package/lib/commands/test-e2e-external.js +21 -8
- package/lib/commands/test-governance-cli-options.js +2 -2
- package/lib/commands/test-trust-cli-options.js +2 -2
- package/lib/commands/up-builder-api-bootstrap.js +71 -0
- package/lib/commands/up-builder-api-provision.js +241 -0
- package/lib/commands/up-builder-api.js +88 -0
- package/lib/commands/up-common.js +25 -1
- package/lib/commands/upload-credential-push-log.js +117 -0
- package/lib/commands/upload-data-sync-finalize.js +60 -0
- package/lib/commands/upload-probe.js +66 -0
- package/lib/commands/upload-publish-context.js +4 -1
- package/lib/commands/upload-sidecar-followups.js +55 -27
- package/lib/commands/upload.js +116 -157
- package/lib/commands/verify-governance-combined-external.js +1 -1
- package/lib/commands/verify-governance-db.js +2 -2
- package/lib/commands/verify-operations-command-action.js +2 -2
- package/lib/commands/verify-operations-step-plan.js +2 -2
- package/lib/commands/verify-operations-steps.js +2 -2
- package/lib/commands/verify-trust-command-action.js +1 -1
- package/lib/commands/wizard-core.js +1 -1
- package/lib/commands/wizard-headless.js +2 -1
- package/lib/core/admin-secrets.js +2 -6
- package/lib/core/secrets-env-content.js +10 -4
- package/lib/core/secrets-env-write.js +2 -13
- package/lib/datasource/agent-trust-run.js +3 -3
- package/lib/datasource/deploy.js +3 -1
- package/lib/datasource/test-e2e.js +6 -1
- package/lib/datasource/unified-validation-run-body.js +4 -1
- package/lib/datasource/unified-validation-run.js +1 -1
- package/lib/deployment/deploy-poll-ui.js +73 -12
- package/lib/deployment/deployer-poll-run.js +113 -0
- package/lib/deployment/deployer.js +17 -87
- package/lib/evidence/dataplane-context.js +21 -0
- package/lib/evidence/evidence-display.js +78 -0
- package/lib/evidence/evidence-service.js +392 -0
- package/lib/external-system/deploy.js +290 -112
- package/lib/external-system/download.js +7 -3
- package/lib/external-system/test-execution.js +1 -1
- package/lib/external-system/test-system-level.js +8 -10
- package/lib/external-system/test.js +12 -6
- package/lib/generator/deploy-script.js +73 -0
- package/lib/generator/external.js +2 -1
- package/lib/generator/index.js +17 -2
- package/lib/generator/wizard.js +3 -36
- package/lib/internal/fs-real-sync.js +22 -1
- package/lib/internal/node-fs.js +2 -0
- package/lib/lifecycle/lifecycle-governance-options.js +1 -1
- package/lib/lifecycle/verify-step-progress.js +1 -1
- package/lib/programmatic/access-log.js +26 -0
- package/lib/programmatic/auth-config.js +44 -0
- package/lib/programmatic/bearer-auth.js +176 -0
- package/lib/programmatic/builder-api-request.js +175 -0
- package/lib/programmatic/builder-api-route-dispatch.js +82 -0
- package/lib/programmatic/builder-api-runtime-config.js +42 -0
- package/lib/programmatic/builder-api-server.js +230 -0
- package/lib/programmatic/builder-help-authentication-catalog.js +282 -0
- package/lib/programmatic/builder-help-connected-system-ui.js +266 -0
- package/lib/programmatic/builder-help-enterprise-sync-fabrix.js +60 -0
- package/lib/programmatic/builder-help-envelope.js +36 -0
- package/lib/programmatic/builder-help-fixtures.js +200 -0
- package/lib/programmatic/builder-help-governance.js +172 -0
- package/lib/programmatic/builder-help-schema-catalog.js +92 -0
- package/lib/programmatic/builder-help.js +361 -0
- package/lib/programmatic/capability-registry.js +77 -0
- package/lib/programmatic/command-options.js +32 -0
- package/lib/programmatic/enterprise-mcp-client.js +98 -0
- package/lib/programmatic/http-problem-details.js +99 -0
- package/lib/programmatic/http-route-match.js +40 -0
- package/lib/programmatic/idempotency-cache.js +69 -0
- package/lib/programmatic/index.js +53 -0
- package/lib/programmatic/integration-path-scope.js +39 -0
- package/lib/programmatic/log-redaction.js +66 -0
- package/lib/programmatic/manifest-get-section.js +146 -0
- package/lib/programmatic/manifest-patch-section.js +252 -0
- package/lib/programmatic/manifest-repair.js +122 -0
- package/lib/programmatic/manifest-section-dependency-graph.js +160 -0
- package/lib/programmatic/manifest-section-io.js +225 -0
- package/lib/programmatic/manifest-section-quality.js +171 -0
- package/lib/programmatic/manifest-section-registry-data.js +269 -0
- package/lib/programmatic/manifest-section-registry.js +205 -0
- package/lib/programmatic/nest-http-bridge.js +34 -0
- package/lib/programmatic/openapi-component-schemas.js +68 -0
- package/lib/programmatic/openapi-description-enricher.js +117 -0
- package/lib/programmatic/openapi-descriptions.js +190 -0
- package/lib/programmatic/openapi-docs-serving.js +123 -0
- package/lib/programmatic/openapi-help-schemas.js +63 -0
- package/lib/programmatic/openapi-manifest-schemas.js +141 -0
- package/lib/programmatic/openapi-operation-bindings.js +274 -0
- package/lib/programmatic/openapi-request-schemas.js +155 -0
- package/lib/programmatic/openapi-result-schemas.js +476 -0
- package/lib/programmatic/openapi-schema-descriptions-certify.js +139 -0
- package/lib/programmatic/openapi-schema-descriptions-core.js +159 -0
- package/lib/programmatic/openapi-schema-descriptions-help.js +40 -0
- package/lib/programmatic/openapi-schema-descriptions-manifest.js +143 -0
- package/lib/programmatic/openapi-schema-descriptions-mcp.js +118 -0
- package/lib/programmatic/openapi-schema-descriptions-operations.js +281 -0
- package/lib/programmatic/openapi-schema-helpers.js +93 -0
- package/lib/programmatic/openapi-spec.js +203 -0
- package/lib/programmatic/orchestration-openapi-meta.js +159 -0
- package/lib/programmatic/platform-rbac-catalog.js +90 -0
- package/lib/programmatic/request-timeout.js +53 -0
- package/lib/programmatic/route-handler-map.js +143 -0
- package/lib/programmatic/route-handlers-context.js +29 -0
- package/lib/programmatic/route-handlers.js +33 -0
- package/lib/programmatic/run-certify.js +57 -0
- package/lib/programmatic/run-enterprise-mcp.js +32 -0
- package/lib/programmatic/run-lifecycle.js +29 -0
- package/lib/programmatic/run-repair.js +41 -0
- package/lib/programmatic/run-repository-emcp.js +54 -0
- package/lib/programmatic/run-template-workspace.js +61 -0
- package/lib/programmatic/run-test.js +49 -0
- package/lib/programmatic/run-upload.js +63 -0
- package/lib/programmatic/run-validate.js +53 -0
- package/lib/programmatic/run-wizard.js +40 -0
- package/lib/programmatic/system-key.js +48 -0
- package/lib/programmatic/wizard-config-normalize.js +118 -0
- package/lib/programmatic/workspace-cleanup.js +128 -0
- package/lib/programmatic/workspace-context.js +145 -0
- package/lib/programmatic/workspace-lock.js +75 -0
- package/lib/programmatic/workspace-meta.js +64 -0
- package/lib/programmatic/workspace-ops.js +149 -0
- package/lib/protection/run-commands-upload-sync.js +35 -0
- package/lib/protection/run-commands.js +2 -20
- package/lib/protection/upload-batch.js +11 -7
- package/lib/resolvers/resource-type-file.js +22 -0
- package/lib/schema/external-datasource.schema.json +161 -1
- package/lib/schema/external-system.schema.json +242 -4
- package/lib/schema/flag-map-validation-run.json +3 -0
- package/lib/schema/type/credential-field-registry.json +2 -2
- package/lib/schema/type/document-storage.json +9 -0
- package/lib/utils/agent-trust-run-display.js +1 -1
- package/lib/utils/app-path-resolve.js +168 -0
- package/lib/utils/authentication-env-template.js +222 -0
- package/lib/utils/cli-sync-options.js +7 -11
- package/lib/utils/cli-utils.js +4 -0
- package/lib/utils/cli-workspace-options.js +29 -0
- package/lib/utils/compose-generate-docker-compose.js +102 -0
- package/lib/utils/configuration-env-resolver.js +203 -27
- package/lib/utils/datasource-test-run-certificate-tty.js +28 -2
- package/lib/utils/datasource-test-run-certification-debug.js +130 -0
- package/lib/utils/datasource-test-run-debug-display.js +2 -0
- package/lib/utils/datasource-test-run-debug-slice.js +7 -0
- package/lib/utils/datasource-test-run-display.js +2 -1
- package/lib/utils/dev-init-ssh-merge.js +165 -23
- package/lib/utils/dev-pin-share-instructions.js +110 -0
- package/lib/utils/dev-ssh-config-helper.js +177 -33
- package/lib/utils/enterprise-knowledge-paths.js +142 -0
- package/lib/utils/env-copy.js +2 -1
- package/lib/utils/env-dotenv-format.js +103 -0
- package/lib/utils/external-env-template.js +4 -1
- package/lib/utils/external-system-display.js +5 -1
- package/lib/utils/external-system-readiness-compact-blocks.js +221 -0
- package/lib/utils/external-system-readiness-compact-display.js +324 -0
- package/lib/utils/external-system-readiness-core.js +16 -0
- package/lib/utils/external-system-readiness-deploy-display.js +29 -11
- package/lib/utils/external-system-readiness-display-internals.js +3 -1
- package/lib/utils/external-system-readiness-display.js +20 -30
- package/lib/utils/external-system-system-test-tty-certification.js +135 -0
- package/lib/utils/external-system-system-test-tty.js +5 -41
- package/lib/utils/help-builder.js +6 -1
- package/lib/utils/host-ops-job-labels.js +236 -0
- package/lib/utils/host-ops-job-result.js +61 -0
- package/lib/utils/host-ops-poll-ui.js +163 -0
- package/lib/utils/integration-path-resolve.js +112 -0
- package/lib/utils/paths-reload-source.js +148 -0
- package/lib/utils/paths-system-builder-keys.js +25 -0
- package/lib/utils/paths.js +151 -26
- package/lib/utils/runtime-configuration-values.js +64 -2
- package/lib/utils/secrets-helpers.js +5 -1
- package/lib/utils/ssh-known-hosts.js +130 -0
- package/lib/utils/test-target-cli-options.js +75 -0
- package/lib/utils/upload-sync-options.js +4 -0
- package/lib/utils/validation-run-request.js +11 -2
- package/lib/validation/external-manifest-validator.js +11 -1
- package/lib/validation/openapi-contract-surface-validator.js +426 -0
- package/lib/validation/openapi-contract-vendor-validation.js +238 -0
- package/lib/validation/validate-external-file.js +160 -0
- package/lib/validation/validate.js +6 -117
- package/package.json +46 -29
- package/packages/builder-api/README.md +120 -0
- package/packages/builder-api/package.json +30 -0
- package/packages/builder-api/src/app.module.ts +7 -0
- package/packages/builder-api/src/auth/auth.module.ts +5 -0
- package/packages/builder-api/src/external-system/external-system.module.ts +5 -0
- package/packages/builder-api/src/main.ts +16 -0
- package/packages/builder-api/tsconfig.json +15 -0
- package/scripts/check-builder-api-architecture-grep.js +79 -0
- package/scripts/docker_image_content_gate.js +47 -0
- package/scripts/docker_image_content_gate.sh +5 -0
- package/scripts/export-builder-api-evidence.js +262 -0
- package/scripts/lib/builder-api-docker-staging-copy.js +60 -0
- package/scripts/lib/builder-api-docker-staging-core.js +183 -0
- package/scripts/lib/docker-image-content-gate-core.js +166 -0
- package/scripts/lib/plan-actor.js +109 -0
- package/scripts/lib/plan-config.js +20 -0
- package/scripts/lib/plan-gates.js +154 -0
- package/scripts/lib/plan-meta.js +104 -0
- package/scripts/lib/plan-parse.js +162 -0
- package/scripts/lib/plan-prevalidate-gates.js +326 -0
- package/scripts/lib/plan-run-core.js +125 -0
- package/scripts/lib/plan-run-report.js +108 -0
- package/scripts/plan-approve.js +24 -0
- package/scripts/plan-archive.js +49 -0
- package/scripts/plan-run.js +13 -0
- package/scripts/plan-set-actor.js +21 -0
- package/scripts/plan-validate.js +80 -0
- package/scripts/pnpm/af.mjs +110 -0
- package/scripts/pnpm/check-quiet.mjs +32 -0
- package/scripts/pnpm/dev-install.mjs +29 -0
- package/scripts/pnpm/dev-reload.mjs +18 -0
- package/scripts/pnpm/help.mjs +55 -0
- package/scripts/pnpm/lib/dev-reload-core.mjs +189 -0
- package/scripts/pnpm/lib/dev-reload-log-capture.mjs +67 -0
- package/scripts/pnpm/lib/dev-reload-log-utils.mjs +32 -0
- package/scripts/pnpm/lib/resolve-aifabrix-bin.mjs +124 -0
- package/scripts/pnpm/lib/resolve-app-url.mjs +183 -0
- package/scripts/pnpm/lib/spinner.mjs +42 -0
- package/scripts/stage_builder_api_for_docker.js +65 -0
- package/scripts/sync-builder-api-template.js +44 -0
- package/templates/README.md +3 -0
- package/templates/applications/builder-api/Dockerfile +38 -0
- package/templates/applications/builder-api/application.yaml +75 -0
- package/templates/applications/builder-api/env.template +48 -0
- package/templates/applications/dataplane/application.yaml +1 -1
- package/templates/applications/dataplane/env.template +10 -6
- package/templates/applications/dataplane/rbac.yaml +21 -1
- package/templates/applications/miso-controller/application.yaml +1 -1
- package/templates/applications/miso-controller/env.template +1 -3
- package/templates/channels/README.md +18 -0
- package/templates/channels/ai-fabrix-icon.jpg +0 -0
- package/templates/channels/chatgpt/install.template.md.hbs +21 -24
- package/templates/channels/chatgpt/integration/README.md +11 -0
- package/templates/channels/chatgpt/integration/application.json +15 -0
- package/templates/channels/chatgpt/integration/chatgpt-system.json +29 -0
- package/templates/channels/chatgpt/integration/env.template +4 -0
- package/templates/channels/microsoft-copilot/install.template.md.hbs +20 -25
- package/templates/channels/microsoft-copilot/integration/README.md +11 -0
- package/templates/channels/microsoft-copilot/integration/application.json +15 -0
- package/templates/channels/microsoft-copilot/integration/env.template +6 -0
- package/templates/channels/microsoft-copilot/integration/microsoft-copilot-system.json +34 -0
- package/templates/channels/slack/install.template.md.hbs +48 -18
- package/templates/channels/slack/integration/README.md +38 -0
- package/templates/channels/slack/integration/application.json +18 -0
- package/templates/channels/slack/integration/env.template +29 -0
- package/templates/channels/slack/integration/slack-datasource-conversations.json +226 -0
- package/templates/channels/slack/integration/slack-datasource-messages.json +269 -0
- package/templates/channels/slack/integration/slack-system.json +86 -0
- package/templates/channels/slack/manifest.template.json.hbs +20 -10
- package/templates/channels/teams-bot/install.template.md.hbs +31 -17
- package/templates/channels/teams-bot/integration/README.md +18 -0
- package/templates/channels/teams-bot/integration/application.json +17 -0
- package/templates/channels/teams-bot/integration/env.template +5 -0
- package/templates/channels/teams-bot/integration/teams-bot-system.json +55 -0
- package/templates/channels/teams-bot/manifest.template.json.hbs +27 -0
- package/templates/channels/web-embed/install.template.md.hbs +16 -26
- package/templates/channels/web-embed/integration/README.md +11 -0
- package/templates/channels/web-embed/integration/application.json +15 -0
- package/templates/channels/web-embed/integration/env.template +4 -0
- package/templates/channels/web-embed/integration/web-embed-system.json +29 -0
- package/templates/openapi/redoc_page.html +86 -0
- package/templates/python/docker-compose.hbs +11 -0
- package/templates/python/requirements.txt +1 -1
- package/templates/typescript/docker-compose.hbs +11 -0
- package/lib/certification/cli-cert-sync-skip.js +0 -21
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"key":"external-datasource-schema",
|
|
8
8
|
"name":"External Data Source Configuration Schema",
|
|
9
9
|
"description":"JSON schema for validating ExternalDataSource configuration files",
|
|
10
|
-
"version":"2.
|
|
10
|
+
"version":"2.9.2",
|
|
11
11
|
"type":"schema",
|
|
12
12
|
"category":"integration",
|
|
13
13
|
"author":"AI Fabrix Team",
|
|
@@ -31,6 +31,41 @@
|
|
|
31
31
|
"external-system.schema.json"
|
|
32
32
|
],
|
|
33
33
|
"changelog":[
|
|
34
|
+
{
|
|
35
|
+
"version":"2.9.2",
|
|
36
|
+
"date":"2026-07-02T00:00:00Z",
|
|
37
|
+
"changes":[
|
|
38
|
+
"Removed webhook.eventTypeHeader and webhook.vendorDeliveryIdHeader — inbound HTTP header names belong on webhookInbound credential config only.",
|
|
39
|
+
"Retained optional webhook.eventTypePath and webhook.vendorDeliveryIdPath for payload JSONPath routing and idempotency."
|
|
40
|
+
],
|
|
41
|
+
"breaking":false
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"version":"2.9.1",
|
|
45
|
+
"date":"2026-07-02T00:00:00Z",
|
|
46
|
+
"changes":[
|
|
47
|
+
"Added optional webhook.eventTypeHeader, webhook.eventTypePath, webhook.vendorDeliveryIdHeader, and webhook.vendorDeliveryIdPath for manifest-driven routing and idempotency."
|
|
48
|
+
],
|
|
49
|
+
"breaking":false
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"version":"2.9.0",
|
|
53
|
+
"date":"2026-07-02T00:00:00Z",
|
|
54
|
+
"changes":[
|
|
55
|
+
"Added webhook object (enabled, endpointMode, events, deleteEvents, idPath) for vendor change signals.",
|
|
56
|
+
"Documented syncBridge enum (disabled|master|bidirectional) for Enterprise Synchronization Fabrix."
|
|
57
|
+
],
|
|
58
|
+
"breaking":false
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"version":"2.8.2",
|
|
62
|
+
"date":"2026-06-29T00:00:00Z",
|
|
63
|
+
"changes":[
|
|
64
|
+
"Documented entityType none MUST NOT bind vendor openapi (439.2); use serviceContract for HTTP facades.",
|
|
65
|
+
"Staged validator migration NONE_OPENAPI phases 1–3; JSON Schema hard gate planned for phase 3."
|
|
66
|
+
],
|
|
67
|
+
"breaking":false
|
|
68
|
+
},
|
|
34
69
|
{
|
|
35
70
|
"version":"2.8.1",
|
|
36
71
|
"date":"2026-06-15T00:00:00Z",
|
|
@@ -417,6 +452,68 @@
|
|
|
417
452
|
},
|
|
418
453
|
"uniqueItems":true
|
|
419
454
|
},
|
|
455
|
+
"syncBridge":{
|
|
456
|
+
"type":"string",
|
|
457
|
+
"enum":[
|
|
458
|
+
"disabled",
|
|
459
|
+
"master",
|
|
460
|
+
"bidirectional"
|
|
461
|
+
],
|
|
462
|
+
"default":"disabled",
|
|
463
|
+
"description":"Enterprise Synchronization Fabrix participation mode (454.0). Generated on supply datasource during Enterprise Knowledge compile; default disabled on vendor integrations."
|
|
464
|
+
},
|
|
465
|
+
"webhook":{
|
|
466
|
+
"type":"object",
|
|
467
|
+
"description":"Vendor webhook change-signal configuration (454.0). Webhook is trigger-only; business data comes from CIP get.",
|
|
468
|
+
"additionalProperties":false,
|
|
469
|
+
"properties":{
|
|
470
|
+
"enabled":{
|
|
471
|
+
"type":"boolean",
|
|
472
|
+
"default":false
|
|
473
|
+
},
|
|
474
|
+
"endpointMode":{
|
|
475
|
+
"type":"string",
|
|
476
|
+
"enum":[
|
|
477
|
+
"system",
|
|
478
|
+
"datasource",
|
|
479
|
+
"event"
|
|
480
|
+
],
|
|
481
|
+
"description":"Controls generated POST receiver path scope."
|
|
482
|
+
},
|
|
483
|
+
"events":{
|
|
484
|
+
"type":"array",
|
|
485
|
+
"minItems":1,
|
|
486
|
+
"items":{
|
|
487
|
+
"type":"string",
|
|
488
|
+
"minLength":1
|
|
489
|
+
},
|
|
490
|
+
"description":"Vendor event names that trigger SyncIntent creation."
|
|
491
|
+
},
|
|
492
|
+
"deleteEvents":{
|
|
493
|
+
"type":"array",
|
|
494
|
+
"items":{
|
|
495
|
+
"type":"string",
|
|
496
|
+
"minLength":1
|
|
497
|
+
},
|
|
498
|
+
"description":"Optional subset of events that signal local soft delete only (no provider delete in V1)."
|
|
499
|
+
},
|
|
500
|
+
"idPath":{
|
|
501
|
+
"type":"string",
|
|
502
|
+
"minLength":1,
|
|
503
|
+
"description":"JSONPath to extract vendor object id from webhook payload, e.g. $.objectId"
|
|
504
|
+
},
|
|
505
|
+
"eventTypePath":{
|
|
506
|
+
"type":"string",
|
|
507
|
+
"minLength":1,
|
|
508
|
+
"description":"JSONPath to vendor event type in payload when endpointMode is not event and webhook.events has multiple entries."
|
|
509
|
+
},
|
|
510
|
+
"vendorDeliveryIdPath":{
|
|
511
|
+
"type":"string",
|
|
512
|
+
"minLength":1,
|
|
513
|
+
"description":"JSONPath to vendor delivery id in payload for idempotent deduplication."
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
},
|
|
420
517
|
"dimensions":{
|
|
421
518
|
"type":"object",
|
|
422
519
|
"description":"Canonical dimension bindings for this datasource. Keys must exist in Dimension Catalog when catalog validation runs. For recordStorage/documentStorage, at least one binding is recommended (application validator may warn if missing or empty).",
|
|
@@ -2433,6 +2530,15 @@
|
|
|
2433
2530
|
"lineage":{
|
|
2434
2531
|
"$ref":"#/$defs/cipLineage"
|
|
2435
2532
|
},
|
|
2533
|
+
"enabled":{
|
|
2534
|
+
"type":"boolean",
|
|
2535
|
+
"default":true,
|
|
2536
|
+
"description":"When false, the CIP executor skips this step during operation execution."
|
|
2537
|
+
},
|
|
2538
|
+
"order":{
|
|
2539
|
+
"type":"number",
|
|
2540
|
+
"description":"Optional execution order within the operation; lower values run first when any step defines order."
|
|
2541
|
+
},
|
|
2436
2542
|
"stepId":{
|
|
2437
2543
|
"type":"string",
|
|
2438
2544
|
"pattern":"^[a-z0-9-_]+$",
|
|
@@ -2498,6 +2604,15 @@
|
|
|
2498
2604
|
"lineage":{
|
|
2499
2605
|
"$ref":"#/$defs/cipLineage"
|
|
2500
2606
|
},
|
|
2607
|
+
"enabled":{
|
|
2608
|
+
"type":"boolean",
|
|
2609
|
+
"default":true,
|
|
2610
|
+
"description":"When false, the CIP executor skips this step during operation execution."
|
|
2611
|
+
},
|
|
2612
|
+
"order":{
|
|
2613
|
+
"type":"number",
|
|
2614
|
+
"description":"Optional execution order within the operation; lower values run first when any step defines order."
|
|
2615
|
+
},
|
|
2501
2616
|
"stepId":{
|
|
2502
2617
|
"type":"string",
|
|
2503
2618
|
"pattern":"^[a-z0-9-_]+$",
|
|
@@ -2539,6 +2654,15 @@
|
|
|
2539
2654
|
},
|
|
2540
2655
|
"additionalProperties":false
|
|
2541
2656
|
},
|
|
2657
|
+
"enabled":{
|
|
2658
|
+
"type":"boolean",
|
|
2659
|
+
"default":true,
|
|
2660
|
+
"description":"When false, the CIP executor skips this step during operation execution."
|
|
2661
|
+
},
|
|
2662
|
+
"order":{
|
|
2663
|
+
"type":"number",
|
|
2664
|
+
"description":"Optional execution order within the operation; lower values run first when any step defines order."
|
|
2665
|
+
},
|
|
2542
2666
|
"stepId":{
|
|
2543
2667
|
"type":"string",
|
|
2544
2668
|
"description":"Optional stable step identifier."
|
|
@@ -2583,6 +2707,15 @@
|
|
|
2583
2707
|
"lineage":{
|
|
2584
2708
|
"$ref":"#/$defs/cipLineage"
|
|
2585
2709
|
},
|
|
2710
|
+
"enabled":{
|
|
2711
|
+
"type":"boolean",
|
|
2712
|
+
"default":true,
|
|
2713
|
+
"description":"When false, the CIP executor skips this step during operation execution."
|
|
2714
|
+
},
|
|
2715
|
+
"order":{
|
|
2716
|
+
"type":"number",
|
|
2717
|
+
"description":"Optional execution order within the operation; lower values run first when any step defines order."
|
|
2718
|
+
},
|
|
2586
2719
|
"stepId":{
|
|
2587
2720
|
"type":"string",
|
|
2588
2721
|
"pattern":"^[a-z0-9-_]+$",
|
|
@@ -2655,6 +2788,15 @@
|
|
|
2655
2788
|
"lineage":{
|
|
2656
2789
|
"$ref":"#/$defs/cipLineage"
|
|
2657
2790
|
},
|
|
2791
|
+
"enabled":{
|
|
2792
|
+
"type":"boolean",
|
|
2793
|
+
"default":true,
|
|
2794
|
+
"description":"When false, the CIP executor skips this step during operation execution."
|
|
2795
|
+
},
|
|
2796
|
+
"order":{
|
|
2797
|
+
"type":"number",
|
|
2798
|
+
"description":"Optional execution order within the operation; lower values run first when any step defines order."
|
|
2799
|
+
},
|
|
2658
2800
|
"stepId":{
|
|
2659
2801
|
"type":"string",
|
|
2660
2802
|
"pattern":"^[a-z0-9-_]+$",
|
|
@@ -2699,6 +2841,15 @@
|
|
|
2699
2841
|
"lineage":{
|
|
2700
2842
|
"$ref":"#/$defs/cipLineage"
|
|
2701
2843
|
},
|
|
2844
|
+
"enabled":{
|
|
2845
|
+
"type":"boolean",
|
|
2846
|
+
"default":true,
|
|
2847
|
+
"description":"When false, the CIP executor skips this step during operation execution."
|
|
2848
|
+
},
|
|
2849
|
+
"order":{
|
|
2850
|
+
"type":"number",
|
|
2851
|
+
"description":"Optional execution order within the operation; lower values run first when any step defines order."
|
|
2852
|
+
},
|
|
2702
2853
|
"stepId":{
|
|
2703
2854
|
"type":"string",
|
|
2704
2855
|
"pattern":"^[a-z0-9-_]+$",
|
|
@@ -2733,6 +2884,15 @@
|
|
|
2733
2884
|
"lineage":{
|
|
2734
2885
|
"$ref":"#/$defs/cipLineage"
|
|
2735
2886
|
},
|
|
2887
|
+
"enabled":{
|
|
2888
|
+
"type":"boolean",
|
|
2889
|
+
"default":true,
|
|
2890
|
+
"description":"When false, the CIP executor skips this step during operation execution."
|
|
2891
|
+
},
|
|
2892
|
+
"order":{
|
|
2893
|
+
"type":"number",
|
|
2894
|
+
"description":"Optional execution order within the operation; lower values run first when any step defines order."
|
|
2895
|
+
},
|
|
2736
2896
|
"stepId":{
|
|
2737
2897
|
"type":"string",
|
|
2738
2898
|
"pattern":"^[a-z0-9-_]+$",
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"key": "external-system-schema",
|
|
8
8
|
"name": "External System Configuration Schema",
|
|
9
9
|
"description": "JSON schema for validating ExternalSystem configuration files",
|
|
10
|
-
"version": "1.
|
|
10
|
+
"version": "1.13.0",
|
|
11
11
|
"type": "schema",
|
|
12
12
|
"category": "integration",
|
|
13
13
|
"author": "AI Fabrix Team",
|
|
@@ -27,6 +27,38 @@
|
|
|
27
27
|
],
|
|
28
28
|
"dependencies": [],
|
|
29
29
|
"changelog": [
|
|
30
|
+
{
|
|
31
|
+
"version": "1.13.0",
|
|
32
|
+
"date": "2026-07-02T00:00:00Z",
|
|
33
|
+
"changes": [
|
|
34
|
+
"Added authentications[] with usage enum (api, webhookInbound, syncExecution, messageInbound, messageOutbound, callback, provisioning). Legacy authentication retained with deprecation."
|
|
35
|
+
],
|
|
36
|
+
"breaking": false
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"version": "1.12.0",
|
|
40
|
+
"date": "2026-06-30T00:00:00Z",
|
|
41
|
+
"changes": [
|
|
42
|
+
"authentication.credential.formFields accepts array (allowlist) or object with defaults { visible, required, locked } and fields[] for allowlist/denylist projection."
|
|
43
|
+
],
|
|
44
|
+
"breaking": false
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"version": "1.11.0",
|
|
48
|
+
"date": "2026-06-30T00:00:00Z",
|
|
49
|
+
"changes": [
|
|
50
|
+
"authentication.credential.formFields[] items may set optional label and placeholder overrides per field."
|
|
51
|
+
],
|
|
52
|
+
"breaking": false
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"version": "1.10.0",
|
|
56
|
+
"date": "2026-06-30T00:00:00Z",
|
|
57
|
+
"changes": [
|
|
58
|
+
"Added optional authentication.credential.formFields[] for per-system Authentication tab field projection."
|
|
59
|
+
],
|
|
60
|
+
"breaking": false
|
|
61
|
+
},
|
|
30
62
|
{
|
|
31
63
|
"version": "1.9.0",
|
|
32
64
|
"date": "2026-06-15T00:00:00Z",
|
|
@@ -475,7 +507,7 @@
|
|
|
475
507
|
},
|
|
476
508
|
{
|
|
477
509
|
"key": "clientId",
|
|
478
|
-
"required":
|
|
510
|
+
"required": false
|
|
479
511
|
},
|
|
480
512
|
{
|
|
481
513
|
"key": "expectedIssuer",
|
|
@@ -499,7 +531,12 @@
|
|
|
499
531
|
"description": "Optional URL used when testing the credential (GET). Full URL or path. For OIDC, discovery URL is typically used if testEndpoint omitted."
|
|
500
532
|
}
|
|
501
533
|
],
|
|
502
|
-
"security": [
|
|
534
|
+
"security": [
|
|
535
|
+
{
|
|
536
|
+
"key": "clientSecret",
|
|
537
|
+
"required": false
|
|
538
|
+
}
|
|
539
|
+
]
|
|
503
540
|
},
|
|
504
541
|
"hmac": {
|
|
505
542
|
"variables": [
|
|
@@ -533,6 +570,14 @@
|
|
|
533
570
|
{
|
|
534
571
|
"key": "signingSecret",
|
|
535
572
|
"required": true
|
|
573
|
+
},
|
|
574
|
+
{
|
|
575
|
+
"key": "botToken",
|
|
576
|
+
"required": false
|
|
577
|
+
},
|
|
578
|
+
{
|
|
579
|
+
"key": "clientSecret",
|
|
580
|
+
"required": false
|
|
536
581
|
}
|
|
537
582
|
]
|
|
538
583
|
},
|
|
@@ -591,6 +636,117 @@
|
|
|
591
636
|
"type": "boolean",
|
|
592
637
|
"description": "Template is immutable after first deploy.",
|
|
593
638
|
"default": true
|
|
639
|
+
},
|
|
640
|
+
"formFields": {
|
|
641
|
+
"description": "Optional Authentication tab field projection. Omitted: security keys only; variables hidden. Array: allowlist. Object: defaults.visible false = allowlist on fields[]; defaults.visible true = registry denylist.",
|
|
642
|
+
"oneOf": [
|
|
643
|
+
{
|
|
644
|
+
"type": "array",
|
|
645
|
+
"items": {
|
|
646
|
+
"type": "object",
|
|
647
|
+
"required": [
|
|
648
|
+
"name"
|
|
649
|
+
],
|
|
650
|
+
"properties": {
|
|
651
|
+
"name": {
|
|
652
|
+
"type": "string",
|
|
653
|
+
"minLength": 1,
|
|
654
|
+
"description": "Registry field name for authentication.credential.method."
|
|
655
|
+
},
|
|
656
|
+
"required": {
|
|
657
|
+
"type": "boolean",
|
|
658
|
+
"description": "Override registry required flag for this field."
|
|
659
|
+
},
|
|
660
|
+
"visible": {
|
|
661
|
+
"type": "boolean",
|
|
662
|
+
"description": "When false, exclude this field from the projected form."
|
|
663
|
+
},
|
|
664
|
+
"locked": {
|
|
665
|
+
"type": "boolean",
|
|
666
|
+
"description": "When true, show read-only (prefilled from variables or stored config)."
|
|
667
|
+
},
|
|
668
|
+
"label": {
|
|
669
|
+
"type": "string",
|
|
670
|
+
"minLength": 1,
|
|
671
|
+
"description": "Override registry display label for this field on the Authentication tab."
|
|
672
|
+
},
|
|
673
|
+
"placeholder": {
|
|
674
|
+
"type": "string",
|
|
675
|
+
"description": "Override registry placeholder for this field on the Authentication tab."
|
|
676
|
+
}
|
|
677
|
+
},
|
|
678
|
+
"additionalProperties": false
|
|
679
|
+
}
|
|
680
|
+
},
|
|
681
|
+
{
|
|
682
|
+
"type": "object",
|
|
683
|
+
"required": [
|
|
684
|
+
"fields"
|
|
685
|
+
],
|
|
686
|
+
"properties": {
|
|
687
|
+
"defaults": {
|
|
688
|
+
"type": "object",
|
|
689
|
+
"properties": {
|
|
690
|
+
"visible": {
|
|
691
|
+
"type": "boolean"
|
|
692
|
+
},
|
|
693
|
+
"required": {
|
|
694
|
+
"type": "boolean"
|
|
695
|
+
},
|
|
696
|
+
"locked": {
|
|
697
|
+
"type": "boolean"
|
|
698
|
+
}
|
|
699
|
+
},
|
|
700
|
+
"additionalProperties": false
|
|
701
|
+
},
|
|
702
|
+
"visible": {
|
|
703
|
+
"type": "boolean",
|
|
704
|
+
"description": "Default visible flag for entries in fields[] (false = allowlist mode)."
|
|
705
|
+
},
|
|
706
|
+
"required": {
|
|
707
|
+
"type": "boolean",
|
|
708
|
+
"description": "Default required flag for entries in fields[]."
|
|
709
|
+
},
|
|
710
|
+
"locked": {
|
|
711
|
+
"type": "boolean",
|
|
712
|
+
"description": "Default locked flag for entries in fields[]."
|
|
713
|
+
},
|
|
714
|
+
"fields": {
|
|
715
|
+
"type": "array",
|
|
716
|
+
"items": {
|
|
717
|
+
"type": "object",
|
|
718
|
+
"required": [
|
|
719
|
+
"name"
|
|
720
|
+
],
|
|
721
|
+
"properties": {
|
|
722
|
+
"name": {
|
|
723
|
+
"type": "string",
|
|
724
|
+
"minLength": 1
|
|
725
|
+
},
|
|
726
|
+
"required": {
|
|
727
|
+
"type": "boolean"
|
|
728
|
+
},
|
|
729
|
+
"visible": {
|
|
730
|
+
"type": "boolean"
|
|
731
|
+
},
|
|
732
|
+
"locked": {
|
|
733
|
+
"type": "boolean"
|
|
734
|
+
},
|
|
735
|
+
"label": {
|
|
736
|
+
"type": "string",
|
|
737
|
+
"minLength": 1
|
|
738
|
+
},
|
|
739
|
+
"placeholder": {
|
|
740
|
+
"type": "string"
|
|
741
|
+
}
|
|
742
|
+
},
|
|
743
|
+
"additionalProperties": false
|
|
744
|
+
}
|
|
745
|
+
}
|
|
746
|
+
},
|
|
747
|
+
"additionalProperties": false
|
|
748
|
+
}
|
|
749
|
+
]
|
|
594
750
|
}
|
|
595
751
|
},
|
|
596
752
|
"additionalProperties": false
|
|
@@ -609,6 +765,80 @@
|
|
|
609
765
|
}
|
|
610
766
|
},
|
|
611
767
|
"additionalProperties": false
|
|
768
|
+
},
|
|
769
|
+
"authenticationUsageEntry": {
|
|
770
|
+
"type": "object",
|
|
771
|
+
"description": "Authentication slot with usage separation. Reuses authType branches from legacy authentication.",
|
|
772
|
+
"required": [
|
|
773
|
+
"key",
|
|
774
|
+
"usage",
|
|
775
|
+
"authType"
|
|
776
|
+
],
|
|
777
|
+
"properties": {
|
|
778
|
+
"key": {
|
|
779
|
+
"type": "string",
|
|
780
|
+
"pattern": "^[a-zA-Z0-9_-]+$",
|
|
781
|
+
"minLength": 1,
|
|
782
|
+
"maxLength": 64
|
|
783
|
+
},
|
|
784
|
+
"usage": {
|
|
785
|
+
"type": "string",
|
|
786
|
+
"enum": [
|
|
787
|
+
"api",
|
|
788
|
+
"webhookInbound",
|
|
789
|
+
"syncExecution",
|
|
790
|
+
"messageInbound",
|
|
791
|
+
"messageOutbound",
|
|
792
|
+
"callback",
|
|
793
|
+
"provisioning"
|
|
794
|
+
]
|
|
795
|
+
},
|
|
796
|
+
"authType": {
|
|
797
|
+
"type": "string",
|
|
798
|
+
"enum": [
|
|
799
|
+
"credential",
|
|
800
|
+
"apiProvider",
|
|
801
|
+
"none"
|
|
802
|
+
]
|
|
803
|
+
},
|
|
804
|
+
"credential": {
|
|
805
|
+
"$ref": "#/$defs/credentialTemplate"
|
|
806
|
+
},
|
|
807
|
+
"apiProvider": {
|
|
808
|
+
"$ref": "#/$defs/apiProviderReference"
|
|
809
|
+
}
|
|
810
|
+
},
|
|
811
|
+
"additionalProperties": false,
|
|
812
|
+
"allOf": [
|
|
813
|
+
{
|
|
814
|
+
"if": {
|
|
815
|
+
"properties": {
|
|
816
|
+
"authType": {
|
|
817
|
+
"const": "credential"
|
|
818
|
+
}
|
|
819
|
+
}
|
|
820
|
+
},
|
|
821
|
+
"then": {
|
|
822
|
+
"required": [
|
|
823
|
+
"credential"
|
|
824
|
+
]
|
|
825
|
+
}
|
|
826
|
+
},
|
|
827
|
+
{
|
|
828
|
+
"if": {
|
|
829
|
+
"properties": {
|
|
830
|
+
"authType": {
|
|
831
|
+
"const": "apiProvider"
|
|
832
|
+
}
|
|
833
|
+
}
|
|
834
|
+
},
|
|
835
|
+
"then": {
|
|
836
|
+
"required": [
|
|
837
|
+
"apiProvider"
|
|
838
|
+
]
|
|
839
|
+
}
|
|
840
|
+
}
|
|
841
|
+
]
|
|
612
842
|
}
|
|
613
843
|
},
|
|
614
844
|
"x-systemKindCatalog": {
|
|
@@ -801,7 +1031,7 @@
|
|
|
801
1031
|
"default": false
|
|
802
1032
|
},
|
|
803
1033
|
"authentication": {
|
|
804
|
-
"description": "Nested authentication: authType credential (local template), apiProvider (Miso delegated), or none.",
|
|
1034
|
+
"description": "Nested authentication: authType credential (local template), apiProvider (Miso delegated), or none. Deprecated — prefer authentications[] with usage.",
|
|
805
1035
|
"oneOf": [
|
|
806
1036
|
{
|
|
807
1037
|
"type": "object",
|
|
@@ -849,6 +1079,14 @@
|
|
|
849
1079
|
}
|
|
850
1080
|
]
|
|
851
1081
|
},
|
|
1082
|
+
"authentications": {
|
|
1083
|
+
"type": "array",
|
|
1084
|
+
"description": "Multi-slot authentication with usage separation. One authentication normalizes to [{key:default, usage:api, ...}].",
|
|
1085
|
+
"items": {
|
|
1086
|
+
"$ref": "#/$defs/authenticationUsageEntry"
|
|
1087
|
+
},
|
|
1088
|
+
"uniqueItems": true
|
|
1089
|
+
},
|
|
852
1090
|
"openapi": {
|
|
853
1091
|
"type": "object",
|
|
854
1092
|
"description": "System-level connectivity and bootstrap hints for OpenAPI-backed systems (e.g. default specUrl for discovery, documentKey alignment with shared registry entries). Not the authoritative per-datasource vendor OpenAPI contract; that is declared on the datasource via externalSpec and validated against imported material.",
|
|
@@ -9,6 +9,9 @@
|
|
|
9
9
|
{ "cliFlag": "-e, --env <env>", "requestField": null, "note": "Controller/dataplane URL and token selection" },
|
|
10
10
|
{ "cliFlag": "-p, --payload <file>", "requestField": "payloadTemplate", "note": "Loaded object merged into request when integration-style test" },
|
|
11
11
|
{ "cliFlag": "--timeout <ms>", "requestField": null, "note": "Client aggregate HTTP budget (POST + polls)" },
|
|
12
|
+
{ "cliFlag": "--version <target>", "requestField": "e2eOptions.versionTarget", "runType": "e2e", "default": "latest", "values": ["latest", "running", "<versionId>"] },
|
|
13
|
+
{ "cliFlag": "--sync-mode <mode>", "requestField": "e2eOptions.syncMode", "runType": "e2e", "default": "auto", "values": ["auto", "never", "force"], "note": "Distinct from --sync (publish local files before test)" },
|
|
14
|
+
{ "cliFlag": "--sync", "requestField": null, "note": "Publish local integration files before test (upload); not the same as --sync-mode" },
|
|
12
15
|
{ "cliFlag": "--debug [level]", "requestField": "includeDebug", "default": false, "note": "summary|full|raw affects TTY appendix only; any presence sets includeDebug" },
|
|
13
16
|
{ "cliFlag": "--no-async", "requestField": "asyncRun", "note": "When true on CLI, omit asyncRun or set false; sync-only POST" },
|
|
14
17
|
{ "cliFlag": "--no-run-scenarios", "requestField": "e2eOptions.runScenarios", "runType": "e2e" },
|
|
@@ -394,7 +394,7 @@
|
|
|
394
394
|
]
|
|
395
395
|
},
|
|
396
396
|
"oidc": {
|
|
397
|
-
"active":
|
|
397
|
+
"active": true,
|
|
398
398
|
"display": {
|
|
399
399
|
"label": "OIDC",
|
|
400
400
|
"order": 5
|
|
@@ -485,7 +485,7 @@
|
|
|
485
485
|
]
|
|
486
486
|
},
|
|
487
487
|
"hmac": {
|
|
488
|
-
"active":
|
|
488
|
+
"active": true,
|
|
489
489
|
"display": {
|
|
490
490
|
"label": "HMAC",
|
|
491
491
|
"order": 6
|
|
@@ -279,6 +279,15 @@
|
|
|
279
279
|
}
|
|
280
280
|
},
|
|
281
281
|
"additionalProperties": false
|
|
282
|
+
},
|
|
283
|
+
"fieldHints": {
|
|
284
|
+
"type": "object",
|
|
285
|
+
"description": "Optional per-field extraction hints for governed FK review (plan 441.1).",
|
|
286
|
+
"additionalProperties": {
|
|
287
|
+
"type": "string",
|
|
288
|
+
"minLength": 1,
|
|
289
|
+
"maxLength": 512
|
|
290
|
+
}
|
|
282
291
|
}
|
|
283
292
|
},
|
|
284
293
|
"additionalProperties": false
|
|
@@ -90,7 +90,7 @@ function logTrustWarningsAndFindings(run, opts) {
|
|
|
90
90
|
function logTrustFooter(run, opts) {
|
|
91
91
|
logger.log('');
|
|
92
92
|
logger.log(metaGray(' ── Integration reality (informative) ──'));
|
|
93
|
-
logger.log(metaGray(` Local manifest: ${opts.
|
|
93
|
+
logger.log(metaGray(` Local manifest: ${opts.noPublish ? 'not uploaded (--no-publish)' : 'uploaded before run'}`));
|
|
94
94
|
logger.log(metaGray(` Publish gate: ${publishGateLine(run.trustDecision, opts.strict === true)}`));
|
|
95
95
|
logger.log(SEP);
|
|
96
96
|
}
|