@aifabrix/builder 2.51.0 → 2.52.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/jest.isolated-projects.js +77 -1
- package/jest.projects.js +5 -426
- package/lib/api/assistants.api.js +67 -0
- package/lib/api/datasources-extended.api.js +6 -6
- package/lib/api/evidence-authoring-helpers.js +267 -0
- package/lib/api/evidence-authoring.api.js +337 -0
- package/lib/api/evidence.api.js +57 -1
- package/lib/api/index.js +24 -7
- package/lib/api/pipeline.api.js +43 -3
- package/lib/api/records-bulk.api.js +28 -3
- package/lib/api/types/evidence.types.js +156 -8
- package/lib/api/work.api.js +283 -0
- package/lib/app/run-container-start.js +4 -0
- package/lib/app/run-deploy-job.js +216 -0
- package/lib/app/run-env-compose.js +32 -0
- package/lib/app/run-env-recovery.js +35 -0
- package/lib/app/run-helpers.js +15 -9
- package/lib/app/run.js +18 -2
- package/lib/channels/add-channel.js +54 -23
- package/lib/channels/approval-guides/chatgpt.js +13 -9
- package/lib/channels/approval-guides/microsoft-copilot.js +7 -8
- package/lib/channels/channel-artifact-generator.js +14 -2
- package/lib/channels/channel-credential.js +3 -1
- package/lib/channels/channel-probe-evidence.js +79 -0
- package/lib/channels/channel-probe.js +265 -13
- package/lib/channels/channel-runtime-resolver.js +120 -29
- package/lib/channels/channel-status-display.js +44 -0
- package/lib/channels/channel-targets.js +25 -1
- package/lib/channels/chatgpt-runtime-contract.js +29 -0
- package/lib/channels/microsoft-copilot-package.js +280 -0
- package/lib/channels/runtime-tool-catalog.js +165 -0
- package/lib/cli/index.js +2 -0
- package/lib/cli/infra-guided-footers.js +1 -1
- package/lib/cli/infra-guided-public-url-warn.js +55 -0
- package/lib/cli/infra-guided.js +65 -56
- package/lib/cli/setup-app.help.js +4 -0
- package/lib/cli/setup-app.js +4 -0
- package/lib/cli/setup-app.test-commands.js +59 -28
- package/lib/cli/setup-external-system-help.js +8 -2
- package/lib/cli/setup-external-system.js +62 -12
- package/lib/commands/app-test.js +2 -14
- package/lib/commands/channel-add-setup.js +8 -2
- package/lib/commands/channel.js +16 -5
- package/lib/commands/datasource-load-export-cli.js +6 -1
- package/lib/commands/deploy-gate-failure-details.js +19 -17
- package/lib/commands/deploy-gate-orchestrator.js +3 -2
- package/lib/commands/dev-down.js +2 -6
- package/lib/commands/evidence-kind.js +65 -15
- package/lib/commands/governance-generate-external.js +56 -21
- package/lib/commands/governance-verify-external.js +2 -5
- package/lib/commands/lifecycle-external.js +21 -8
- package/lib/commands/repair-datasource-apply.js +10 -1
- package/lib/commands/repair-datasource-run.js +4 -2
- package/lib/commands/repair-datasource-test-payload.js +80 -19
- package/lib/commands/repair-datasource-webhooks-sync-bridge.js +42 -3
- package/lib/commands/repair-internal.js +9 -1
- package/lib/commands/repair-openapi-sync.js +34 -17
- package/lib/commands/role-assistant.js +371 -0
- package/lib/commands/test-governance-external.js +2 -5
- package/lib/commands/up-miso.js +61 -24
- package/lib/commands/upload-data-sync-finalize.js +25 -7
- package/lib/commands/upload-sidecar-followups.js +144 -47
- package/lib/commands/upload.js +43 -6
- package/lib/commands/verify-governance-combined-external.js +73 -9
- package/lib/commands/verify-governance-db.js +80 -25
- package/lib/commands/verify-governance-external.js +31 -10
- package/lib/commands/verify-operations-external.js +2 -5
- package/lib/commands/verify-operations-step-plan.js +31 -0
- package/lib/commands/verify-trust-command-action.js +2 -5
- package/lib/commands/wizard-core-helpers.js +7 -3
- package/lib/commands/wizard-core.js +78 -9
- package/lib/datasource/bulk-loader-run-batches.js +4 -2
- package/lib/datasource/bulk-loader-service.js +5 -1
- package/lib/datasource/datasource-identifier.js +4 -3
- package/lib/datasource/datasource-validate-summary.js +2 -2
- package/lib/datasource/integration-context.js +3 -3
- package/lib/datasource/resolve-app.js +90 -8
- package/lib/datasource/test-e2e.js +2 -2
- package/lib/datasource/unified-validation-run-body.js +15 -1
- package/lib/datasource/unified-validation-run-resolve.js +2 -2
- package/lib/datasource/validate.js +13 -6
- package/lib/external-system/deploy-helpers.js +39 -1
- package/lib/external-system/deploy.js +25 -11
- package/lib/external-system/download-helpers.js +111 -2
- package/lib/external-system/download-role-assistant.js +55 -0
- package/lib/external-system/download.js +45 -26
- package/lib/external-system/test-helpers.js +1 -1
- package/lib/external-system/test-system-level.js +21 -3
- package/lib/external-system/test.js +43 -7
- package/lib/generator/builders.js +12 -15
- package/lib/generator/wizard.js +51 -4
- package/lib/lifecycle/access-control-abac.js +121 -0
- package/lib/lifecycle/lifecycle-governance-options.js +4 -1
- package/lib/lifecycle/product-model.js +3 -2
- package/lib/lifecycle/report-display.js +14 -2
- package/lib/programmatic/capability-registry.js +20 -1
- package/lib/programmatic/command-options.js +1 -0
- package/lib/programmatic/index.js +4 -0
- package/lib/programmatic/manifest-patch-section.js +48 -9
- package/lib/programmatic/manifest-section-registry-data.js +3 -2
- package/lib/programmatic/openapi-apply-result-schemas.js +44 -0
- package/lib/programmatic/openapi-component-schemas.js +16 -1
- package/lib/programmatic/openapi-description-enricher.js +3 -1
- package/lib/programmatic/openapi-descriptions.js +55 -5
- package/lib/programmatic/openapi-evidence-schemas.js +161 -0
- package/lib/programmatic/openapi-manifest-schemas.js +6 -2
- package/lib/programmatic/openapi-operation-bindings.js +99 -0
- package/lib/programmatic/openapi-request-schemas.js +36 -1
- package/lib/programmatic/openapi-result-schemas.js +1 -1
- package/lib/programmatic/openapi-schema-descriptions-certify.js +5 -1
- package/lib/programmatic/openapi-schema-descriptions-core.js +1 -1
- package/lib/programmatic/openapi-schema-descriptions-evidence.js +156 -0
- package/lib/programmatic/openapi-schema-descriptions-manifest.js +4 -3
- package/lib/programmatic/openapi-schema-descriptions-operations.js +70 -0
- package/lib/programmatic/openapi-spec.js +47 -28
- package/lib/programmatic/orchestration-openapi-meta.js +5 -0
- package/lib/programmatic/request-timeout.js +3 -0
- package/lib/programmatic/route-handler-map.js +89 -2
- package/lib/programmatic/run-certify.js +15 -2
- package/lib/programmatic/run-deploy.js +74 -0
- package/lib/programmatic/run-evidence-authoring.js +80 -0
- package/lib/programmatic/run-protection.js +124 -0
- package/lib/programmatic/run-template-workspace.js +28 -1
- package/lib/programmatic/workspace-context.js +6 -0
- package/lib/protection/auth-context.js +48 -6
- package/lib/protection/paths.js +22 -0
- package/lib/protection/run-protection-create-helpers.js +22 -1
- package/lib/protection/run-protection-create.js +1 -1
- package/lib/protection/sync-after-upload.js +1 -1
- package/lib/role-assistant/evidence-sync.js +450 -0
- package/lib/role-assistant/github-workflow.js +96 -0
- package/lib/role-assistant/knowledge-markdown-frontmatter.js +75 -0
- package/lib/role-assistant/knowledge-sync.js +485 -0
- package/lib/role-assistant/settings.js +126 -0
- package/lib/role-assistant/test-cases-evaluate.js +170 -0
- package/lib/role-assistant/test-cases-honesty.js +184 -0
- package/lib/role-assistant/test-cases.js +364 -0
- package/lib/role-assistant/test-runner-workhub-answers.js +221 -0
- package/lib/role-assistant/test-runner-workhub.js +399 -0
- package/lib/role-assistant/test-runner.js +500 -0
- package/lib/schema/application-schema.json +24 -28
- package/lib/schema/deployment-rules.yaml +1 -0
- package/lib/schema/external-datasource.schema.json +38 -4
- package/lib/schema/external-system.schema.json +4 -4
- package/lib/schema/role-assistant-settings.schema.json +108 -0
- package/lib/utils/api.js +52 -27
- package/lib/utils/app-path-resolve.js +72 -24
- package/lib/utils/authentication-shape.js +3 -1
- package/lib/utils/certify-external-workspace.js +40 -0
- package/lib/utils/deployment-validation.js +28 -3
- package/lib/utils/docker-run-ephemeral.js +115 -0
- package/lib/utils/enterprise-knowledge-paths.js +29 -12
- package/lib/utils/env-copy-keycloak.js +196 -0
- package/lib/utils/env-copy.js +34 -1
- package/lib/utils/external-system-readiness-compact-display.js +3 -0
- package/lib/utils/health-check-public-warn.js +31 -13
- package/lib/utils/health-check.js +11 -1
- package/lib/utils/help-builder.js +1 -0
- package/lib/utils/paths.js +80 -38
- package/lib/utils/pipeline-upload-auth-retry.js +15 -3
- package/lib/utils/role-assistant-paths.js +160 -0
- package/lib/utils/schema-loader.js +41 -0
- package/lib/utils/schema-resolver.js +36 -4
- package/lib/utils/token-manager.js +38 -29
- package/lib/utils/upload-sync-options.js +7 -4
- package/lib/utils/url-declarative-resolve-load-doc.js +38 -1
- package/lib/validation/external-manifest-validator.js +31 -8
- package/lib/validation/reserved-system-key-prefixes.js +56 -0
- package/lib/validation/validate-external-file.js +8 -1
- package/lib/validation/validate.js +54 -19
- package/package.json +2 -1
- package/scripts/export-builder-api-evidence.js +1 -1
- package/templates/applications/builder-api/application.yaml +3 -3
- package/templates/applications/dataplane/application.yaml +24 -17
- package/templates/applications/dataplane/env.template +2 -2
- package/templates/applications/dataplane/rbac.yaml +24 -10
- package/templates/applications/keycloak/application.yaml +2 -2
- package/templates/applications/keycloak/env.template +5 -2
- package/templates/applications/miso-controller/application.yaml +3 -3
- package/templates/applications/miso-controller/env.template +17 -2
- package/templates/channels/chatgpt/install.template.md.hbs +82 -26
- package/templates/channels/chatgpt/integration/README.md +11 -7
- package/templates/channels/chatgpt/integration/application.json +2 -2
- package/templates/channels/chatgpt/integration/chatgpt-system.json +3 -3
- package/templates/channels/chatgpt/integration/env.template +1 -1
- package/templates/channels/chatgpt/manifest.template.json.hbs +36 -5
- package/templates/channels/microsoft-copilot/ai-plugin.template.json.hbs +28 -0
- package/templates/channels/microsoft-copilot/declarative-agent.template.json.hbs +22 -0
- package/templates/channels/microsoft-copilot/install.template.md.hbs +32 -22
- package/templates/channels/microsoft-copilot/integration/README.md +9 -7
- package/templates/channels/microsoft-copilot/integration/application.json +2 -2
- package/templates/channels/microsoft-copilot/integration/env.template +1 -1
- package/templates/channels/microsoft-copilot/integration/microsoft-copilot-system.json +7 -6
- package/templates/channels/microsoft-copilot/manifest.template.json.hbs +34 -6
- package/templates/channels/slack/install.template.md.hbs +6 -1
- package/templates/python/docker-compose.hbs +10 -0
- package/templates/typescript/docker-compose.hbs +10 -0
- /package/.cursor/plans/{157.1-security-quality-violations-by-type.csv → Done/157.1-security-quality-violations-by-type.csv} +0 -0
|
@@ -1,9 +1,40 @@
|
|
|
1
1
|
{
|
|
2
|
+
"channelTarget": "{{channelTarget}}",
|
|
2
3
|
"name": "{{appName}}",
|
|
4
|
+
"baseName": "{{baseName}}",
|
|
3
5
|
"description": "{{appDescription}}",
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
"environment": "{{environment}}",
|
|
7
|
+
"runtime": {
|
|
8
|
+
"runtimeSystemKey": "{{runtimeSystemKey}}",
|
|
9
|
+
"remoteMcpUrl": "{{{mcpUrl}}}",
|
|
10
|
+
"transport": "{{runtimeTransport}}",
|
|
11
|
+
"assistantCatalogUrl": "{{{assistantCatalogUrl}}}",
|
|
12
|
+
"roleAssistantResolution": "dynamic-runtime",
|
|
13
|
+
"layerBToolNames": [
|
|
14
|
+
{{#each layerBToolNames}}
|
|
15
|
+
"{{this}}"{{#unless @last}},{{/unless}}
|
|
16
|
+
{{/each}}
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
"authentication": {
|
|
20
|
+
"mode": "{{runtimeAuthMode}}",
|
|
21
|
+
"credentialKey": "{{credentialKey}}",
|
|
22
|
+
"credentialPortalUrl": "{{{credentialPortalUrl}}}",
|
|
23
|
+
"scopes": {{{scopesJson}}}
|
|
24
|
+
},
|
|
25
|
+
"boundaries": {
|
|
26
|
+
"oneConnectionSupportsManyRoleAssistants": true,
|
|
27
|
+
"topLevelEvidenceToolsExposed": false,
|
|
28
|
+
"runtimeOwnsWorkInterface": true,
|
|
29
|
+
"evidenceCapabilityPath": "ChatGPT -> runtime-orchestration -> Business Transformation Assistant -> internal evidence capabilities"
|
|
30
|
+
},
|
|
31
|
+
"lifecycle": {
|
|
32
|
+
"locallyValidated": true,
|
|
33
|
+
"runtimeValidated": false,
|
|
34
|
+
"requiresChatGptWorkspaceAdmin": true
|
|
35
|
+
},
|
|
36
|
+
"artifact": {
|
|
37
|
+
"format": "chatgpt-custom-mcp-app",
|
|
38
|
+
"version": "1.0.0"
|
|
39
|
+
}
|
|
9
40
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://developer.microsoft.com/json-schemas/copilot/plugin/v2.4/schema.json",
|
|
3
|
+
"schema_version": "v2.4",
|
|
4
|
+
"name_for_human": "{{appName}}",
|
|
5
|
+
"name_for_model": "aifabrix_runtime_orchestration",
|
|
6
|
+
"description_for_human": "{{appDescription}}",
|
|
7
|
+
"description_for_model": "Runtime orchestration tools for governed enterprise work.",
|
|
8
|
+
"runtimes": [
|
|
9
|
+
{
|
|
10
|
+
"type": "RemoteMCPServer",
|
|
11
|
+
"spec": {
|
|
12
|
+
"url": "{{mcpUrl}}"
|
|
13
|
+
},
|
|
14
|
+
"auth": {
|
|
15
|
+
"type": "oauth",
|
|
16
|
+
"scopes": {{{scopesJson}}}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"mcp_tool_description": {
|
|
21
|
+
"mode": "dynamic",
|
|
22
|
+
"layerBToolNames": [
|
|
23
|
+
{{#each layerBToolNames}}
|
|
24
|
+
"{{this}}"{{#unless @last}},{{/unless}}
|
|
25
|
+
{{/each}}
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "{{packageAppId}}-agent",
|
|
3
|
+
"name": "{{appName}}",
|
|
4
|
+
"description": "{{appDescription}}",
|
|
5
|
+
"instructions": "Use Runtime Layer B tools only. Resolve Role Assistants dynamically and keep business reasoning inside authorized Role Assistant boundaries.",
|
|
6
|
+
"conversation_starters": [
|
|
7
|
+
{
|
|
8
|
+
"title": "Show my role assistants",
|
|
9
|
+
"text": "List my available Role Assistants and what they can do."
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"title": "Start guided work",
|
|
13
|
+
"text": "Help me start work for my current business objective."
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"actions": [
|
|
17
|
+
{
|
|
18
|
+
"id": "{{pluginId}}",
|
|
19
|
+
"file": "ai-plugin.json"
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
}
|
|
@@ -1,29 +1,37 @@
|
|
|
1
|
-
# {{appName}} — Microsoft Copilot
|
|
1
|
+
# {{appName}} — Microsoft 365 Copilot package setup
|
|
2
2
|
|
|
3
3
|
{{appDescription}}
|
|
4
4
|
|
|
5
5
|
Environment: **{{environment}}** · Credential key: `{{credentialKey}}`
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
This channel output is a Microsoft 365 Copilot app package:
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
```text
|
|
10
|
+
dist/channels/microsoft-copilot/source/manifest.json
|
|
11
|
+
dist/channels/microsoft-copilot/source/declarativeAgent.json
|
|
12
|
+
dist/channels/microsoft-copilot/source/ai-plugin.json
|
|
13
|
+
dist/channels/microsoft-copilot/build/appPackage.{{environment}}.zip
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Microsoft admin workflow (manual)
|
|
16
17
|
|
|
17
|
-
|
|
18
|
+
1. Sign in to [Microsoft 365 admin](https://admin.cloud.microsoft.com/) or Copilot Studio as a tenant admin.
|
|
19
|
+
2. Upload or sideload `appPackage.{{environment}}.zip` to your organization app catalog.
|
|
20
|
+
3. Review the declarative agent + Remote MCP plugin metadata and approve tenant distribution.
|
|
21
|
+
4. Configure workspace authentication and consent according to your Entra/OAuth policy.
|
|
22
|
+
5. Store credential references in AI Fabrix authentication settings: [Authentication settings]({{credentialPortalUrl}})
|
|
23
|
+
6. Assign the app to users/groups and complete first-user sign-in.
|
|
18
24
|
|
|
19
|
-
|
|
25
|
+
## Runtime connection contract
|
|
20
26
|
|
|
21
|
-
{{
|
|
22
|
-
- **
|
|
23
|
-
{{
|
|
24
|
-
{{
|
|
25
|
-
- **
|
|
26
|
-
{{
|
|
27
|
+
- **Runtime system key:** `{{runtimeSystemKey}}`
|
|
28
|
+
- **Remote MCP URL:** `{{mcpUrl}}`
|
|
29
|
+
- **Transport:** `{{runtimeTransport}}`
|
|
30
|
+
- **Auth mode:** `{{runtimeAuthMode}}`
|
|
31
|
+
- **Layer B tools expected:**
|
|
32
|
+
{{#each layerBToolNames}}
|
|
33
|
+
- `{{this}}`
|
|
34
|
+
{{/each}}
|
|
27
35
|
|
|
28
36
|
## Assistant catalog
|
|
29
37
|
|
|
@@ -31,14 +39,16 @@ Runtime lists **assistants** available to each user from:
|
|
|
31
39
|
|
|
32
40
|
{{assistantCatalogUrl}}
|
|
33
41
|
|
|
34
|
-
##
|
|
42
|
+
## Probe truthfulness
|
|
35
43
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
44
|
+
- `builderValidated` means package files, ZIP, hashes, and secret checks passed.
|
|
45
|
+
- `runtimeValidated` means Runtime MCP is reachable and tool boundary checks pass.
|
|
46
|
+
- `requiresMicrosoftAdmin` remains true until tenant upload/approval/assignment is complete.
|
|
39
47
|
|
|
40
|
-
|
|
48
|
+
## Validate after admin setup
|
|
41
49
|
|
|
42
50
|
```bash
|
|
43
51
|
aifabrix channel add {{channelTarget}} --name "{{baseName}}" --probe
|
|
44
52
|
```
|
|
53
|
+
|
|
54
|
+
`--force` regenerates artifacts but does not rotate credentials.
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
# Microsoft Copilot
|
|
1
|
+
# Microsoft 365 Copilot package channel
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Generated by `aifabrix channel scaffold microsoft-copilot`.
|
|
4
|
+
|
|
5
|
+
Recommended flow:
|
|
4
6
|
|
|
5
7
|
```bash
|
|
6
|
-
|
|
7
|
-
aifabrix
|
|
8
|
-
aifabrix upload microsoft-copilot --probe
|
|
9
|
-
aifabrix deploy microsoft-copilot
|
|
10
|
-
aifabrix app add-channel microsoft-copilot --name "Your Assistant"
|
|
8
|
+
aifabrix upload microsoft-copilot --force
|
|
9
|
+
aifabrix channel add microsoft-copilot --name "Your Assistant" --probe
|
|
11
10
|
```
|
|
11
|
+
|
|
12
|
+
`channel add` generates package artifacts under
|
|
13
|
+
`dist/channels/microsoft-copilot/` for Microsoft 365 tenant admins.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"app": {
|
|
3
3
|
"key": "microsoft-copilot",
|
|
4
|
-
"displayName": "Microsoft Copilot
|
|
5
|
-
"description": "Assistant communication channel — deploy then
|
|
4
|
+
"displayName": "Microsoft Copilot package channel",
|
|
5
|
+
"description": "Assistant communication channel — deploy then channel add",
|
|
6
6
|
"type": "external"
|
|
7
7
|
},
|
|
8
8
|
"externalIntegration": {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"key": "microsoft-copilot",
|
|
3
|
-
"displayName": "Microsoft Copilot
|
|
4
|
-
"description": "Communication external system for Microsoft Copilot
|
|
3
|
+
"displayName": "Microsoft Copilot package channel",
|
|
4
|
+
"description": "Communication external system for Microsoft Copilot package onboarding",
|
|
5
5
|
"type": "custom",
|
|
6
6
|
"systemKind": "communication",
|
|
7
7
|
"enabled": true,
|
|
@@ -9,14 +9,15 @@
|
|
|
9
9
|
"authType": "credential",
|
|
10
10
|
"credential": {
|
|
11
11
|
"credentialKey": "microsoft-copilot-channel",
|
|
12
|
-
"displayName": "Microsoft Copilot
|
|
12
|
+
"displayName": "Microsoft Copilot package channel",
|
|
13
13
|
"method": "oauth2",
|
|
14
14
|
"writeOnce": true,
|
|
15
15
|
"variables": {
|
|
16
|
+
"baseUrl": "https://login.microsoftonline.com",
|
|
17
|
+
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/v2.0/authorize",
|
|
16
18
|
"tokenUrl": "https://login.microsoftonline.com/common/oauth2/v2.0/token",
|
|
17
|
-
"grantType": "
|
|
18
|
-
"scope": "
|
|
19
|
-
"baseUrl": "https://graph.microsoft.com/v1.0"
|
|
19
|
+
"grantType": "authorization_code",
|
|
20
|
+
"scope": "openid profile offline_access"
|
|
20
21
|
},
|
|
21
22
|
"security": {
|
|
22
23
|
"clientId": "kv://microsoft-copilot/clientId",
|
|
@@ -1,8 +1,36 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
|
|
2
|
+
"$schema": "https://developer.microsoft.com/json-schemas/teams/v1.21/MicrosoftTeams.schema.json",
|
|
3
|
+
"manifestVersion": "1.21",
|
|
4
|
+
"version": "{{packageVersion}}",
|
|
5
|
+
"id": "{{packageAppId}}",
|
|
6
|
+
"name": {
|
|
7
|
+
"short": "{{baseName}}",
|
|
8
|
+
"full": "{{appName}}"
|
|
9
|
+
},
|
|
10
|
+
"description": {
|
|
11
|
+
"short": "{{appDescription}}",
|
|
12
|
+
"full": "{{appDescription}}"
|
|
13
|
+
},
|
|
14
|
+
"developer": {
|
|
15
|
+
"name": "AI Fabrix",
|
|
16
|
+
"websiteUrl": "{{dataplaneBaseUrl}}",
|
|
17
|
+
"privacyUrl": "{{dataplaneBaseUrl}}/privacy",
|
|
18
|
+
"termsOfUseUrl": "{{dataplaneBaseUrl}}/terms"
|
|
19
|
+
},
|
|
20
|
+
"icons": {
|
|
21
|
+
"color": "color.png",
|
|
22
|
+
"outline": "outline.png"
|
|
23
|
+
},
|
|
24
|
+
"accentColor": "#0F172A",
|
|
25
|
+
"copilotAgents": {
|
|
26
|
+
"declarativeAgents": [
|
|
27
|
+
{
|
|
28
|
+
"id": "{{packageAppId}}-agent",
|
|
29
|
+
"file": "declarativeAgent.json"
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"validDomains": [
|
|
34
|
+
"{{runtimeDomain}}"
|
|
35
|
+
]
|
|
8
36
|
}
|
|
@@ -17,7 +17,7 @@ One Slack app delivers **Role Assistant** chat, **Work hub** shortcuts, and **do
|
|
|
17
17
|
5. Confirm **App Home → Messages tab** is **ON** in the manifest (required for bot DMs and proactive notifications; slash commands work without it).
|
|
18
18
|
6. Click **Create**, then open **Install App** → **Install to Workspace** and approve.
|
|
19
19
|
7. Copy **Bot User OAuth Token** and **Signing Secret** from the Slack app settings.
|
|
20
|
-
8. Save **Bot User OAuth Token** and **Signing Secret** in AI Fabrix: [Authentication settings]({{credentialPortalUrl}})
|
|
20
|
+
8. Save **Bot User OAuth Token** and **Signing Secret** in AI Fabrix: [Authentication settings]({{{credentialPortalUrl}}})
|
|
21
21
|
|
|
22
22
|
## Platform callback URLs
|
|
23
23
|
|
|
@@ -32,6 +32,11 @@ Configure these in your Slack app if you edit settings manually. Do not embed se
|
|
|
32
32
|
{{#if commandUrl}}
|
|
33
33
|
- **Slash commands:** {{commandUrl}}
|
|
34
34
|
{{/if}}
|
|
35
|
+
{{#if oauthCallbackUrl}}
|
|
36
|
+
- **OAuth Redirect URL:** {{oauthCallbackUrl}}
|
|
37
|
+
{{/if}}
|
|
38
|
+
|
|
39
|
+
Paste the **OAuth Redirect URL** into Slack app settings → **OAuth & Permissions** → **Redirect URLs** (required for Add to Slack / OAuth).
|
|
35
40
|
|
|
36
41
|
Register these **V1** slash commands in the manifest (all use the same request URL):
|
|
37
42
|
|
|
@@ -53,6 +53,10 @@ services:
|
|
|
53
53
|
{{/if}}
|
|
54
54
|
env_file:
|
|
55
55
|
- {{envFile}}
|
|
56
|
+
{{#if devMountPath}}
|
|
57
|
+
# Bind-mount replaces /app and hides image ENTRYPOINT scripts (e.g. docker-entrypoint.sh).
|
|
58
|
+
entrypoint: []
|
|
59
|
+
{{/if}}
|
|
56
60
|
{{#if reloadStartCommand}}
|
|
57
61
|
command: ["sh", "-c", "cd /app && {{{reloadStartCommand}}}"]
|
|
58
62
|
{{/if}}
|
|
@@ -111,6 +115,9 @@ services:
|
|
|
111
115
|
- LOCAL_MODE=false
|
|
112
116
|
env_file:
|
|
113
117
|
- {{envFile}}
|
|
118
|
+
{{#if devMountPath}}
|
|
119
|
+
entrypoint: []
|
|
120
|
+
{{/if}}
|
|
114
121
|
command: ["sh", "-c", "cd /app && {{{workerSidecars.worker.command}}}"]
|
|
115
122
|
networks:
|
|
116
123
|
- {{networkName}}
|
|
@@ -136,6 +143,9 @@ services:
|
|
|
136
143
|
- LOCAL_MODE=false
|
|
137
144
|
env_file:
|
|
138
145
|
- {{envFile}}
|
|
146
|
+
{{#if devMountPath}}
|
|
147
|
+
entrypoint: []
|
|
148
|
+
{{/if}}
|
|
139
149
|
command: ["sh", "-c", "cd /app && {{{workerSidecars.beat.command}}}"]
|
|
140
150
|
networks:
|
|
141
151
|
- {{networkName}}
|
|
@@ -53,6 +53,10 @@ services:
|
|
|
53
53
|
{{/if}}
|
|
54
54
|
env_file:
|
|
55
55
|
- {{envFile}}
|
|
56
|
+
{{#if devMountPath}}
|
|
57
|
+
# Bind-mount replaces /app and hides image ENTRYPOINT scripts (e.g. docker-entrypoint.sh).
|
|
58
|
+
entrypoint: []
|
|
59
|
+
{{/if}}
|
|
56
60
|
{{#if reloadStartCommand}}
|
|
57
61
|
command: ["sh", "-c", "cd /app && {{reloadStartCommand}}"]
|
|
58
62
|
{{/if}}
|
|
@@ -111,6 +115,9 @@ services:
|
|
|
111
115
|
- LOCAL_MODE=false
|
|
112
116
|
env_file:
|
|
113
117
|
- {{envFile}}
|
|
118
|
+
{{#if devMountPath}}
|
|
119
|
+
entrypoint: []
|
|
120
|
+
{{/if}}
|
|
114
121
|
command: ["sh", "-c", "cd /app && {{{workerSidecars.worker.command}}}"]
|
|
115
122
|
networks:
|
|
116
123
|
- {{networkName}}
|
|
@@ -134,6 +141,9 @@ services:
|
|
|
134
141
|
- LOCAL_MODE=false
|
|
135
142
|
env_file:
|
|
136
143
|
- {{envFile}}
|
|
144
|
+
{{#if devMountPath}}
|
|
145
|
+
entrypoint: []
|
|
146
|
+
{{/if}}
|
|
137
147
|
command: ["sh", "-c", "cd /app && {{{workerSidecars.beat.command}}}"]
|
|
138
148
|
networks:
|
|
139
149
|
- {{networkName}}
|