@aifabrix/builder 2.53.0 → 2.54.1
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/bin/aifabrix.js +2 -2
- package/lib/api/assistants.api.js +8 -5
- package/lib/api/channel-identity.api.js +41 -0
- package/lib/api/evidence-authoring.api.js +5 -1
- package/lib/api/evidence.api.js +2 -0
- package/lib/api/types/evidence.types.js +2 -0
- package/lib/api/work-search.api.js +136 -0
- package/lib/channels/add-channel.js +163 -126
- package/lib/channels/approval-guides/chatgpt.js +14 -18
- package/lib/channels/approval-guides/claude.js +29 -0
- package/lib/channels/approval-guides/index.js +88 -22
- package/lib/channels/approval-guides/mcp-client.js +27 -0
- package/lib/channels/approval-guides/microsoft-copilot.js +52 -3
- package/lib/channels/approval-guides/slack.js +10 -10
- package/lib/channels/approval-guides/teams-bot.js +8 -12
- package/lib/channels/channel-add-continuations.js +91 -0
- package/lib/channels/channel-add-ensure.js +124 -27
- package/lib/channels/channel-add-existing.js +160 -28
- package/lib/channels/channel-add-failure.js +60 -0
- package/lib/channels/channel-add-remaining.js +486 -0
- package/lib/channels/channel-add-tty.js +190 -0
- package/lib/channels/channel-add-wizard-config.js +138 -0
- package/lib/channels/channel-add-wizard.js +250 -0
- package/lib/channels/channel-artifact-generator.js +27 -13
- package/lib/channels/channel-cardinality.js +83 -0
- package/lib/channels/channel-catalog-icon.js +45 -0
- package/lib/channels/channel-cli-instructions.js +75 -0
- package/lib/channels/channel-configuration-map.js +213 -0
- package/lib/channels/channel-credential.js +11 -14
- package/lib/channels/channel-definition-project.js +101 -0
- package/lib/channels/channel-definition-registry.js +154 -0
- package/lib/channels/channel-description.js +59 -2
- package/lib/channels/channel-discovery.js +16 -2
- package/lib/channels/channel-external-system.js +86 -9
- package/lib/channels/channel-install-envelope-actions.js +88 -0
- package/lib/channels/channel-install-envelope-microsoft.js +155 -0
- package/lib/channels/channel-install-envelope.js +356 -0
- package/lib/channels/channel-install-help-md.js +172 -0
- package/lib/channels/channel-install-http-payload.js +62 -0
- package/lib/channels/channel-install-inventory.js +115 -0
- package/lib/channels/channel-install-profiles.js +90 -0
- package/lib/channels/channel-instance-collision.js +118 -0
- package/lib/channels/channel-instance-key.js +100 -0
- package/lib/channels/channel-instance-materialize.js +240 -0
- package/lib/channels/channel-integration-generator.js +16 -9
- package/lib/channels/channel-integration-template.js +101 -22
- package/lib/channels/channel-inventory-fetch.js +79 -0
- package/lib/channels/channel-oauth-preflight.js +104 -0
- package/lib/channels/channel-package-version.js +76 -0
- package/lib/channels/channel-predefined-client.js +154 -0
- package/lib/channels/channel-probe.js +7 -2
- package/lib/channels/channel-runtime-resolver.js +180 -72
- package/lib/channels/channel-status-display.js +86 -16
- package/lib/channels/channel-targets.js +106 -92
- package/lib/channels/chatgpt-callback.js +318 -0
- package/lib/channels/chatgpt-channel-add.js +229 -0
- package/lib/channels/chatgpt-preflight.js +396 -0
- package/lib/channels/chatgpt-runtime-contract.js +17 -0
- package/lib/channels/chatgpt-setup-values.js +124 -0
- package/lib/channels/claude-callback.js +67 -0
- package/lib/channels/claude-channel-add.js +254 -0
- package/lib/channels/claude-runtime-contract.js +40 -0
- package/lib/channels/claude-runtime.js +58 -0
- package/lib/channels/claude-setup-values.js +89 -0
- package/lib/channels/mcp-client/config-merge.js +148 -0
- package/lib/channels/mcp-client/ensure-client.js +231 -0
- package/lib/channels/mcp-client/paths.js +53 -0
- package/lib/channels/mcp-client/profiles.js +122 -0
- package/lib/channels/mcp-client/redirect-uris.js +99 -0
- package/lib/channels/mcp-client/runtime.js +59 -0
- package/lib/channels/mcp-client-channel-add.js +186 -0
- package/lib/channels/microsoft-copilot-channel-add.js +117 -7
- package/lib/channels/microsoft-copilot-entra-identifier-uris.js +187 -0
- package/lib/channels/microsoft-copilot-entra-sso-form.js +106 -18
- package/lib/channels/microsoft-copilot-entra-sso.js +31 -2
- package/lib/channels/microsoft-copilot-package-prior.js +107 -0
- package/lib/channels/microsoft-copilot-package.js +29 -28
- package/lib/channels/microsoft-provisioning/a365.js +80 -0
- package/lib/channels/microsoft-provisioning/auth-config.js +240 -0
- package/lib/channels/microsoft-provisioning/auth.js +179 -0
- package/lib/channels/microsoft-provisioning/cli.js +71 -0
- package/lib/channels/microsoft-provisioning/constants.js +75 -0
- package/lib/channels/microsoft-provisioning/errors.js +117 -0
- package/lib/channels/microsoft-provisioning/index.js +55 -0
- package/lib/channels/microsoft-provisioning/install-atk.js +158 -0
- package/lib/channels/microsoft-provisioning/install-teams.js +115 -0
- package/lib/channels/microsoft-provisioning/login-portal-device.js +236 -0
- package/lib/channels/microsoft-provisioning/login-portal-parse.js +71 -0
- package/lib/channels/microsoft-provisioning/login-portal-teams.js +193 -0
- package/lib/channels/microsoft-provisioning/login-portal.js +230 -0
- package/lib/channels/microsoft-provisioning/persist.js +110 -0
- package/lib/channels/microsoft-provisioning/teams-bot-args.js +119 -0
- package/lib/channels/microsoft-provisioning/teams-bot-controller.js +123 -0
- package/lib/channels/microsoft-provisioning/teams-bot-parse.js +134 -0
- package/lib/channels/microsoft-provisioning/teams-bot-persist.js +113 -0
- package/lib/channels/microsoft-provisioning/teams-bot-provision.js +234 -0
- package/lib/channels/microsoft-provisioning/teams-bot-secrets.js +45 -0
- package/lib/channels/microsoft-provisioning/teams-cli.js +82 -0
- package/lib/channels/runtime-tool-catalog.js +5 -2
- package/lib/channels/slack-channel-add-portal.js +130 -0
- package/lib/channels/slack-channel-add-tty-auth.js +95 -0
- package/lib/channels/slack-channel-add.js +258 -0
- package/lib/channels/slack-provisioning/apps.js +181 -0
- package/lib/channels/slack-provisioning/auth-store.js +110 -0
- package/lib/channels/slack-provisioning/auth-ticket.js +185 -0
- package/lib/channels/slack-provisioning/auth.js +115 -0
- package/lib/channels/slack-provisioning/callbacks.js +41 -0
- package/lib/channels/slack-provisioning/cli.js +226 -0
- package/lib/channels/slack-provisioning/constants.js +37 -0
- package/lib/channels/slack-provisioning/credentials.js +169 -0
- package/lib/channels/slack-provisioning/curl-shim.js +132 -0
- package/lib/channels/slack-provisioning/developer-install.js +118 -0
- package/lib/channels/slack-provisioning/env-file.js +120 -0
- package/lib/channels/slack-provisioning/errors.js +47 -0
- package/lib/channels/slack-provisioning/go-ca-bundle.js +137 -0
- package/lib/channels/slack-provisioning/index.js +250 -0
- package/lib/channels/slack-provisioning/install-cli.js +323 -0
- package/lib/channels/slack-provisioning/manifest.js +89 -0
- package/lib/channels/slack-provisioning/oauth-lock.js +33 -0
- package/lib/channels/slack-provisioning/offer-cli.js +113 -0
- package/lib/channels/slack-provisioning/onboard-members.js +122 -0
- package/lib/channels/slack-provisioning/onboard.js +89 -0
- package/lib/channels/slack-provisioning/persist.js +95 -0
- package/lib/channels/slack-provisioning/remaining-urls.js +158 -0
- package/lib/channels/slack-provisioning/with-curl-on-path.js +48 -0
- package/lib/channels/teams-bot-channel-add.js +94 -0
- package/lib/channels/vendor-dataplane-url.js +249 -0
- package/lib/cli/setup-certification.help.js +2 -0
- package/lib/cli/setup-external-system-help.js +2 -0
- package/lib/cli/setup-external-system.js +1 -1
- package/lib/commands/channel-add-help.js +366 -0
- package/lib/commands/channel-add-setup.js +162 -80
- package/lib/commands/channel-configure.js +118 -0
- package/lib/commands/channel.js +10 -1
- package/lib/commands/governance-upload-external.js +6 -3
- package/lib/commands/lifecycle-command-action.js +2 -5
- package/lib/commands/lifecycle-external.js +93 -21
- package/lib/commands/repair-datasource-test-payload.js +4 -2
- package/lib/commands/repair-datasource-webhooks-sync-bridge.js +23 -2
- package/lib/commands/repair-datasource.js +3 -0
- package/lib/commands/repair-external-run.js +59 -25
- package/lib/commands/repair-openapi-rest-runtime.js +127 -0
- package/lib/commands/repair-orchestration-tag-merge.js +339 -0
- package/lib/commands/repair-rbac-catalog-defaults.js +96 -0
- package/lib/commands/repair-rbac-platform-preset.js +26 -15
- package/lib/commands/repair-rbac-reader-roles.js +8 -21
- package/lib/commands/repair-rbac.js +10 -34
- package/lib/commands/repair-system-permissions.js +24 -22
- package/lib/commands/role-assistant-test-output.js +14 -0
- package/lib/commands/role-assistant.js +59 -21
- package/lib/commands/test-e2e-external.js +148 -21
- package/lib/commands/upload-credential-push-log.js +2 -1
- package/lib/commands/upload-publish-context.js +1 -1
- package/lib/commands/upload-role-assistant-shell.js +124 -0
- package/lib/commands/upload-sidecar-followups.js +6 -3
- package/lib/commands/upload.js +18 -3
- package/lib/core/secrets-docker-env.js +4 -1
- package/lib/core/secrets-env-content.js +17 -3
- package/lib/datasource/capability/capability-manifest.js +0 -3
- package/lib/datasource/capability/copy-test-payload.js +3 -0
- package/lib/external-system/deploy-helpers.js +26 -1
- package/lib/external-system/deploy.js +10 -6
- package/lib/external-system/download-helpers.js +29 -2
- package/lib/external-system/download-role-assistant.js +83 -4
- package/lib/external-system/download.js +40 -30
- package/lib/external-system/sync-deploy-manifest.js +3 -2
- package/lib/external-system/upload-identity.js +42 -0
- package/lib/generator/index.js +19 -15
- package/lib/generator/split.js +13 -2
- package/lib/lifecycle/role-assistant-governance.js +146 -0
- package/lib/lifecycle/scenario-upload.js +181 -30
- package/lib/programmatic/builder-api-cors.js +143 -0
- package/lib/programmatic/builder-api-request.js +6 -0
- package/lib/programmatic/builder-api-route-dispatch.js +56 -42
- package/lib/programmatic/builder-api-server.js +8 -1
- package/lib/programmatic/capability-registry.js +54 -0
- package/lib/programmatic/channel-install-help-resolve.js +359 -0
- package/lib/programmatic/channel-install-session.js +218 -0
- package/lib/programmatic/help-content/channel-onboarding.md +2 -0
- package/lib/programmatic/help-content/cip-overview.md +3 -1
- package/lib/programmatic/http-raw-response.js +62 -0
- package/lib/programmatic/openapi-channel-install-bindings.js +179 -0
- package/lib/programmatic/openapi-channel-install-schemas.js +286 -0
- package/lib/programmatic/openapi-component-schemas.js +18 -1
- package/lib/programmatic/openapi-description-enricher.js +3 -1
- package/lib/programmatic/openapi-descriptions.js +74 -3
- package/lib/programmatic/openapi-envelope-examples.js +117 -0
- package/lib/programmatic/openapi-operation-bindings.js +4 -1
- package/lib/programmatic/openapi-schema-descriptions-channel.js +316 -0
- package/lib/programmatic/openapi-spec.js +12 -8
- package/lib/programmatic/platform-rbac-catalog.js +36 -18
- package/lib/programmatic/route-handler-map.js +51 -1
- package/lib/programmatic/route-handlers-context.js +2 -1
- package/lib/programmatic/run-auth-permissions.js +54 -0
- package/lib/programmatic/run-channel-catalog.js +196 -0
- package/lib/programmatic/run-channel-install-artifacts.js +137 -0
- package/lib/programmatic/run-channel-install-copilot.js +353 -0
- package/lib/programmatic/run-channel-install-options.js +232 -0
- package/lib/programmatic/run-channel-install-teams-bot.js +204 -0
- package/lib/programmatic/run-channel-install.js +346 -0
- package/lib/programmatic/run-channel-package.js +87 -7
- package/lib/programmatic/workspace-context.js +2 -0
- package/lib/role-assistant/evidence-sync.js +4 -2
- package/lib/role-assistant/evidence-validation-issues.js +51 -0
- package/lib/role-assistant/knowledge-sync.js +10 -4
- package/lib/role-assistant/settings.js +49 -2
- package/lib/role-assistant/test-cases-evaluate.js +30 -2
- package/lib/role-assistant/test-cases-evidence.js +175 -0
- package/lib/role-assistant/test-cases-search.js +229 -0
- package/lib/role-assistant/test-cases.js +37 -4
- package/lib/role-assistant/test-runner-search.js +149 -0
- package/lib/role-assistant/test-runner-workhub-helpers.js +40 -2
- package/lib/role-assistant/test-runner-workhub-soft.js +9 -3
- package/lib/role-assistant/test-runner-workhub.js +29 -11
- package/lib/role-assistant/test-runner.js +16 -1
- package/lib/schema/external-datasource.schema.json +119 -16
- package/lib/schema/external-system.schema.json +159 -2
- package/lib/schema/mcp-client-profile.schema.json +103 -0
- package/lib/utils/app-path-resolve.js +4 -0
- package/lib/utils/authentication-env-template.js +44 -6
- package/lib/utils/credential-secrets-env.js +6 -1
- package/lib/utils/env-copy.js +19 -7
- package/lib/utils/external-env-template.js +20 -2
- package/lib/utils/paths.js +18 -1
- package/lib/utils/platform-shell-package.js +69 -0
- package/lib/utils/port-resolver.js +50 -1
- package/lib/utils/rewrite-name-flag.js +20 -0
- package/lib/utils/role-assistant-paths.js +13 -10
- package/lib/utils/schema-resolver.js +11 -1
- package/lib/utils/secrets-helpers.js +12 -21
- package/lib/utils/token-manager.js +10 -5
- package/lib/validation/validate.js +40 -0
- package/package.json +1 -1
- package/templates/README.md +1 -1
- package/templates/applications/builder-api/Dockerfile +1 -1
- package/templates/applications/builder-api/env.template +7 -0
- package/templates/applications/dataplane/application.yaml +6 -5
- package/templates/applications/dataplane/env.template +2 -2
- package/templates/applications/dataplane/rbac.yaml +7 -2
- package/templates/applications/keycloak/Dockerfile +30 -4
- package/templates/applications/keycloak/application.yaml +2 -2
- package/templates/applications/keycloak/cimd-lenient-parse/AbstractClientIdMetadataDocumentExecutor.java +896 -0
- package/templates/applications/keycloak/cimd-lenient-parse/SOURCE.md +19 -0
- package/templates/applications/keycloak/env.template +3 -0
- package/templates/applications/miso-controller/application.yaml +1 -2
- package/templates/applications/miso-controller/env.template +2 -0
- package/templates/channels/README.md +5 -5
- package/templates/channels/chatgpt/TROUBLESHOOTING.md +51 -0
- package/templates/channels/chatgpt/channel.json +59 -0
- package/templates/channels/chatgpt/icon.svg +1 -0
- package/templates/channels/chatgpt/install.template.md.hbs +20 -95
- package/templates/channels/chatgpt/integration/README.md +1 -1
- package/templates/channels/chatgpt/integration/application.json +2 -2
- package/templates/channels/chatgpt/integration/chatgpt-system.json +49 -4
- package/templates/channels/chatgpt/integration/env.template +2 -4
- package/templates/channels/chatgpt/integration/rbac.json +13 -0
- package/templates/channels/claude/TROUBLESHOOTING.md +41 -0
- package/templates/channels/claude/channel.json +59 -0
- package/templates/channels/claude/icon.svg +1 -0
- package/templates/channels/claude/install.template.md.hbs +21 -0
- package/templates/channels/claude/integration/README.md +14 -0
- package/templates/channels/claude/integration/application.json +15 -0
- package/templates/channels/claude/integration/claude-system.json +59 -0
- package/templates/channels/claude/integration/env.template +2 -0
- package/templates/channels/claude/integration/rbac.json +13 -0
- package/templates/channels/claude/manifest.template.json.hbs +40 -0
- package/templates/channels/mcp-client/channel.json +72 -0
- package/templates/channels/mcp-client/icon.svg +1 -0
- package/templates/channels/mcp-client/install.template.md.hbs +24 -0
- package/templates/channels/mcp-client/integration/README.md +13 -0
- package/templates/channels/mcp-client/integration/application.json +15 -0
- package/templates/channels/mcp-client/integration/env.template +2 -0
- package/templates/channels/mcp-client/integration/mcp-client-system.json +72 -0
- package/templates/channels/mcp-client/integration/rbac.json +13 -0
- package/templates/channels/mcp-client/manifest.template.json.hbs +41 -0
- package/templates/channels/mcp-client/profiles/cursor.json +26 -0
- package/templates/channels/mcp-client/profiles/github-copilot.json +29 -0
- package/templates/channels/mcp-client/profiles/vscode.json +29 -0
- package/templates/channels/microsoft-copilot/channel.json +73 -0
- package/templates/channels/microsoft-copilot/declarative-agent.template.json.hbs +8 -4
- package/templates/channels/microsoft-copilot/entra-sso-registration.template.md.hbs +65 -5
- package/templates/channels/microsoft-copilot/icon.svg +1 -0
- package/templates/channels/microsoft-copilot/install.template.md.hbs +9 -9
- package/templates/channels/microsoft-copilot/integration/README.md +1 -1
- package/templates/channels/microsoft-copilot/integration/application.json +2 -2
- package/templates/channels/microsoft-copilot/integration/env.template +3 -6
- package/templates/channels/microsoft-copilot/integration/microsoft-copilot-system.json +63 -4
- package/templates/channels/microsoft-copilot/integration/rbac.json +13 -0
- package/templates/channels/microsoft-copilot/oauth-plugin-vault-required.template.md.hbs +5 -5
- package/templates/channels/slack/channel.json +223 -0
- package/templates/channels/slack/icon.svg +1 -0
- package/templates/channels/slack/install.template.md.hbs +36 -28
- package/templates/channels/slack/integration/README.md +245 -22
- package/templates/channels/slack/integration/application.json +44 -7
- package/templates/channels/slack/integration/env.template +15 -6
- package/templates/channels/slack/integration/openapi/openapi.json +126 -0
- package/templates/channels/slack/integration/rbac.json +84 -0
- package/templates/channels/slack/integration/slack-datasource-commands.json +154 -0
- package/templates/channels/slack/integration/slack-datasource-conversations.json +28 -3
- package/templates/channels/slack/integration/slack-datasource-events.json +154 -0
- package/templates/channels/slack/integration/slack-datasource-interactive.json +154 -0
- package/templates/channels/slack/integration/slack-datasource-messages.json +40 -2
- package/templates/channels/slack/integration/slack-system.json +155 -77
- package/templates/channels/slack/manifest.template.json.hbs +5 -2
- package/templates/channels/teams-bot/channel.json +161 -0
- package/templates/channels/teams-bot/icon.svg +1 -0
- package/templates/channels/teams-bot/install.template.md.hbs +12 -13
- package/templates/channels/teams-bot/integration/README.md +5 -4
- package/templates/channels/teams-bot/integration/application.json +6 -4
- package/templates/channels/teams-bot/integration/env.template +5 -4
- package/templates/channels/teams-bot/integration/openapi/openapi.json +68 -0
- package/templates/channels/teams-bot/integration/rbac.json +21 -0
- package/templates/channels/teams-bot/integration/teams-bot-datasource-activities.json +154 -0
- package/templates/channels/teams-bot/integration/teams-bot-system.json +128 -23
- package/templates/channels/web-embed/channel.json +60 -0
- package/templates/channels/web-embed/install.template.md.hbs +1 -1
- package/templates/channels/web-embed/integration/README.md +2 -2
- package/templates/channels/web-embed/integration/application.json +2 -2
- package/templates/channels/web-embed/integration/env.template +1 -1
- package/templates/channels/web-embed/integration/rbac.json +13 -0
- package/templates/channels/web-embed/integration/web-embed-system.json +50 -4
|
@@ -1,36 +1,259 @@
|
|
|
1
|
-
# Slack
|
|
1
|
+
# Slack
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Chat with Role Assistants, send notifications, and review documents in Slack.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## At a glance
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
| | |
|
|
8
|
+
| --- | --- |
|
|
9
|
+
| **System key** | `slack` |
|
|
10
|
+
| **Type** | `custom` |
|
|
11
|
+
| **Datasources** | 5 |
|
|
12
|
+
|
|
13
|
+
## Files
|
|
14
|
+
|
|
15
|
+
| File | Purpose |
|
|
16
|
+
| --- | --- |
|
|
17
|
+
| `application.yaml` | App manifest and `externalIntegration` |
|
|
18
|
+
| `slack-system.yaml` | Auth, API definition, roles |
|
|
19
|
+
| `slack-datasource-interactive.yaml` | Datasource: Slack interactive inbound (**capabilities** here) |
|
|
20
|
+
| `slack-datasource-commands.yaml` | Datasource: Slack slash-command inbound (**capabilities** here) |
|
|
21
|
+
| `slack-datasource-events.yaml` | Datasource: Slack Events API inbound (**capabilities** here) |
|
|
22
|
+
| `slack-datasource-conversations.yaml` | Datasource: Slack Conversations (**capabilities** here) |
|
|
23
|
+
| `slack-datasource-messages.yaml` | Datasource: Slack Messages (**capabilities** here) |
|
|
24
|
+
| `env.template` | Secrets and env placeholders |
|
|
25
|
+
| `slack-deploy.json` | Deploy manifest (`aifabrix json slack`) |
|
|
26
|
+
| `deploy.js` | Deploy helper |
|
|
27
|
+
| `wizard.yaml` | Wizard input |
|
|
28
|
+
| `scenarios/*.yaml` | Governance scenario packs (optional; dataplane-first via `verify-governance` / `governance generate`; expert YAML via `governance download` / `upload`) |
|
|
29
|
+
| `rbac.yaml` | Roles and permissions |
|
|
30
|
+
|
|
31
|
+
## Typical workflow
|
|
32
|
+
|
|
33
|
+
1. **Login** — `aifabrix login` (controller URL set via `aifabrix auth config` if needed).
|
|
34
|
+
2. **Change config** — edit JSON/YAML under `integration/slack/`, or extend with `aifabrix wizard --app slack`.
|
|
35
|
+
3. **Adjust operations** — use `aifabrix datasource capability …` to copy, add, or remove **capabilities** (see below).
|
|
36
|
+
4. **Check locally** — `aifabrix validate slack` and `aifabrix datasource validate` on files you touched.
|
|
37
|
+
5. **Align manifest** — `aifabrix repair slack` after bigger edits.
|
|
38
|
+
6. **Publish** — see [Publish and credentials](#publish-and-credentials) (`upload`, `deploy`, or `credential push`).
|
|
39
|
+
7. **Certify** — run [Enterprise AI Certification](#enterprise-ai-certification) (`verify-operations` → `verify-trust` → `verify-governance` → `lifecycle`).
|
|
40
|
+
8. **Protection** (optional) — dimension grants in `integration/.protection/` — see [Protection manifests](#protection-manifests).
|
|
41
|
+
|
|
42
|
+
Rollback an experiment: `datasource capability remove …` → validate → upload/deploy again.
|
|
43
|
+
|
|
44
|
+
## Publish and credentials
|
|
45
|
+
|
|
46
|
+
| Command | What it does |
|
|
47
|
+
| --- | --- |
|
|
48
|
+
| `aifabrix upload slack` | Publishes local integration files to the dataplane (refreshes `slack-deploy.json` from sources) and pushes credential secrets from `integration/slack/.env` (when present). |
|
|
49
|
+
| `aifabrix upload slack --force` | Same publish path when the interface or datasource schema changed in ways **deploy cannot accept yet**; bypasses active-schema replacement guards. Read the CLI warning before use. |
|
|
50
|
+
| `aifabrix deploy slack` | Deploys via the controller pipeline. Does **not** replace a full upload for credential secrets — run `upload` or `credential push` when `.env` changed. |
|
|
51
|
+
| `aifabrix credential push slack` | Pushes `KV_*` values from `.env` only (no manifest publish). |
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
aifabrix upload slack
|
|
55
|
+
# or secrets only:
|
|
56
|
+
aifabrix credential push slack
|
|
57
|
+
|
|
58
|
+
# Breaking schema / interface change — deploy blocked; publish for dev iteration
|
|
59
|
+
aifabrix validate slack
|
|
60
|
+
aifabrix upload slack --force
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Protection manifests
|
|
64
|
+
|
|
65
|
+
Protection rules live in **`integration/.protection/`** at the **repository root** (sibling to `integration/slack/`, not inside this app folder). One manifest per **datasource key** (`spec.datasourceKey`). Use YAML or JSON; store expressions only — no secrets in Git.
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
# From repo root (where integration/ lives)
|
|
69
|
+
aifabrix protection create slack-interactive --type country-sales
|
|
70
|
+
aifabrix protection validate slack-interactive
|
|
71
|
+
aifabrix protection upload slack-interactive
|
|
72
|
+
|
|
73
|
+
# Batch (entire folder)
|
|
74
|
+
aifabrix validate .protection
|
|
75
|
+
aifabrix upload .protection
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
See `aifabrix protection --help` for flags (`--no-sync` on upload skips datasource sync after upload only).
|
|
79
|
+
|
|
80
|
+
## Capabilities (per datasource)
|
|
81
|
+
|
|
82
|
+
Each `*-datasource-*` file lists **capabilities**: named slices that tie together HTTP/API definitions and execution steps. Use the CLI to clone or drop them safely instead of editing huge JSON by hand.
|
|
83
|
+
|
|
84
|
+
**After any change:** run `aifabrix datasource validate <file-or-key>` (or `aifabrix validate slack` for the whole app).
|
|
85
|
+
|
|
86
|
+
| Command | What it does |
|
|
87
|
+
| --- | --- |
|
|
88
|
+
| `datasource capability copy` | Clone one capability to a new name (`--from` / `--as`). Supports `--dry-run`, `--overwrite`, backups. If `exposed.profiles.<from>` exists, it’s copied to `exposed.profiles.<as>`. |
|
|
89
|
+
| `datasource capability create` (or `add`) | New capability from `--from`, `--template`, or `--openapi-operation`. |
|
|
90
|
+
| `datasource capability remove` | Remove one capability (`--capability`; optional `--profile`). Use `--dry-run` first. |
|
|
91
|
+
| `datasource capability validate` | Schema check for the file or one `--capability`. |
|
|
92
|
+
| `datasource capability diff` | Compare two files for one capability. |
|
|
93
|
+
| `datasource capability edit` | Edit one capability’s API definition, runtime steps, or exposure profile in your editor (TTY). |
|
|
94
|
+
| `datasource capability relate` | Link this datasource to another (foreign-key style metadata). See `--help` for flags. |
|
|
95
|
+
|
|
96
|
+
Short alias (recommended): `af ds cap <command> …`
|
|
97
|
+
Full command: `aifabrix datasource capability <command> …`
|
|
98
|
+
|
|
99
|
+
Examples (use the first datasource from the Files table):
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
# Preview cloning "create" to "createBasic" (no write)
|
|
103
|
+
af ds cap copy slack-interactive --from create --as createBasic --dry-run
|
|
104
|
+
|
|
105
|
+
# Apply the copy, then validate
|
|
106
|
+
af ds cap copy slack-interactive --from create --as createBasic
|
|
107
|
+
af ds validate slack-interactive
|
|
108
|
+
|
|
109
|
+
# Remove a capability you no longer need
|
|
110
|
+
af ds cap remove slack-interactive --capability createBasic --dry-run
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
For flags, run `af ds cap <command> --help`.
|
|
114
|
+
|
|
115
|
+
## Per-datasource debug ladder
|
|
116
|
+
|
|
117
|
+
Start with one datasource and iterate until it’s stable (architect / CI — use [Enterprise AI Certification](#enterprise-ai-certification) for the product path).
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
af ds validate slack-interactive
|
|
121
|
+
af ds test slack-interactive --debug --sync
|
|
122
|
+
af ds test-integration slack-interactive --sync
|
|
123
|
+
af ds test-e2e slack-interactive --debug --sync
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## Secrets
|
|
127
|
+
|
|
128
|
+
Store values the CLI expects (no secrets in Git):
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
aifabrix secret set slack/signingSecret <your value> # KV_SLACK_SIGNINGSECRET
|
|
132
|
+
aifabrix secret set slack/botToken <your value> # KV_SLACK_BOTTOKEN
|
|
133
|
+
aifabrix secret set slack/clientSecret <your value> # KV_SLACK_CLIENTSECRET
|
|
134
|
+
```
|
|
12
135
|
|
|
13
|
-
##
|
|
136
|
+
## Repair
|
|
14
137
|
|
|
15
|
-
|
|
138
|
+
Keeps filenames, lists, and deploy manifest in sync after manual edits.
|
|
16
139
|
|
|
17
|
-
|
|
140
|
+
```bash
|
|
141
|
+
aifabrix repair slack
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
Useful flags: `--dry-run`, `--auth <method>`, `--rbac`, `--expose`, `--sync`, `--test`.
|
|
18
145
|
|
|
19
|
-
|
|
146
|
+
## Enterprise AI Certification
|
|
20
147
|
|
|
21
|
-
|
|
148
|
+
Product-facing commands that prove operational readiness, AI trust, governance enforcement, and an **Enterprise AI Certification** report. Run after [publish](#publish-and-credentials).
|
|
149
|
+
|
|
150
|
+
| Command | What it proves |
|
|
22
151
|
| --- | --- |
|
|
23
|
-
|
|
|
24
|
-
|
|
|
25
|
-
|
|
|
26
|
-
|
|
|
27
|
-
|
|
|
28
|
-
|
|
|
152
|
+
| `aifabrix verify-operations slack` | Operational readiness — orchestrates validate, unit test, integration, and E2E for the whole system |
|
|
153
|
+
| `aifabrix verify-trust slack` | AI business context confidence (semantic agent metadata; not live vendor API calls) |
|
|
154
|
+
| `aifabrix verify-governance slack` | **Recommended** — publish (unless `--no-sync`), generate scenario packs on the dataplane, then verify ABAC visibility per subject |
|
|
155
|
+
| `aifabrix governance generate slack` | Granular: generate packs only (after protection + sync) |
|
|
156
|
+
| `aifabrix governance verify slack` | Granular: verify only (active packs on dataplane, or `--pack` for local YAML override) |
|
|
157
|
+
| `aifabrix lifecycle slack` | Certification report from persisted pillar results on the dataplane |
|
|
158
|
+
|
|
159
|
+
**Recommended order:** `upload` → `verify-operations` → `verify-trust` → `verify-governance` → `lifecycle`
|
|
160
|
+
|
|
161
|
+
Integration validation packs live under `integration/slack/scenarios/` (YAML per datasource). Prefer **`verify-governance`** (dataplane-first) after identity sync, protection upload, and `datasource load`. Granular: `governance generate` then `governance verify`. Expert YAML: `governance download` / `governance upload` (424.0 schema; pre-424 files fail with a hint to regenerate). **`governance download`** is read-only and does not publish this folder.
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
aifabrix upload slack
|
|
165
|
+
|
|
166
|
+
aifabrix verify-operations slack
|
|
167
|
+
aifabrix verify-operations slack -v
|
|
168
|
+
|
|
169
|
+
aifabrix verify-trust slack -v
|
|
170
|
+
aifabrix verify-trust slack --no-sync --revalidate
|
|
171
|
+
|
|
172
|
+
# Governance pillar (replace <email> with a subject from your scenario pack)
|
|
173
|
+
aifabrix verify-governance slack --subject-email <email> -v
|
|
174
|
+
aifabrix verify-governance slack --subject-email <email> --no-sync
|
|
175
|
+
|
|
176
|
+
# Granular governance (debugging)
|
|
177
|
+
aifabrix governance generate slack --subject-email <email>
|
|
178
|
+
aifabrix governance verify slack -v
|
|
179
|
+
|
|
180
|
+
# Report only (GET persisted results)
|
|
181
|
+
aifabrix lifecycle slack
|
|
182
|
+
aifabrix lifecycle slack -v
|
|
183
|
+
|
|
184
|
+
# Run missing verify steps, publish local files, then print report
|
|
185
|
+
aifabrix lifecycle slack --run
|
|
186
|
+
aifabrix lifecycle slack --run --no-sync
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
**Prerequisites:** `aifabrix login`, dataplane reachable, config published (`upload`). Governance also needs identity sync, protection upload, `datasource load` for fixture records, at least one `--subject-email` or `--subject-user-id`, and `governance:evaluate` on your token. Run `aifabrix verify-governance --help` for flags.
|
|
190
|
+
|
|
191
|
+
**Single-datasource trust** (same semantic check as system `verify-trust`, one key):
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
aifabrix datasource verify-trust slack-interactive --app slack -v
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
Common flags: `-v` / `--verbose`, `-d` / `--debug` (trust), `--no-sync` (skip pre-run upload), `--json` (machine-readable envelope).
|
|
198
|
+
|
|
199
|
+
## Debug and low-level tests
|
|
29
200
|
|
|
30
|
-
|
|
201
|
+
Advanced commands for architects and CI. Prefer [Enterprise AI Certification](#enterprise-ai-certification) for integrator proof unless you need step-by-step debugging.
|
|
202
|
+
|
|
203
|
+
| Command | Network | Notes |
|
|
204
|
+
| --- | --- | --- |
|
|
205
|
+
| `aifabrix validate slack` | Off | Schemas and files only |
|
|
206
|
+
| `aifabrix test slack` | Off | Local checks |
|
|
207
|
+
| `aifabrix test-integration slack` | On | Needs login + dataplane |
|
|
208
|
+
| `aifabrix test-e2e slack` | On | E2E for every datasource; uploads local files first unless `--no-sync` |
|
|
209
|
+
|
|
210
|
+
System-level tests publish local integration files before the run (same path as `upload`). Use **`--no-sync`** to validate against config already on the dataplane.
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
aifabrix test-e2e slack --no-sync -d
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
Single datasource E2E:
|
|
217
|
+
|
|
218
|
+
```bash
|
|
219
|
+
# Slack interactive inbound
|
|
220
|
+
aifabrix datasource test-e2e slack-interactive --app slack
|
|
221
|
+
|
|
222
|
+
# Slack slash-command inbound
|
|
223
|
+
aifabrix datasource test-e2e slack-commands --app slack
|
|
224
|
+
|
|
225
|
+
# Slack Events API inbound
|
|
226
|
+
aifabrix datasource test-e2e slack-events --app slack
|
|
227
|
+
|
|
228
|
+
# Slack Conversations
|
|
229
|
+
aifabrix datasource test-e2e slack-conversations --app slack
|
|
230
|
+
|
|
231
|
+
# Slack Messages
|
|
232
|
+
aifabrix datasource test-e2e slack-messages --app slack
|
|
233
|
+
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
Common flags: `-v` / `--verbose`, `-d` / `--debug`, `--no-async` (datasource E2E only), `--no-sync` (skip pre-run upload on system `test-e2e`).
|
|
237
|
+
|
|
238
|
+
Debug logs (when using `--debug` on datasource commands) are written under `integration/slack/logs/` — use `aifabrix datasource log-test`, `log-integration`, `log-e2e`, or `log-trust` to inspect the latest file for each type.
|
|
239
|
+
|
|
240
|
+
## Deploy
|
|
31
241
|
|
|
32
242
|
```bash
|
|
33
|
-
aifabrix
|
|
243
|
+
aifabrix deploy slack
|
|
34
244
|
```
|
|
35
245
|
|
|
36
|
-
|
|
246
|
+
## Remove app
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
aifabrix delete slack
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
## When something fails
|
|
253
|
+
|
|
254
|
+
- **Validation errors** — Fix JSON/schema issues; run `aifabrix validate slack` and `aifabrix datasource validate` on the file you changed.
|
|
255
|
+
- **Deploy blocked by schema changes** — When the interface changed and deploy rejects the update, validate locally then `aifabrix upload slack --force` to publish for dev iteration (see [Publish and credentials](#publish-and-credentials)).
|
|
256
|
+
- **Auth** — `aifabrix auth config` + `aifabrix login` before upload, deploy, remote tests, or certification.
|
|
257
|
+
- **Certification gaps** — Run pillars in order (`verify-operations` → `verify-trust` → `verify-governance`), then `aifabrix lifecycle slack -v` for per-datasource breakdown; use `lifecycle --run` to execute missing steps and refresh the report.
|
|
258
|
+
- **Governance upload rejected** — Local `scenarios/*.yaml` must meet the 424.0 pack schema; use `verify-governance` or `governance generate` instead of hand-editing old YAML.
|
|
259
|
+
- **Wrong folder** — Run CLI from the project root (where `integration/slack/` lives).
|
|
@@ -1,18 +1,55 @@
|
|
|
1
1
|
{
|
|
2
2
|
"app": {
|
|
3
3
|
"key": "slack",
|
|
4
|
-
"displayName": "
|
|
5
|
-
"description": "
|
|
4
|
+
"displayName": "Slack",
|
|
5
|
+
"description": "Chat with Role Assistants, send notifications, and review documents in Slack.",
|
|
6
6
|
"type": "external"
|
|
7
7
|
},
|
|
8
8
|
"externalIntegration": {
|
|
9
9
|
"schemaBasePath": "./",
|
|
10
|
-
"systems": [
|
|
10
|
+
"systems": [
|
|
11
|
+
"slack-system.json"
|
|
12
|
+
],
|
|
11
13
|
"dataSources": [
|
|
12
|
-
"slack-datasource-
|
|
13
|
-
"slack-datasource-
|
|
14
|
+
"slack-datasource-interactive.json",
|
|
15
|
+
"slack-datasource-commands.json",
|
|
16
|
+
"slack-datasource-events.json",
|
|
17
|
+
"slack-datasource-conversations.json",
|
|
18
|
+
"slack-datasource-messages.json"
|
|
14
19
|
],
|
|
15
20
|
"autopublish": true,
|
|
16
21
|
"version": "1.0.0"
|
|
17
|
-
}
|
|
18
|
-
|
|
22
|
+
},
|
|
23
|
+
"configuration": [
|
|
24
|
+
{
|
|
25
|
+
"name": "ENABLE_PROACTIVE_MESSAGING",
|
|
26
|
+
"value": "true",
|
|
27
|
+
"location": "variable",
|
|
28
|
+
"required": false
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"name": "ENABLE_CHANNEL_NOTIFICATIONS",
|
|
32
|
+
"value": "true",
|
|
33
|
+
"location": "variable",
|
|
34
|
+
"required": false
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "ENABLE_DIRECT_MESSAGES",
|
|
38
|
+
"value": "true",
|
|
39
|
+
"location": "variable",
|
|
40
|
+
"required": false
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"name": "ENABLE_MODALS",
|
|
44
|
+
"value": "true",
|
|
45
|
+
"location": "variable",
|
|
46
|
+
"required": false
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "ENABLE_SHORTCUTS",
|
|
50
|
+
"value": "true",
|
|
51
|
+
"location": "variable",
|
|
52
|
+
"required": false
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
}
|
|
@@ -19,11 +19,20 @@
|
|
|
19
19
|
# aifabrix secret set slack/botToken "xoxb-..." --shared
|
|
20
20
|
# aifabrix secret set slack/clientSecret "<value>" --shared
|
|
21
21
|
|
|
22
|
-
#
|
|
23
|
-
|
|
22
|
+
# Signing secret, bot token, and client secret are written to this app's .env
|
|
23
|
+
# (`KV_SLACK_*` plain values) by channel add / portal install, then pushed to
|
|
24
|
+
# the dataplane secret store. Do not require them here: missing secrets must not
|
|
25
|
+
# block publishing the communication system or the Slack app manifest.
|
|
26
|
+
# KV_SLACK_SIGNINGSECRET=kv://slack/signingSecret
|
|
27
|
+
# KV_SLACK_BOTTOKEN=kv://slack/botToken
|
|
28
|
+
# KV_SLACK_CLIENTSECRET=kv://slack/clientSecret
|
|
29
|
+
|
|
30
|
+
# Lab defaults so `aifabrix upload slack` works without extra shell env.
|
|
31
|
+
ENABLE_PROACTIVE_MESSAGING=true
|
|
32
|
+
ENABLE_CHANNEL_NOTIFICATIONS=true
|
|
33
|
+
ENABLE_DIRECT_MESSAGES=true
|
|
34
|
+
ENABLE_MODALS=true
|
|
35
|
+
ENABLE_SHORTCUTS=true
|
|
36
|
+
|
|
24
37
|
|
|
25
|
-
# Required — outbound Slack Web API (post message, etc.)
|
|
26
|
-
KV_SLACK_BOTTOKEN=kv://slack/botToken
|
|
27
38
|
|
|
28
|
-
# Optional — OAuth app client secret
|
|
29
|
-
KV_SLACK_CLIENTSECRET=kv://slack/clientSecret
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
{
|
|
2
|
+
"openapi": "3.0.3",
|
|
3
|
+
"info": {
|
|
4
|
+
"title": "Slack inbound python CIP",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"description": "Contract surface for Slack inbound python CIP. Vendor Request URLs are POST /api/v1/webhooks/slack/{datasourceKey}; these paths are CIP operation ids."
|
|
7
|
+
},
|
|
8
|
+
"paths": {
|
|
9
|
+
"/inbound/commands": {
|
|
10
|
+
"post": {
|
|
11
|
+
"operationId": "slackCommandsCreate",
|
|
12
|
+
"summary": "Accept an inbound Slack slash-command payload",
|
|
13
|
+
"x-aifabrix-capability": "create",
|
|
14
|
+
"requestBody": {
|
|
15
|
+
"required": true,
|
|
16
|
+
"content": {
|
|
17
|
+
"application/json": {
|
|
18
|
+
"schema": {
|
|
19
|
+
"$ref": "#/components/schemas/ChannelInboundCreateRequest"
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"responses": {
|
|
25
|
+
"200": {
|
|
26
|
+
"description": "Inbound handler record",
|
|
27
|
+
"content": {
|
|
28
|
+
"application/json": {
|
|
29
|
+
"schema": {
|
|
30
|
+
"$ref": "#/components/schemas/ChannelInboundCreateResponse"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"/inbound/interactive": {
|
|
39
|
+
"post": {
|
|
40
|
+
"operationId": "slackInteractiveCreate",
|
|
41
|
+
"summary": "Accept an inbound Slack interactive payload",
|
|
42
|
+
"x-aifabrix-capability": "create",
|
|
43
|
+
"requestBody": {
|
|
44
|
+
"required": true,
|
|
45
|
+
"content": {
|
|
46
|
+
"application/json": {
|
|
47
|
+
"schema": {
|
|
48
|
+
"$ref": "#/components/schemas/ChannelInboundCreateRequest"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"responses": {
|
|
54
|
+
"200": {
|
|
55
|
+
"description": "Inbound handler record",
|
|
56
|
+
"content": {
|
|
57
|
+
"application/json": {
|
|
58
|
+
"schema": {
|
|
59
|
+
"$ref": "#/components/schemas/ChannelInboundCreateResponse"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"/inbound/events": {
|
|
68
|
+
"post": {
|
|
69
|
+
"operationId": "slackEventsCreate",
|
|
70
|
+
"summary": "Accept an inbound Slack Events API payload",
|
|
71
|
+
"x-aifabrix-capability": "create",
|
|
72
|
+
"requestBody": {
|
|
73
|
+
"required": true,
|
|
74
|
+
"content": {
|
|
75
|
+
"application/json": {
|
|
76
|
+
"schema": {
|
|
77
|
+
"$ref": "#/components/schemas/ChannelInboundCreateRequest"
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
"responses": {
|
|
83
|
+
"200": {
|
|
84
|
+
"description": "Inbound handler record",
|
|
85
|
+
"content": {
|
|
86
|
+
"application/json": {
|
|
87
|
+
"schema": {
|
|
88
|
+
"$ref": "#/components/schemas/ChannelInboundCreateResponse"
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
"components": {
|
|
98
|
+
"schemas": {
|
|
99
|
+
"ChannelInboundCreateRequest": {
|
|
100
|
+
"type": "object",
|
|
101
|
+
"description": "CIP create body. payload is the vendor webhook JSON after signature validation.",
|
|
102
|
+
"properties": {
|
|
103
|
+
"payload": {
|
|
104
|
+
"type": "object",
|
|
105
|
+
"additionalProperties": true
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
"ChannelInboundCreateResponse": {
|
|
110
|
+
"type": "object",
|
|
111
|
+
"description": "Normalized inbound handler record for fieldMappings.",
|
|
112
|
+
"required": ["channel", "action", "outcome"],
|
|
113
|
+
"properties": {
|
|
114
|
+
"channel": { "type": "string" },
|
|
115
|
+
"action": { "type": "string" },
|
|
116
|
+
"outcome": { "type": "string" },
|
|
117
|
+
"externalId": { "type": "string" },
|
|
118
|
+
"response": {
|
|
119
|
+
"type": "object",
|
|
120
|
+
"additionalProperties": true
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
{
|
|
2
|
+
"roles": [
|
|
3
|
+
{
|
|
4
|
+
"name": "Everyone",
|
|
5
|
+
"value": "aifabrix-everyone",
|
|
6
|
+
"description": "Authenticated-user consume access for Enterprise LLM and platform search (not a Role Assistant)",
|
|
7
|
+
"groups": [
|
|
8
|
+
"AI-Fabrix-Everyone"
|
|
9
|
+
]
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"permissions": [
|
|
13
|
+
{
|
|
14
|
+
"name": "message:list",
|
|
15
|
+
"roles": [
|
|
16
|
+
"aifabrix-everyone"
|
|
17
|
+
],
|
|
18
|
+
"description": "Permission: message:list"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"name": "message:create",
|
|
22
|
+
"roles": [
|
|
23
|
+
"aifabrix-everyone"
|
|
24
|
+
],
|
|
25
|
+
"description": "Permission: message:create"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"name": "message:update",
|
|
29
|
+
"roles": [
|
|
30
|
+
"aifabrix-everyone"
|
|
31
|
+
],
|
|
32
|
+
"description": "Permission: message:update"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"name": "message:delete",
|
|
36
|
+
"roles": [
|
|
37
|
+
"aifabrix-everyone"
|
|
38
|
+
],
|
|
39
|
+
"description": "Permission: message:delete"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"name": "slack-commands:create",
|
|
43
|
+
"roles": [
|
|
44
|
+
"aifabrix-everyone"
|
|
45
|
+
],
|
|
46
|
+
"description": "Permission: slack-commands:create"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "slack-interactive:create",
|
|
50
|
+
"roles": [
|
|
51
|
+
"aifabrix-everyone"
|
|
52
|
+
],
|
|
53
|
+
"description": "Permission: slack-interactive:create"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"name": "slack-events:create",
|
|
57
|
+
"roles": [
|
|
58
|
+
"aifabrix-everyone"
|
|
59
|
+
],
|
|
60
|
+
"description": "Permission: slack-events:create"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"name": "conversation:list",
|
|
64
|
+
"roles": [
|
|
65
|
+
"aifabrix-everyone"
|
|
66
|
+
],
|
|
67
|
+
"description": "Permission: conversation:list"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"name": "conversation:get",
|
|
71
|
+
"roles": [
|
|
72
|
+
"aifabrix-everyone"
|
|
73
|
+
],
|
|
74
|
+
"description": "Permission: conversation:get"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"name": "conversation:create",
|
|
78
|
+
"roles": [
|
|
79
|
+
"aifabrix-everyone"
|
|
80
|
+
],
|
|
81
|
+
"description": "Permission: conversation:create"
|
|
82
|
+
}
|
|
83
|
+
]
|
|
84
|
+
}
|