@aifabrix/builder 2.46.0 → 2.47.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/.npmrc.token +1 -0
- package/.temp/jest-protection-convert/run-IFN2nv/.protection/hubspot-companies.json +1 -0
- package/.temp/jest-protection-convert/run-IvmKLO/.protection/hubspot-companies.yaml +17 -0
- package/.temp/jest-protection-convert/run-SdvblF/.protection/hubspot-companies.json +1 -0
- package/.temp/jest-protection-convert/run-b51TsW/.protection/hubspot-companies.json +1 -0
- package/.temp/jest-protection-convert/run-fiLmb1/.protection/hubspot-companies.json +1 -0
- package/.temp/jest-protection-convert/run-qYGHMU/.protection/hubspot-companies.yaml +17 -0
- package/.temp/jest-protection-fixtures/hubspot-Mq5re8/hubspot-companies.yaml +17 -0
- package/.temp/jest-protection-fixtures/hubspot-f3u4YL/hubspot-companies.yaml +17 -0
- package/.temp/jest-protection-fixtures/hubspot-iQtd1O/hubspot-companies.yaml +17 -0
- package/.temp/jest-protection-fixtures/hubspot-mdmz5M/hubspot-companies.yaml +17 -0
- package/.temp/jest-protection-fixtures/hubspot-qbKYxQ/hubspot-companies.yaml +17 -0
- package/.temp/jest-protection-fixtures/hubspot-yzlJy6/hubspot-companies.yaml +17 -0
- package/.temp/validation/summary.txt +5 -0
- package/jest.isolated-projects.js +18 -2
- package/jest.projects.js +24 -0
- package/lib/api/dataplane-health.api.js +19 -7
- package/lib/api/lifecycle.api.js +22 -1
- package/lib/api/resource-types.api.js +107 -0
- package/lib/api/runtime-configuration.api.js +72 -0
- package/lib/api/types/resource-types.types.js +45 -0
- package/lib/api/user-groups.api.js +9 -9
- package/lib/api/users.api.js +8 -8
- package/lib/api/wizard.api.js +10 -2
- package/lib/app/down.js +58 -26
- package/lib/app/index.js +2 -2
- package/lib/app/run-resolve-image.js +2 -1
- package/lib/app/run-stop-containers.js +113 -0
- package/lib/app/run.js +1 -31
- package/lib/app/show-display.js +35 -0
- package/lib/app/show.js +32 -1
- package/lib/build/index.js +17 -5
- package/lib/build/miso-controller-npm-sdk-guard.js +25 -0
- package/lib/channels/add-channel.js +348 -0
- package/lib/channels/channel-artifact-generator.js +141 -0
- package/lib/channels/channel-audit.js +101 -0
- package/lib/channels/channel-auth-context.js +37 -0
- package/lib/channels/channel-credential.js +200 -0
- package/lib/channels/channel-display-name.js +64 -0
- package/lib/channels/channel-external-system.js +106 -0
- package/lib/channels/channel-integration-generator.js +274 -0
- package/lib/channels/channel-probe.js +89 -0
- package/lib/channels/channel-runtime-resolver.js +152 -0
- package/lib/channels/channel-status-display.js +141 -0
- package/lib/channels/channel-targets.js +115 -0
- package/lib/cli/index.js +18 -4
- package/lib/cli/infra-guided-auth.js +36 -12
- package/lib/cli/setup-app.js +54 -3
- package/lib/cli/setup-infra-up-dataplane-action.js +2 -2
- package/lib/cli/setup-infra-up-platform-action.js +2 -1
- package/lib/cli/setup-npm.js +59 -0
- package/lib/cli/setup-platform.js +1 -1
- package/lib/cli/setup-secrets.js +1 -1
- package/lib/cli/setup-utility-help-after.js +4 -1
- package/lib/cli/setup-utility-resolve.js +8 -5
- package/lib/commands/app-logs.js +54 -26
- package/lib/commands/app.js +41 -0
- package/lib/commands/auth-status-dataplane-version.js +97 -61
- package/lib/commands/auth-status.js +2 -7
- package/lib/commands/channel.js +58 -0
- package/lib/commands/datasource.js +1 -1
- package/lib/commands/identity-apply-sync.js +49 -8
- package/lib/commands/identity-group-cli.js +66 -26
- package/lib/commands/identity-membership-role-cache.js +58 -37
- package/lib/commands/identity-shared.js +22 -1
- package/lib/commands/identity-user-cli.js +80 -34
- package/lib/commands/login-device.js +11 -3
- package/lib/commands/login.js +8 -3
- package/lib/commands/npm-config.js +103 -0
- package/lib/commands/repair-auth-apply.js +30 -4
- package/lib/commands/repair-auth-config.js +8 -13
- package/lib/commands/repair-datasource-com-v2.js +15 -0
- package/lib/commands/repair-datasource-service-contract.js +206 -0
- package/lib/commands/repair-datasource.js +53 -18
- package/lib/commands/repair-env-template.js +12 -12
- package/lib/commands/repair-openapi-sync.js +26 -4
- package/lib/commands/repair-steps.js +28 -13
- package/lib/commands/repair-system-alignment.js +7 -4
- package/lib/commands/resource-type.js +371 -0
- package/lib/commands/setup-modes.js +1 -1
- package/lib/commands/setup-prompts-platform-mode.js +24 -21
- package/lib/commands/test-trust-external.js +39 -90
- package/lib/commands/up-common.js +33 -1
- package/lib/commands/up-dataplane.js +8 -4
- package/lib/commands/upload.js +24 -3
- package/lib/commands/verify-trust-command-action.js +4 -1
- package/lib/commands/verify-trust-external.js +12 -20
- package/lib/core/config-setup-platform-mode.js +3 -3
- package/lib/core/setup-platform-mode.js +41 -6
- package/lib/datasource/capability/capability-diff-slice.js +2 -2
- package/lib/datasource/capability/capability-manifest.js +254 -0
- package/lib/datasource/capability/capability-resolve.js +3 -4
- package/lib/datasource/capability/copy-operations.js +5 -3
- package/lib/datasource/capability/remove-operations.js +2 -1
- package/lib/datasource/capability/run-capability-copy.js +32 -4
- package/lib/datasource/capability/run-capability-diff.js +3 -3
- package/lib/datasource/capability/run-capability-dimension.js +2 -4
- package/lib/datasource/capability/run-capability-edit.js +4 -7
- package/lib/datasource/capability/run-capability-relate.js +2 -4
- package/lib/datasource/capability/run-capability-remove.js +2 -4
- package/lib/datasource/capability/validate-capability-slice.js +2 -1
- package/lib/datasource/datasource-identifier.js +2 -1
- package/lib/datasource/datasource-validate-display.js +1 -1
- package/lib/datasource/field-reference-validator.js +24 -3
- package/lib/datasource/orphan-profiles-validator.js +98 -0
- package/lib/datasource/validate.js +41 -23
- package/lib/external-system/download-helpers.js +87 -0
- package/lib/external-system/download.js +61 -122
- package/lib/external-system/generator.js +1 -59
- package/lib/external-system/test.js +10 -15
- package/lib/generator/builders.js +11 -1
- package/lib/generator/external-controller-manifest.js +5 -2
- package/lib/generator/split.js +3 -1
- package/lib/generator/wizard.js +1 -28
- package/lib/identity/fk-reference.js +65 -0
- package/lib/identity/identity-apply-core.js +13 -58
- package/lib/identity/identity-apply-phases.js +5 -1
- package/lib/identity/identity-display.js +243 -0
- package/lib/identity/identity-response-helpers.js +52 -0
- package/lib/identity/identity-sync-errors.js +62 -0
- package/lib/identity/resolve-user-id.js +129 -0
- package/lib/identity/username-default.js +31 -0
- package/lib/lifecycle/certification-progress.js +2 -2
- package/lib/lifecycle/report-display-trust.js +70 -0
- package/lib/lifecycle/report-display.js +14 -13
- package/lib/resolvers/datasource-resolver.js +2 -3
- package/lib/resolvers/resource-type-file.js +159 -0
- package/lib/schema/application-schema.json +16 -0
- package/lib/schema/deployment-rules.yaml +2 -1
- package/lib/schema/external-datasource.schema.json +372 -58
- package/lib/schema/external-system.schema.json +331 -2
- package/lib/schema/type/document-storage.json +9 -5
- package/lib/utils/api.js +2 -1
- package/lib/utils/app-run-containers.js +25 -2
- package/lib/utils/authentication-shape.js +224 -0
- package/lib/utils/build-copy.js +36 -5
- package/lib/utils/build-resolve-image.js +66 -12
- package/lib/utils/celery-companion-apps.js +53 -0
- package/lib/utils/cli-utils.js +4 -0
- package/lib/utils/compose-celery-worker.js +23 -0
- package/lib/utils/compose-generate-docker-compose.js +9 -1
- package/lib/utils/configuration-env-resolver.js +36 -0
- package/lib/utils/controller-url.js +4 -1
- package/lib/utils/credential-secrets-env-kv.js +216 -0
- package/lib/utils/credential-secrets-env.js +52 -262
- package/lib/utils/dataplane-resolver.js +4 -115
- package/lib/utils/declarative-url-ports.js +24 -1
- package/lib/utils/dev-platform-tls.js +148 -0
- package/lib/utils/docker-build.js +1 -4
- package/lib/utils/external-env-template.js +10 -3
- package/lib/utils/external-system-validators.js +8 -2
- package/lib/utils/health-check-request.js +114 -0
- package/lib/utils/health-check-url.js +3 -1
- package/lib/utils/health-check.js +1 -113
- package/lib/utils/help-builder.js +3 -0
- package/lib/utils/keycloak-realm-ready.js +5 -1
- package/lib/utils/localhost-public-host.js +31 -0
- package/lib/utils/npm-user-config.js +145 -0
- package/lib/utils/paths.js +25 -0
- package/lib/utils/platform-controller-url.js +58 -4
- package/lib/utils/platform-kv-ref.js +57 -0
- package/lib/utils/runtime-configuration-download.js +189 -0
- package/lib/utils/runtime-configuration-values.js +119 -0
- package/lib/utils/schema-loader.js +19 -4
- package/lib/utils/url-declarative-public-base.js +33 -25
- package/lib/utils/worker-sidecars.js +142 -0
- package/lib/validation/external-manifest-validator.js +2 -0
- package/lib/validation/runtime-configuration-rules.js +98 -0
- package/lib/validation/validate-display-dimensions.js +154 -0
- package/lib/validation/validate-display-sections.js +276 -0
- package/lib/validation/validate-display-steps.js +67 -0
- package/lib/validation/validate-display.js +24 -402
- package/package.json +1 -1
- package/templates/applications/dataplane/application.yaml +5 -0
- package/templates/applications/dataplane/env.template +26 -13
- package/templates/applications/dataplane/rbac.yaml +108 -1
- package/templates/applications/miso-controller/application.yaml +2 -2
- package/templates/applications/miso-controller/env.template +37 -122
- package/templates/applications/miso-controller/rbac.yaml +28 -13
- package/templates/channels/chatgpt/install.template.md.hbs +49 -0
- package/templates/channels/chatgpt/manifest.template.json.hbs +9 -0
- package/templates/channels/microsoft-copilot/install.template.md.hbs +49 -0
- package/templates/channels/microsoft-copilot/manifest.template.json.hbs +8 -0
- package/templates/channels/slack/install.template.md.hbs +49 -0
- package/templates/channels/slack/manifest.template.json.hbs +66 -0
- package/templates/channels/teams-bot/install.template.md.hbs +49 -0
- package/templates/channels/teams-bot/manifest.template.json.hbs +13 -0
- package/templates/channels/web-embed/install.template.md.hbs +49 -0
- package/templates/channels/web-embed/manifest.template.json.hbs +8 -0
- package/templates/python/docker-compose.hbs +56 -0
- package/templates/typescript/docker-compose.hbs +52 -0
|
@@ -7,12 +7,12 @@
|
|
|
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.8.1",
|
|
11
11
|
"type":"schema",
|
|
12
12
|
"category":"integration",
|
|
13
13
|
"author":"AI Fabrix Team",
|
|
14
14
|
"createdAt":"2024-01-01T00:00:00Z",
|
|
15
|
-
"updatedAt":"2026-
|
|
15
|
+
"updatedAt":"2026-06-16T00:00:00Z",
|
|
16
16
|
"compatibility":{
|
|
17
17
|
"minVersion":"1.0.0",
|
|
18
18
|
"maxVersion":"3.0.0",
|
|
@@ -31,6 +31,49 @@
|
|
|
31
31
|
"external-system.schema.json"
|
|
32
32
|
],
|
|
33
33
|
"changelog":[
|
|
34
|
+
{
|
|
35
|
+
"version":"2.8.1",
|
|
36
|
+
"date":"2026-06-15T00:00:00Z",
|
|
37
|
+
"changes":[
|
|
38
|
+
"Added composition.datasources for composed enterprise and Digital Worker datasources (438.6).",
|
|
39
|
+
"Added optional subscriptionFilter (roleKeys, includeSystemKinds, excludeSystemKinds, resourceTypes, systemKeys, datasourceKeys) on datasource manifests."
|
|
40
|
+
],
|
|
41
|
+
"breaking":false
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"version":"2.7.2",
|
|
45
|
+
"date":"2026-06-13T00:00:00Z",
|
|
46
|
+
"changes":[
|
|
47
|
+
"346 §13.1: exposed.profiles keys must match capabilities or default; decorative orphan keys (minimal, metadata, analytics) forbidden."
|
|
48
|
+
],
|
|
49
|
+
"breaking":false
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"version":"2.7.1",
|
|
53
|
+
"date":"2026-06-12T00:00:00Z",
|
|
54
|
+
"changes":[
|
|
55
|
+
"Removed unused root serviceCategory property (use entityType serviceContract + resourceType for classification)."
|
|
56
|
+
],
|
|
57
|
+
"breaking":false
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"version":"2.7.0",
|
|
61
|
+
"date":"2026-06-12T00:00:00Z",
|
|
62
|
+
"changes":[
|
|
63
|
+
"Added entityType serviceContract for normalized executable service adapters (metadataSchema + fieldMappings + exposed required; no primaryKey/sync/storage).",
|
|
64
|
+
"Staged migration: entityType none + resourceType llm deprecated in favor of serviceContract (validator phases 1–3)."
|
|
65
|
+
],
|
|
66
|
+
"breaking":false
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"version":"2.6.0",
|
|
70
|
+
"date":"2026-06-11T00:00:00Z",
|
|
71
|
+
"changes":[
|
|
72
|
+
"Added optional executionMetrics with fixed token/cost/duration expression fields for post-CIP observability (437.3).",
|
|
73
|
+
"Documented llm resourceType usage with call and embed capabilities on entityType none enterprise surfaces."
|
|
74
|
+
],
|
|
75
|
+
"breaking":false
|
|
76
|
+
},
|
|
34
77
|
{
|
|
35
78
|
"version":"1.0.0",
|
|
36
79
|
"date":"2024-01-01T00:00:00Z",
|
|
@@ -184,6 +227,26 @@
|
|
|
184
227
|
],
|
|
185
228
|
"breaking":false
|
|
186
229
|
},
|
|
230
|
+
{
|
|
231
|
+
"version":"2.5.0",
|
|
232
|
+
"date":"2026-06-10T00:00:00Z",
|
|
233
|
+
"changes":[
|
|
234
|
+
"BREAKING (COM v2): capabilities is object array { key, description?, riskLevel?, approvalRequired? } — string[] removed.",
|
|
235
|
+
"BREAKING: Removed root context object (semanticTags, synonyms).",
|
|
236
|
+
"BREAKING: Removed fieldMappings.*.semantic.synonyms and semantic.categories.",
|
|
237
|
+
"resourceType is a catalog key reference (validated against resource_types).",
|
|
238
|
+
"Added optional boolean authority on datasource root for write routing."
|
|
239
|
+
],
|
|
240
|
+
"breaking":true
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
"version":"2.4.12",
|
|
244
|
+
"date":"2026-06-05T00:00:00Z",
|
|
245
|
+
"changes":[
|
|
246
|
+
"Removed context.naturalLanguageHints (plan 432). Use semanticTags, synonyms, and fieldMappings.*.semantic.description instead."
|
|
247
|
+
],
|
|
248
|
+
"breaking":true
|
|
249
|
+
},
|
|
187
250
|
{
|
|
188
251
|
"version":"2.4.11",
|
|
189
252
|
"date":"2026-05-21T00:00:00Z",
|
|
@@ -265,14 +328,19 @@
|
|
|
265
328
|
},
|
|
266
329
|
"entityType":{
|
|
267
330
|
"type":"string",
|
|
268
|
-
"enum":["documentStorage","vectorStore","recordStorage","messageService","none"],
|
|
269
|
-
"description":"Entity type identifier. Defines storage semantics and behavior: 'documentStorage' (creates document storage service with vector-storage), 'vectorStore' (external vector storage system), 'recordStorage' (creates record-based system with metadata sync and access rights), 'messageService' (message service for notifications - Slack, Teams, Email), '
|
|
331
|
+
"enum":["documentStorage","vectorStore","recordStorage","messageService","serviceContract","none"],
|
|
332
|
+
"description":"Entity type identifier. Defines storage semantics and behavior: 'documentStorage' (creates document storage service with vector-storage), 'vectorStore' (external vector storage system), 'recordStorage' (creates record-based system with metadata sync and access rights), 'messageService' (message service for notifications - Slack, Teams, Email), 'serviceContract' (normalized executable service adapter without persistence — requires metadataSchema, fieldMappings, exposed), 'none' (orchestration/composition only). Required field. Canonical values are camelCase."
|
|
270
333
|
},
|
|
271
334
|
"resourceType":{
|
|
272
335
|
"type":"string",
|
|
273
336
|
"pattern":"^[a-z0-9-]+$",
|
|
274
337
|
"default":"document",
|
|
275
|
-
"description":"
|
|
338
|
+
"description":"Catalog key reference (resource_types.key). Must match an active entry synced from miso-controller."
|
|
339
|
+
},
|
|
340
|
+
"authority":{
|
|
341
|
+
"type":"boolean",
|
|
342
|
+
"default":false,
|
|
343
|
+
"description":"When true, this datasource is the preferred write/list authority for its resourceType when multiple writable sources exist. Optional; sole writable datasource may omit (implicit authority)."
|
|
276
344
|
},
|
|
277
345
|
"version":{
|
|
278
346
|
"type":"string",
|
|
@@ -284,6 +352,28 @@
|
|
|
284
352
|
"minimum":1,
|
|
285
353
|
"description":"Optional sort order of this datasource within its external system (1 = first) for agent and integrator workflows when multiple record-storage datasources exist. Does not control CIP step execution order. Published to OpenAPI governance / optional runtime meta.business.businessOrder when epic 404.2 is enabled. foreignKeys alone do not define this order."
|
|
286
354
|
},
|
|
355
|
+
"composition":{
|
|
356
|
+
"type":"object",
|
|
357
|
+
"description":"Declares upstream datasources merged into this composed datasource. Generator owns merged metadata, exposedSchema, capabilities, and REST/MCP contract.",
|
|
358
|
+
"additionalProperties":false,
|
|
359
|
+
"required":["datasources"],
|
|
360
|
+
"properties":{
|
|
361
|
+
"datasources":{
|
|
362
|
+
"type":"array",
|
|
363
|
+
"minItems":1,
|
|
364
|
+
"items":{
|
|
365
|
+
"type":"string",
|
|
366
|
+
"pattern":"^[a-z0-9-]+$",
|
|
367
|
+
"minLength":1
|
|
368
|
+
},
|
|
369
|
+
"description":"Child datasource keys resolved at generation and execute time."
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
},
|
|
373
|
+
"subscriptionFilter":{
|
|
374
|
+
"$ref":"aifabrix://schema/external-system.schema.json#/$defs/subscriptionFilter",
|
|
375
|
+
"description":"Optional role and systemKind filters for Digital Worker generation inputs on datasource manifests."
|
|
376
|
+
},
|
|
287
377
|
"agentExposure":{
|
|
288
378
|
"type":"object",
|
|
289
379
|
"description":"Opt-in surfaces for AI agent metadata on published OpenAPI and runtime REST envelopes (plans 404.2–404.3). Does not change CIP execution.",
|
|
@@ -356,7 +446,7 @@
|
|
|
356
446
|
"type":"string",
|
|
357
447
|
"description":"Short-form sugar: an expression string is normalized by the compiler to { expression: '<value>' }.",
|
|
358
448
|
"maxLength":512,
|
|
359
|
-
"pattern":"^\\s*\\{\\{(raw\\.[a-zA-Z0-9_.]+|fk\\.[a-z][a-zA-Z0-9]*\\.metadata\\.[a-z][a-zA-Z0-9]*|fk\\.[a-z][a-zA-Z0-9]*\\.dimension\\.[a-zA-Z0-9_]+(\\.label)?|dimension\\.[a-zA-Z0-9_]+(\\.label)?)\\}\\}(\\s*\\|\\s*[a-zA-Z0-9_]+(\\([^)]*\\))?)*\\s*$"
|
|
449
|
+
"pattern":"^\\s*\\{\\{(raw\\.[a-zA-Z0-9_\\[\\].]+|fk\\.[a-z][a-zA-Z0-9]*\\.metadata\\.[a-z][a-zA-Z0-9]*|fk\\.[a-z][a-zA-Z0-9]*\\.dimension\\.[a-zA-Z0-9_]+(\\.label)?|dimension\\.[a-zA-Z0-9_]+(\\.label)?)\\}\\}(\\s*\\|\\s*[a-zA-Z0-9_]+(\\([^)]*\\))?)*\\s*$"
|
|
360
450
|
},
|
|
361
451
|
{
|
|
362
452
|
"type":"object",
|
|
@@ -365,7 +455,7 @@
|
|
|
365
455
|
"type":"string",
|
|
366
456
|
"description":"Pipe-based DSL expression. Allowed roots: raw.<path>, fk.<fk>.metadata.<field>, fk.<fk>.dimension.<dimension>[.label], dimension.<dimension>[.label]. FK traversal in DSL is one-hop only.",
|
|
367
457
|
"maxLength":512,
|
|
368
|
-
"pattern":"^\\s*\\{\\{(raw\\.[a-zA-Z0-9_.]+|fk\\.[a-z][a-zA-Z0-9]*\\.metadata\\.[a-z][a-zA-Z0-9]*|fk\\.[a-z][a-zA-Z0-9]*\\.dimension\\.[a-zA-Z0-9_]+(\\.label)?|dimension\\.[a-zA-Z0-9_]+(\\.label)?)\\}\\}(\\s*\\|\\s*[a-zA-Z0-9_]+(\\([^)]*\\))?)*\\s*$"
|
|
458
|
+
"pattern":"^\\s*\\{\\{(raw\\.[a-zA-Z0-9_\\[\\].]+|fk\\.[a-z][a-zA-Z0-9]*\\.metadata\\.[a-z][a-zA-Z0-9]*|fk\\.[a-z][a-zA-Z0-9]*\\.dimension\\.[a-zA-Z0-9_]+(\\.label)?|dimension\\.[a-zA-Z0-9_]+(\\.label)?)\\}\\}(\\s*\\|\\s*[a-zA-Z0-9_]+(\\([^)]*\\))?)*\\s*$"
|
|
369
459
|
},
|
|
370
460
|
"description":{
|
|
371
461
|
"type":"string",
|
|
@@ -402,20 +492,6 @@
|
|
|
402
492
|
"example":{
|
|
403
493
|
"description":"Example value for this field.",
|
|
404
494
|
"type":["string","number","boolean","object","array","null"]
|
|
405
|
-
},
|
|
406
|
-
"categories":{
|
|
407
|
-
"type":"array",
|
|
408
|
-
"description":"Logical categories/tags (e.g. ['sales', 'revenue']).",
|
|
409
|
-
"items":{
|
|
410
|
-
"type":"string"
|
|
411
|
-
}
|
|
412
|
-
},
|
|
413
|
-
"synonyms":{
|
|
414
|
-
"type":"array",
|
|
415
|
-
"description":"Optional list of synonyms used in natural language (e.g. 'opportunity', 'sales-case').",
|
|
416
|
-
"items":{
|
|
417
|
-
"type":"string"
|
|
418
|
-
}
|
|
419
495
|
}
|
|
420
496
|
},
|
|
421
497
|
"additionalProperties":false
|
|
@@ -775,34 +851,6 @@
|
|
|
775
851
|
},
|
|
776
852
|
"additionalProperties":false
|
|
777
853
|
},
|
|
778
|
-
"context":{
|
|
779
|
-
"type":"object",
|
|
780
|
-
"description":"Datasource-level discovery hints for agents. Copied to COM semantic_tags and OpenAPI tags when COM build runs; not included in runtime REST meta by default. Prefer structured semanticTags and fieldMappings.*.semantic.description over naturalLanguageHints (legacy prose; do not expand in new integrations).",
|
|
781
|
-
"properties":{
|
|
782
|
-
"semanticTags":{
|
|
783
|
-
"type":"array",
|
|
784
|
-
"description":"Structured tags for classification and OpenAPI tag emission (e.g. ['crm', 'sales', 'deals']).",
|
|
785
|
-
"items":{
|
|
786
|
-
"type":"string"
|
|
787
|
-
}
|
|
788
|
-
},
|
|
789
|
-
"synonyms":{
|
|
790
|
-
"type":"array",
|
|
791
|
-
"description":"Terms users might use in natural language to refer to this datasource or its primary entity.",
|
|
792
|
-
"items":{
|
|
793
|
-
"type":"string"
|
|
794
|
-
}
|
|
795
|
-
},
|
|
796
|
-
"naturalLanguageHints":{
|
|
797
|
-
"type":"array",
|
|
798
|
-
"description":"Legacy free-form strings (wizard may still emit). Not structured agent contract metadata; avoid for new authoring (plan 404.1). Not exposed on public OpenAPI or runtime meta.",
|
|
799
|
-
"items":{
|
|
800
|
-
"type":"string"
|
|
801
|
-
}
|
|
802
|
-
}
|
|
803
|
-
},
|
|
804
|
-
"additionalProperties":false
|
|
805
|
-
},
|
|
806
854
|
"documentStorage":{
|
|
807
855
|
"$ref":"aifabrix://schema/type/document-storage.json",
|
|
808
856
|
"description":"Document storage configuration (optional). Schema is canonical under type/document-storage.json."
|
|
@@ -897,13 +945,11 @@
|
|
|
897
945
|
"additionalProperties":false
|
|
898
946
|
},
|
|
899
947
|
"capabilities":{
|
|
900
|
-
"description":"
|
|
948
|
+
"description":"COM v2 capability metadata array. Each object binds an operation key to optional business description and Workforce placeholders (riskLevel, approvalRequired). Trust is computed by Enterprise Compiler — no aiTrustLevel on manifest.",
|
|
901
949
|
"type":"array",
|
|
902
950
|
"items":{
|
|
903
|
-
"
|
|
904
|
-
|
|
905
|
-
},
|
|
906
|
-
"uniqueItems":true
|
|
951
|
+
"$ref":"#/$defs/capabilityMetadata"
|
|
952
|
+
}
|
|
907
953
|
},
|
|
908
954
|
"execution":{
|
|
909
955
|
"type":"object",
|
|
@@ -930,6 +976,9 @@
|
|
|
930
976
|
},
|
|
931
977
|
"additionalProperties":false
|
|
932
978
|
},
|
|
979
|
+
"executionMetrics":{
|
|
980
|
+
"$ref":"#/$defs/executionMetricsDefinition"
|
|
981
|
+
},
|
|
933
982
|
"config":{
|
|
934
983
|
"type":"object",
|
|
935
984
|
"description":"Additional configuration for this datasource.",
|
|
@@ -1026,8 +1075,83 @@
|
|
|
1026
1075
|
}
|
|
1027
1076
|
]
|
|
1028
1077
|
}
|
|
1078
|
+
}
|
|
1079
|
+
},
|
|
1080
|
+
{
|
|
1081
|
+
"if":{
|
|
1082
|
+
"properties":{
|
|
1083
|
+
"entityType":{
|
|
1084
|
+
"const":"serviceContract"
|
|
1085
|
+
}
|
|
1086
|
+
},
|
|
1087
|
+
"required":[
|
|
1088
|
+
"entityType"
|
|
1089
|
+
]
|
|
1029
1090
|
},
|
|
1030
|
-
"
|
|
1091
|
+
"then":{
|
|
1092
|
+
"required":[
|
|
1093
|
+
"metadataSchema",
|
|
1094
|
+
"fieldMappings",
|
|
1095
|
+
"exposed"
|
|
1096
|
+
],
|
|
1097
|
+
"not":{
|
|
1098
|
+
"anyOf":[
|
|
1099
|
+
{
|
|
1100
|
+
"required":[
|
|
1101
|
+
"primaryKey"
|
|
1102
|
+
]
|
|
1103
|
+
},
|
|
1104
|
+
{
|
|
1105
|
+
"required":[
|
|
1106
|
+
"labelKey"
|
|
1107
|
+
]
|
|
1108
|
+
},
|
|
1109
|
+
{
|
|
1110
|
+
"required":[
|
|
1111
|
+
"sync"
|
|
1112
|
+
]
|
|
1113
|
+
},
|
|
1114
|
+
{
|
|
1115
|
+
"required":[
|
|
1116
|
+
"quality"
|
|
1117
|
+
]
|
|
1118
|
+
},
|
|
1119
|
+
{
|
|
1120
|
+
"required":[
|
|
1121
|
+
"validation"
|
|
1122
|
+
]
|
|
1123
|
+
},
|
|
1124
|
+
{
|
|
1125
|
+
"required":[
|
|
1126
|
+
"documentStorage"
|
|
1127
|
+
]
|
|
1128
|
+
},
|
|
1129
|
+
{
|
|
1130
|
+
"required":[
|
|
1131
|
+
"recordStorage"
|
|
1132
|
+
]
|
|
1133
|
+
}
|
|
1134
|
+
]
|
|
1135
|
+
}
|
|
1136
|
+
}
|
|
1137
|
+
},
|
|
1138
|
+
{
|
|
1139
|
+
"if":{
|
|
1140
|
+
"properties":{
|
|
1141
|
+
"entityType":{
|
|
1142
|
+
"enum":[
|
|
1143
|
+
"recordStorage",
|
|
1144
|
+
"documentStorage",
|
|
1145
|
+
"vectorStore",
|
|
1146
|
+
"messageService"
|
|
1147
|
+
]
|
|
1148
|
+
}
|
|
1149
|
+
},
|
|
1150
|
+
"required":[
|
|
1151
|
+
"entityType"
|
|
1152
|
+
]
|
|
1153
|
+
},
|
|
1154
|
+
"then":{
|
|
1031
1155
|
"required":[
|
|
1032
1156
|
"metadataSchema",
|
|
1033
1157
|
"primaryKey",
|
|
@@ -1102,6 +1226,64 @@
|
|
|
1102
1226
|
}
|
|
1103
1227
|
],
|
|
1104
1228
|
"$defs":{
|
|
1229
|
+
"executionMetricsDefinition":{
|
|
1230
|
+
"type":"object",
|
|
1231
|
+
"description":"Fixed metric expression map evaluated after CIP execution. Each value is a template path (for example {{response.usage.prompt_tokens}}) or dotted path against response and execution context. usageMappings is not supported.",
|
|
1232
|
+
"additionalProperties":false,
|
|
1233
|
+
"properties":{
|
|
1234
|
+
"inputTokens":{
|
|
1235
|
+
"type":"string",
|
|
1236
|
+
"minLength":1,
|
|
1237
|
+
"description":"Expression resolving input/prompt token count."
|
|
1238
|
+
},
|
|
1239
|
+
"outputTokens":{
|
|
1240
|
+
"type":"string",
|
|
1241
|
+
"minLength":1,
|
|
1242
|
+
"description":"Expression resolving completion token count."
|
|
1243
|
+
},
|
|
1244
|
+
"totalTokens":{
|
|
1245
|
+
"type":"string",
|
|
1246
|
+
"minLength":1,
|
|
1247
|
+
"description":"Expression resolving total token count."
|
|
1248
|
+
},
|
|
1249
|
+
"durationMs":{
|
|
1250
|
+
"type":"string",
|
|
1251
|
+
"minLength":1,
|
|
1252
|
+
"description":"Expression resolving operation duration in milliseconds."
|
|
1253
|
+
},
|
|
1254
|
+
"costUsd":{
|
|
1255
|
+
"type":"string",
|
|
1256
|
+
"minLength":1,
|
|
1257
|
+
"description":"Expression resolving estimated cost in USD when provider returns billing metadata."
|
|
1258
|
+
}
|
|
1259
|
+
}
|
|
1260
|
+
},
|
|
1261
|
+
"capabilityMetadata":{
|
|
1262
|
+
"type":"object",
|
|
1263
|
+
"description":"COM v2 capability object — meaning is key + optional description only.",
|
|
1264
|
+
"additionalProperties":false,
|
|
1265
|
+
"required":["key"],
|
|
1266
|
+
"properties":{
|
|
1267
|
+
"key":{
|
|
1268
|
+
"type":"string",
|
|
1269
|
+
"pattern":"^[a-z][a-zA-Z0-9_]*$",
|
|
1270
|
+
"description":"Operation key binding to openapi.operations and/or execution.cip.operations."
|
|
1271
|
+
},
|
|
1272
|
+
"description":{
|
|
1273
|
+
"type":"string",
|
|
1274
|
+
"description":"Business meaning of this capability for agents and AI Trust scoring."
|
|
1275
|
+
},
|
|
1276
|
+
"riskLevel":{
|
|
1277
|
+
"type":"string",
|
|
1278
|
+
"enum":["low","medium","high","critical"],
|
|
1279
|
+
"description":"Workforce risk placeholder — not manifest trust score."
|
|
1280
|
+
},
|
|
1281
|
+
"approvalRequired":{
|
|
1282
|
+
"type":"boolean",
|
|
1283
|
+
"description":"Workforce approval placeholder — not manifest trust score."
|
|
1284
|
+
}
|
|
1285
|
+
}
|
|
1286
|
+
},
|
|
1105
1287
|
"httpResponseNormalization":{
|
|
1106
1288
|
"type":"object",
|
|
1107
1289
|
"description":"Optional GET response shaping for miso-client adapter dicts and native 302 Location follows. Omitted = disabled.",
|
|
@@ -1245,6 +1427,31 @@
|
|
|
1245
1427
|
"pattern":{
|
|
1246
1428
|
"type":"string"
|
|
1247
1429
|
},
|
|
1430
|
+
"enum":{
|
|
1431
|
+
"type":"array",
|
|
1432
|
+
"minItems":1,
|
|
1433
|
+
"maxItems":64,
|
|
1434
|
+
"items":{
|
|
1435
|
+
"oneOf":[
|
|
1436
|
+
{
|
|
1437
|
+
"type":"string"
|
|
1438
|
+
},
|
|
1439
|
+
{
|
|
1440
|
+
"type":"integer"
|
|
1441
|
+
},
|
|
1442
|
+
{
|
|
1443
|
+
"type":"number"
|
|
1444
|
+
},
|
|
1445
|
+
{
|
|
1446
|
+
"type":"boolean"
|
|
1447
|
+
},
|
|
1448
|
+
{
|
|
1449
|
+
"type":"null"
|
|
1450
|
+
}
|
|
1451
|
+
]
|
|
1452
|
+
},
|
|
1453
|
+
"description":"Closed set of allowed scalar values (438.20). Only on string|integer|number|boolean leaves without properties/items."
|
|
1454
|
+
},
|
|
1248
1455
|
"minimum":{
|
|
1249
1456
|
"type":"number"
|
|
1250
1457
|
},
|
|
@@ -1389,6 +1596,57 @@
|
|
|
1389
1596
|
]
|
|
1390
1597
|
}
|
|
1391
1598
|
}
|
|
1599
|
+
},
|
|
1600
|
+
{
|
|
1601
|
+
"if":{
|
|
1602
|
+
"required":[
|
|
1603
|
+
"enum"
|
|
1604
|
+
],
|
|
1605
|
+
"properties":{
|
|
1606
|
+
"enum":{
|
|
1607
|
+
"type":"array",
|
|
1608
|
+
"minItems":1
|
|
1609
|
+
}
|
|
1610
|
+
}
|
|
1611
|
+
},
|
|
1612
|
+
"then":{
|
|
1613
|
+
"properties":{
|
|
1614
|
+
"type":{
|
|
1615
|
+
"type":"string",
|
|
1616
|
+
"enum":[
|
|
1617
|
+
"string",
|
|
1618
|
+
"number",
|
|
1619
|
+
"integer",
|
|
1620
|
+
"boolean"
|
|
1621
|
+
]
|
|
1622
|
+
}
|
|
1623
|
+
},
|
|
1624
|
+
"required":[
|
|
1625
|
+
"type"
|
|
1626
|
+
],
|
|
1627
|
+
"not":{
|
|
1628
|
+
"anyOf":[
|
|
1629
|
+
{
|
|
1630
|
+
"required":[
|
|
1631
|
+
"properties"
|
|
1632
|
+
]
|
|
1633
|
+
},
|
|
1634
|
+
{
|
|
1635
|
+
"required":[
|
|
1636
|
+
"items"
|
|
1637
|
+
]
|
|
1638
|
+
}
|
|
1639
|
+
]
|
|
1640
|
+
}
|
|
1641
|
+
}
|
|
1642
|
+
},
|
|
1643
|
+
{
|
|
1644
|
+
"not":{
|
|
1645
|
+
"required":[
|
|
1646
|
+
"enum",
|
|
1647
|
+
"pattern"
|
|
1648
|
+
]
|
|
1649
|
+
}
|
|
1392
1650
|
}
|
|
1393
1651
|
],
|
|
1394
1652
|
"additionalProperties":false
|
|
@@ -1954,6 +2212,9 @@
|
|
|
1954
2212
|
{
|
|
1955
2213
|
"$ref":"#/$defs/cipStepMap"
|
|
1956
2214
|
},
|
|
2215
|
+
{
|
|
2216
|
+
"$ref":"#/$defs/cipStepMerge"
|
|
2217
|
+
},
|
|
1957
2218
|
{
|
|
1958
2219
|
"$ref":"#/$defs/cipStepFilter"
|
|
1959
2220
|
},
|
|
@@ -2068,6 +2329,16 @@
|
|
|
2068
2329
|
"type":"object",
|
|
2069
2330
|
"description":"Optional operation parameters forwarded to datasource execution when source='datasource'.",
|
|
2070
2331
|
"additionalProperties":true
|
|
2332
|
+
},
|
|
2333
|
+
"skipUnauthorized":{
|
|
2334
|
+
"type":"boolean",
|
|
2335
|
+
"default":false,
|
|
2336
|
+
"description":"When true, skip nested datasource fetch on RBAC denial and continue aggregate orchestration."
|
|
2337
|
+
},
|
|
2338
|
+
"accumulate":{
|
|
2339
|
+
"type":"boolean",
|
|
2340
|
+
"default":false,
|
|
2341
|
+
"description":"When true, append fetch items to the pipeline accumulator for a following merge step."
|
|
2071
2342
|
},
|
|
2072
2343
|
"query":{
|
|
2073
2344
|
"type":"object",
|
|
@@ -2148,9 +2419,12 @@
|
|
|
2148
2419
|
}
|
|
2149
2420
|
},
|
|
2150
2421
|
"then":{
|
|
2151
|
-
"
|
|
2152
|
-
"datasource"
|
|
2153
|
-
|
|
2422
|
+
"properties":{
|
|
2423
|
+
"datasource":{
|
|
2424
|
+
"type":"string",
|
|
2425
|
+
"description":"Target child datasource key. Omitted when parent manifest composition.datasources has two or more entries; runtime resolves via selector input."
|
|
2426
|
+
}
|
|
2427
|
+
}
|
|
2154
2428
|
}
|
|
2155
2429
|
}
|
|
2156
2430
|
],
|
|
@@ -2235,6 +2509,46 @@
|
|
|
2235
2509
|
},
|
|
2236
2510
|
"additionalProperties":false
|
|
2237
2511
|
},
|
|
2512
|
+
"cipStepMerge":{
|
|
2513
|
+
"type":"object",
|
|
2514
|
+
"required":[
|
|
2515
|
+
"merge"
|
|
2516
|
+
],
|
|
2517
|
+
"properties":{
|
|
2518
|
+
"merge":{
|
|
2519
|
+
"type":"object",
|
|
2520
|
+
"description":"Merge accumulated fetch outputs (data transformation only).",
|
|
2521
|
+
"required":[
|
|
2522
|
+
"strategy"
|
|
2523
|
+
],
|
|
2524
|
+
"properties":{
|
|
2525
|
+
"strategy":{
|
|
2526
|
+
"type":"string",
|
|
2527
|
+
"enum":[
|
|
2528
|
+
"object",
|
|
2529
|
+
"array",
|
|
2530
|
+
"union",
|
|
2531
|
+
"byKey"
|
|
2532
|
+
],
|
|
2533
|
+
"description":"Merge strategy for accumulated datasource fetch results."
|
|
2534
|
+
},
|
|
2535
|
+
"keyField":{
|
|
2536
|
+
"type":"string",
|
|
2537
|
+
"description":"Record key field used by byKey strategy (defaults to id)."
|
|
2538
|
+
}
|
|
2539
|
+
},
|
|
2540
|
+
"additionalProperties":false
|
|
2541
|
+
},
|
|
2542
|
+
"stepId":{
|
|
2543
|
+
"type":"string",
|
|
2544
|
+
"description":"Optional stable step identifier."
|
|
2545
|
+
},
|
|
2546
|
+
"onError":{
|
|
2547
|
+
"$ref":"#/$defs/cipOnErrorConfig"
|
|
2548
|
+
}
|
|
2549
|
+
},
|
|
2550
|
+
"additionalProperties":false
|
|
2551
|
+
},
|
|
2238
2552
|
"cipStepMap":{
|
|
2239
2553
|
"type":"object",
|
|
2240
2554
|
"required":[
|