@aifabrix/builder 2.58.0 → 2.60.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/lib/agent-kit/codex-app-server.js +44 -0
- package/lib/agent-kit/git-identity.js +180 -0
- package/lib/agent-kit/init.js +4 -17
- package/lib/agent-kit/session-report.js +15 -10
- package/lib/agent-kit/setup-auth.js +131 -0
- package/lib/agent-kit/setup-context.js +118 -0
- package/lib/agent-kit/setup-github.js +70 -0
- package/lib/agent-kit/setup-managed.js +79 -0
- package/lib/agent-kit/setup-process.js +42 -0
- package/lib/agent-kit/setup-session.js +53 -0
- package/lib/agent-kit/setup-state.js +52 -0
- package/lib/agent-kit/setup-workspace.js +113 -0
- package/lib/agent-kit/setup.js +87 -0
- package/lib/agent-kit/start.js +48 -3
- package/lib/agent-kit/tmux-sessions.js +20 -3
- package/lib/api/dev.api.js +1 -1
- package/lib/api/miso-health.api.js +26 -0
- package/lib/api/role-assistant-test-job.api.js +60 -0
- package/lib/api/types/dev.types.js +3 -3
- package/lib/api/work-search.api.js +13 -6
- package/lib/app/deploy.js +8 -103
- package/lib/app/show-display.js +1 -0
- package/lib/app/show-online.js +15 -0
- package/lib/build/standard-docker-build.js +4 -1
- package/lib/cli/index.js +4 -0
- package/lib/cli/setup-app.js +14 -1
- package/lib/cli/setup-dev-path-commands.js +4 -0
- package/lib/cli/setup-dev.js +7 -4
- package/lib/cli/setup-help.js +86 -0
- package/lib/cli/setup-onboarding.js +37 -0
- package/lib/cli/setup-utility-repair.js +7 -5
- package/lib/cli/setup-utility.js +24 -1
- package/lib/commands/agent-kit-help.js +21 -7
- package/lib/commands/agent-kit-sessions.js +126 -0
- package/lib/commands/agent-kit-setup.js +44 -0
- package/lib/commands/agent-kit.js +5 -79
- package/lib/commands/dev-init.js +21 -23
- package/lib/commands/dev-refresh.js +2 -2
- package/lib/commands/governance-verify-external.js +12 -5
- package/lib/commands/repair-datasource.js +9 -9
- package/lib/commands/repair.js +45 -8
- package/lib/commands/role-assistant.js +7 -0
- package/lib/commands/upload-qualification-client.js +56 -11
- package/lib/commands/upload-qualification-poll.js +51 -22
- package/lib/commands/wizard-dataplane.js +16 -52
- package/lib/core/env-platform-expand.js +93 -0
- package/lib/core/secrets-env-content.js +37 -3
- package/lib/datasource/datasource-validate-summary.js +8 -5
- package/lib/datasource/sync-defaults.js +53 -0
- package/lib/deployment/installation/azure-infra-stage.js +13 -1
- package/lib/deployment/installation/azure-preflight.js +13 -2
- package/lib/deployment/installation/azure-readiness.js +24 -2
- package/lib/deployment/installation/environment-auth.js +60 -20
- package/lib/deployment/installation/environment-stage.js +9 -5
- package/lib/deployment/installation/infra-catalog.js +10 -7
- package/lib/deployment/installation/infra-manifest.js +5 -0
- package/lib/deployment/installation/registry-auth-mode.js +33 -10
- package/lib/deployment/marketplace-environment.js +26 -1
- package/lib/generator/builders.js +17 -0
- package/lib/generator/helpers.js +23 -2
- package/lib/generator/index.js +33 -18
- package/lib/integration-definition/apply.js +2 -2
- package/lib/internal/fs-real-sync.js +4 -1
- package/lib/programmatic/bearer-auth.js +3 -62
- package/lib/programmatic/builder-api-startup.js +51 -0
- package/lib/programmatic/builder-miso-runtime.js +167 -0
- package/lib/programmatic/openapi-descriptions.js +3 -3
- package/lib/programmatic/openapi-schema-descriptions-core.js +3 -3
- package/lib/programmatic/openapi-spec.js +2 -1
- package/lib/programmatic/route-handler-map.js +3 -2
- package/lib/role-assistant/test-cases-search.js +3 -0
- package/lib/role-assistant/test-job-runner.js +125 -0
- package/lib/role-assistant/test-runner-search.js +44 -2
- package/lib/schema/application-schema.json +193 -2
- package/lib/schema/environment-deploy-request.schema.json +1 -1
- package/lib/schema/external-datasource.schema.json +20 -5
- package/lib/schema/infra-parameter.schema.json +140 -34
- package/lib/schema/infra.parameter.yaml +30 -29
- package/lib/schema/infrastructure-schema.json +133 -14
- package/lib/schema/installation-environment.schema.json +1 -1
- package/lib/schema/wizard-config.schema.json +1 -1
- package/lib/utils/compose-generate-docker-compose.js +12 -0
- package/lib/utils/config-paths.js +24 -29
- package/lib/utils/config-registry-preference.js +13 -6
- package/lib/utils/dev-init-ssh-merge.js +5 -4
- package/lib/utils/dev-user-groups.js +2 -1
- package/lib/utils/docker-build.js +29 -8
- package/lib/utils/docker-daemon-tls-ca.js +2 -2
- package/lib/utils/docker-manifest-public-port.js +36 -0
- package/lib/utils/error-formatters/validation-errors.js +25 -5
- package/lib/utils/help-builder.js +4 -3
- package/lib/utils/platform-resolution.js +226 -0
- package/lib/utils/resolve-docker-image-ref.js +8 -3
- package/lib/utils/token-manager.js +29 -36
- package/package.json +4 -3
- package/templates/README.md +2 -1
- package/templates/agent-kit/agent-kit.yaml +4 -1
- package/templates/agent-kit/instructions/AGENTKIT.md +40 -3
- package/templates/agent-kit/instructions/root.AGENTS.md +42 -1
- package/templates/agent-kit/skills/aifabrix-connected-system/SKILL.md +33 -1
- package/templates/agent-kit/skills/aifabrix-connected-system/scripts/delivery-verdict.js +176 -0
- package/templates/agent-kit/skills/aifabrix-plan/SKILL.md +3 -0
- package/templates/agent-kit/skills/aifabrix-plan/references/interaction.md +10 -3
- package/templates/agent-kit/skills/aifabrix-prove/SKILL.md +22 -0
- package/templates/agent-kit/skills/aifabrix-role-assistant/SKILL.md +21 -0
- package/templates/agent-kit/skills/shared/feedback.md +31 -0
- package/templates/agent-kit/skills/shared/hosts.md +35 -7
- package/templates/agent-kit/skills/shared/status.md +85 -0
- package/templates/agent-kit/workspace/BUILDER_IMPROVEMENT_FINDINGS.md +27 -0
- package/templates/agent-kit/workspace/README.md +14 -1
- package/templates/applications/builder-api/application.yaml +1 -1
- package/templates/applications/dataplane/application.yaml +30 -2
- package/templates/applications/dataplane/env.template +37 -4
- package/templates/applications/miso-controller/application.yaml +24 -1
- package/templates/applications/miso-controller/env.template +22 -35
- package/templates/external-system/external-datasource.yaml.hbs +7 -6
- package/templates/marketplace/main.json +281 -75
- package/templates/python/Dockerfile.hbs +2 -0
- package/templates/typescript/Dockerfile.hbs +2 -0
- package/templates/typescript/docker-compose.hbs +12 -0
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
|
|
9
9
|
# HTTP port for the app
|
|
10
10
|
PORT=${PORT}
|
|
11
|
-
# dev | tst | pro
|
|
12
|
-
ENVIRONMENT=
|
|
11
|
+
# dev | tst | pro. Resolved from the deployment environment; local Docker is dev.
|
|
12
|
+
ENVIRONMENT={ENVIRONMENT}
|
|
13
13
|
# Enable debug mode
|
|
14
14
|
DEBUG=false
|
|
15
15
|
# Logging level: DEBUG, INFO, WARNING, ERROR, CRITICAL
|
|
@@ -44,7 +44,7 @@ API_KEY_BYPASS_ROLES=full-access
|
|
|
44
44
|
|
|
45
45
|
# API Configuration
|
|
46
46
|
API_V1_STR=/api/v1
|
|
47
|
-
VERSION=2.0.
|
|
47
|
+
VERSION=2.0.74
|
|
48
48
|
# Minimum supported aifabrix-builder CLI semver (advertised on /health and /api/v1/health; empty = no gate)
|
|
49
49
|
# MIN_BUILDER_CLI_VERSION=2.45.0
|
|
50
50
|
MIN_BUILDER_CLI_VERSION=2.45.5
|
|
@@ -98,6 +98,15 @@ DB_3_PASSWORD=kv://databases-dataplane-3-passwordKeyVault
|
|
|
98
98
|
# so Docker dataplane + miso-controller do not exhaust max_connections alongside make dev.
|
|
99
99
|
# SAME_SERVER_POOL_BUDGET=24
|
|
100
100
|
|
|
101
|
+
# Transaction lifetime guardrails (587.0). Loaders run remote/AI/file work outside
|
|
102
|
+
# transactions; these are leak guards and telemetry, not the normal control path.
|
|
103
|
+
# idle_in_transaction_session_timeout applied to every Dataplane engine (seconds, 0 = off).
|
|
104
|
+
DB_IDLE_IN_TRANSACTION_TIMEOUT_SECONDS=60
|
|
105
|
+
# Warn (sanitized: loader/phase/duration/counts/correlation only) when one transaction exceeds this.
|
|
106
|
+
DB_SLOW_TRANSACTION_WARN_SECONDS=5
|
|
107
|
+
# Upper bound of rows per Evidence bulk load request (atomic below the bound; larger fails before mutation).
|
|
108
|
+
EVIDENCE_LOAD_MAX_ITEMS=500
|
|
109
|
+
|
|
101
110
|
# =============================================================================
|
|
102
111
|
# REDIS CONFIGURATION
|
|
103
112
|
# =============================================================================
|
|
@@ -128,6 +137,21 @@ ABAC_POLICY_PARSE_CACHE_MAX_ENTRIES=2048
|
|
|
128
137
|
# AUTHENTICATION CONFIGURATION
|
|
129
138
|
# =============================================================================
|
|
130
139
|
|
|
140
|
+
# MISO secret runtime (583.0): every process calls miso-client init_secrets() once.
|
|
141
|
+
# Unset/local: MISO_AUTH_MODE=local — the SDK keeps this .env/dotenv credential flow.
|
|
142
|
+
# Azure: deployment supplies MISO_AUTH_MODE=azure-managed-identity, MISO_CONTROLLER_URL,
|
|
143
|
+
# MISO_BOOTSTRAP_AUDIENCE (and optional AZURE_CLIENT_ID); Miso-managed secrets
|
|
144
|
+
# (DATABASE_URL, REDIS_URL, ENCRYPTION_KEY, ...) come from the Controller broker,
|
|
145
|
+
# never from this file, and no MISO_CLIENTSECRET is required or returned.
|
|
146
|
+
# Rotation: changed names are reread from the SDK; DB/Redis pools are disposed and
|
|
147
|
+
# the process reports secretRotationRestartRequired until restarted. Invalidation
|
|
148
|
+
# (denial/expiry) stops new secret-dependent work and makes health unhealthy.
|
|
149
|
+
# Health: /health, /api/v1/health and /api/v1/health/platform return HTTP 503 with
|
|
150
|
+
# reasonCode misoTokenUnavailable | misoTokenRejected | misoControllerUnreachable |
|
|
151
|
+
# misoValidationTimeout whenever the Controller does not accept the live client
|
|
152
|
+
# token — in LOCAL_MODE too. These endpoints measure usable application health,
|
|
153
|
+
# not process liveness.
|
|
154
|
+
MISO_AUTH_MODE=local
|
|
131
155
|
# MISO Application Client Credentials (per application)
|
|
132
156
|
# Backend-only: never expose MISO_CLIENTSECRET to the Vite frontend (use VITE_* in app-ui).
|
|
133
157
|
MISO_CLIENTID=kv://dataplane-client-idKeyVault
|
|
@@ -151,7 +175,7 @@ MISO_LOGOUT_URL=/logout
|
|
|
151
175
|
# Environment key sent to miso-controller (e.g. environmentKey on RBAC/register) when not supplied in the payload.
|
|
152
176
|
# Set MISO_PIPELINE_ENV_KEY=dev when the controller installation uses dev (e.g. MISO_CLIENTID=miso-controller-dev-dataplane).
|
|
153
177
|
# If unset, derived from MISO_CLIENTID (e.g. dev from miso-controller-dev-dataplane).
|
|
154
|
-
MISO_PIPELINE_ENV_KEY=
|
|
178
|
+
MISO_PIPELINE_ENV_KEY={PIPELINE_ENV_KEY}
|
|
155
179
|
|
|
156
180
|
# LLM: chat/embed route through governed enterprise-llm only. Provider credentials
|
|
157
181
|
# live on LLM provider external systems + dataplane secret store (not product .env).
|
|
@@ -334,3 +358,12 @@ TRUST_AI_EXPOSURE_GATE_ENABLED=false
|
|
|
334
358
|
# when 346.rules / §17 revisions must invalidate existing certificates without matching rulesVersion.
|
|
335
359
|
CERTIFICATION_DATASOURCE_SCHEMA_VERSION=
|
|
336
360
|
CERTIFICATION_RULES_VERSION=
|
|
361
|
+
|
|
362
|
+
# =============================================================================
|
|
363
|
+
# DIMENSION ABAC ENFORCEMENT (589.0)
|
|
364
|
+
# =============================================================================
|
|
365
|
+
# false (default): Stage 1 dimension ABAC scope services do not enforce
|
|
366
|
+
# external-system/source assignment scope, client-principal system binding or
|
|
367
|
+
# subscription owner scope (RBAC permissions still apply).
|
|
368
|
+
# true: enforce the Dimension ABAC certification rules (2026-09-21).
|
|
369
|
+
DIMENSION_ABAC_ENFORCEMENT_ENABLED=false
|
|
@@ -4,7 +4,7 @@ app:
|
|
|
4
4
|
displayName: 'Miso Controller'
|
|
5
5
|
description: 'Miso is the AI Fabrix in-tenant controller and portal layer for securely operating enterprise AI apps inside a customer’s Azure tenant. It provides Entra ID SSO, RBAC, audit logs, environment/app configuration via schemas, and safe secret handling via Key Vault references—ensuring governance, traceability, and predictable UX across portal, SDK, and CLI.'
|
|
6
6
|
type: webapp
|
|
7
|
-
version: '2.0.
|
|
7
|
+
version: '2.0.83'
|
|
8
8
|
# Image Configuration
|
|
9
9
|
# Set tag to match your build (e.g. aifabrix build miso-controller -t 1.0.0 then tag: 1.0.0)
|
|
10
10
|
# Registry is required so the controller can pull the image (avoids "docker: not found" on the controller host).
|
|
@@ -75,6 +75,29 @@ repository:
|
|
|
75
75
|
# - DATABASE_URL, REDIS_URL, KEYCLOAK_* → auto-generated during Azure install
|
|
76
76
|
# - Other MISO_*, AZURE_*, kv:// → credentials and system parameters
|
|
77
77
|
# - PORT, NODE_ENV, MISO_ENVIRONMENT → set by deployment target
|
|
78
|
+
# - LOCATION → resolved from the platform match below
|
|
79
|
+
|
|
80
|
+
# =============================================================================
|
|
81
|
+
# Platform Resolution (target Azure resource group decides)
|
|
82
|
+
# =============================================================================
|
|
83
|
+
# One controller per installation (MISO_ENVIRONMENT=miso), so the values that vary
|
|
84
|
+
# are stack-level, not per environment: there is no `environments:` section.
|
|
85
|
+
# env.template consumes these names as {NAME}.
|
|
86
|
+
platforms:
|
|
87
|
+
- resource: aifabrix-int-{platform}
|
|
88
|
+
name: aifabrix
|
|
89
|
+
options: [dev, tst, pro]
|
|
90
|
+
configuration:
|
|
91
|
+
- name: LOCATION
|
|
92
|
+
value: 'swedencentral'
|
|
93
|
+
|
|
94
|
+
- resource: aifabrix-ce-*
|
|
95
|
+
name: '*'
|
|
96
|
+
# The group carries no dev|tst|pro token, so the platform is declared.
|
|
97
|
+
platform: dev
|
|
98
|
+
configuration:
|
|
99
|
+
- name: LOCATION
|
|
100
|
+
value: 'swedencentral'
|
|
78
101
|
|
|
79
102
|
configuration:
|
|
80
103
|
# -------------------------------------------------------------------------
|
|
@@ -29,11 +29,6 @@
|
|
|
29
29
|
#
|
|
30
30
|
# =============================================================================
|
|
31
31
|
|
|
32
|
-
# Skip automatic first-time bootstrap on controller startup (default: false).
|
|
33
|
-
# Bootstrap = DB controller row, Keycloak realm/client, admin user, roles (empty DB only).
|
|
34
|
-
# Keep false for normal dev — this is NOT the Azure tenant-activation UI wizard.
|
|
35
|
-
# Set true only for tests that must not mutate Keycloak/DB on startup.
|
|
36
|
-
SKIP_FIRST_TIME_SETUP=false
|
|
37
32
|
|
|
38
33
|
# Force onboarding to run even when a controller row already exists (default: unset/false).
|
|
39
34
|
# Prefer SQL/API one-shot: POST /api/v1/controller/force-onboarding (controller:admin) or set
|
|
@@ -46,11 +41,12 @@ SKIP_FIRST_TIME_SETUP=false
|
|
|
46
41
|
ONBOARDING_CONTROLLER_KEY=miso-controller
|
|
47
42
|
|
|
48
43
|
# Infrastructure/service name used by controller/onboarding flows
|
|
49
|
-
INFRASTRUCTURE_NAME
|
|
44
|
+
INFRASTRUCTURE_NAME=${DEV_USERNAME}.${DEV_ROOT_DOMAIN}
|
|
50
45
|
|
|
51
46
|
# Azure region (required for first-time onboarding: controller record / provisioning metadata).
|
|
52
47
|
# Use the region you deploy to (e.g. westeurope, eastus, northeurope). Single env name: LOCATION.
|
|
53
|
-
|
|
48
|
+
# Resolved from the platform match; see `platforms` in application.yaml.
|
|
49
|
+
LOCATION={LOCATION}
|
|
54
50
|
|
|
55
51
|
# Required for admin user creation during onboarding
|
|
56
52
|
# Password for the initial administrator user (username: admin)
|
|
@@ -59,23 +55,20 @@ ONBOARDING_ADMIN_PASSWORD=kv://miso-controller-admin-passwordKeyVault
|
|
|
59
55
|
# Optional admin email for onboarding (default: admin@aifabrix.ai)
|
|
60
56
|
ONBOARDING_ADMIN_EMAIL=kv://miso-controller-admin-emailKeyVault
|
|
61
57
|
|
|
62
|
-
#
|
|
63
|
-
#
|
|
64
|
-
#
|
|
65
|
-
#
|
|
66
|
-
#
|
|
58
|
+
# Which environments onboarding creates (plan 240.0). This is the only onboarding environment
|
|
59
|
+
# variable: false or unset creates `dev`, true creates `dev`, `tst` and `pro`.
|
|
60
|
+
#
|
|
61
|
+
# `dev` is always created — every edition is entitled to it, and the installation registers its
|
|
62
|
+
# own applications into it. What `dev` *is* follows the licence rather than this flag: in the
|
|
63
|
+
# shared model it runs on the installation stack and needs no infrastructure of its own; in the
|
|
64
|
+
# dedicated model it waits at lifecycle `created` for an administrator.
|
|
65
|
+
#
|
|
66
|
+
# Replaces ONBOARDING_CREATE_DEV_ENV, ONBOARDING_CREATE_MISO_ENV and SKIP_FIRST_TIME_SETUP,
|
|
67
|
+
# which expressed one decision in four places and disagreed about its default. Whether the
|
|
68
|
+
# installation environment is deployed during onboarding now follows ONBOARDING_MODE: a hosted
|
|
69
|
+
# (saasDirect) installation deploys it, a customer-owned one leaves it to the activation wizard.
|
|
67
70
|
ONBOARDING_FULL_PLATFORM=false
|
|
68
71
|
|
|
69
|
-
# [customerOwned] When true, run Azure env deploy for onboarding envs (SDK modules). Default false —
|
|
70
|
-
# Marketplace already provisions infra; TA owns customer env deploy.
|
|
71
|
-
# [saasDirect] Keep false: eSystems already deployed the required runtime services.
|
|
72
|
-
ONBOARDING_CREATE_MISO_ENV=false
|
|
73
|
-
|
|
74
|
-
# [customerOwned] Set to true to create both miso and dev environments during onboarding
|
|
75
|
-
# When false (default), only the miso environment is created (ignored when ONBOARDING_FULL_PLATFORM=true)
|
|
76
|
-
# [saasDirect] Keep false in the customer container.
|
|
77
|
-
ONBOARDING_CREATE_DEV_ENV=true
|
|
78
|
-
|
|
79
72
|
# =============================================================================
|
|
80
73
|
# APPLICATION ENVIRONMENT
|
|
81
74
|
# =============================================================================
|
|
@@ -226,12 +219,7 @@ MISO_CLIENTSECRET=kv://miso-controller-client-secretKeyVault
|
|
|
226
219
|
#
|
|
227
220
|
# ENTRA_ID_CENTRAL_CALLBACK_URI — Web redirect on the vendor app; must point at
|
|
228
221
|
# Mori (e.g. …/entra-id-concent/callback), not the SPA or controller.
|
|
229
|
-
|
|
230
|
-
# between controller and Mori callback service; same value on Mori and controller.
|
|
231
|
-
#
|
|
232
|
-
# Delegated Graph (second redirect URI on the same vendor app): see section below.
|
|
233
|
-
ENTRA_CALLBACK_STATE_SECRET=kv://entra-callback-state-secret
|
|
234
|
-
ENTRA_ID_CENTRAL_CALLBACK_URI=https://dev01.aifabrix.dev/mori/entra-id-concent/callback
|
|
222
|
+
ENTRA_ID_CENTRAL_CALLBACK_URI=url://mori-controller-public/entra-id-concent/callback
|
|
235
223
|
ENTRA_ID_CLIENT_ID=kv://entra-client-idKeyVault
|
|
236
224
|
ENTRA_ID_CLIENT_SECRET=kv://entra-client-secretKeyVault
|
|
237
225
|
|
|
@@ -285,7 +273,7 @@ SKIP_DB_REDEPLOY=true
|
|
|
285
273
|
# database — DB/RBAC only, no Docker from controller; dashboard (default dev)
|
|
286
274
|
#
|
|
287
275
|
# Missing or invalid value defaults to azure (wizard + Azure credentials).
|
|
288
|
-
#
|
|
276
|
+
# First-time bootstrap is separate from the activation wizard.
|
|
289
277
|
# NOTE: there is no `saas` value. eSystems-hosted SaaS runs DEPLOYMENT=azure with
|
|
290
278
|
# ONBOARDING_MODE=saasDirect (see next section).
|
|
291
279
|
DEPLOYMENT=database
|
|
@@ -375,7 +363,7 @@ MORI_LICENSE_ISSUER=mori-controller
|
|
|
375
363
|
# =============================================================================
|
|
376
364
|
# Must match a Web redirect URI on the vendor multi-tenant app and Mori’s route
|
|
377
365
|
# …/entra-graph-delegated/callback. Shared pro Mori addon (CICD *-miso-rg):
|
|
378
|
-
ENTRA_GRAPH_DELEGATED_REDIRECT_URI=
|
|
366
|
+
ENTRA_GRAPH_DELEGATED_REDIRECT_URI=url://mori-controller-public/entra-graph-delegated/callback
|
|
379
367
|
|
|
380
368
|
# Optional delegated Graph scopes for GET …/graph-auth-url (space- or comma-separated).
|
|
381
369
|
# ENTRA_GRAPH_DELEGATED_SCOPES=https://graph.microsoft.com/Application.ReadWrite.All,https://graph.microsoft.com/Group.ReadWrite.All,https://graph.microsoft.com/Synchronization.ReadWrite.All,openid,profile,offline_access
|
|
@@ -386,12 +374,11 @@ ENTRA_GRAPH_DELEGATED_REDIRECT_URI=https://dev01.aifabrix.dev/mori/entra-graph-d
|
|
|
386
374
|
# =============================================================================
|
|
387
375
|
# MORI SERVICE CONFIGURATION
|
|
388
376
|
# =============================================================================
|
|
389
|
-
# Shared Mori
|
|
390
|
-
#
|
|
391
|
-
#
|
|
392
|
-
#
|
|
377
|
+
# Shared Mori. Local `url://mori-controller-public` only works when a local Mori app is
|
|
378
|
+
# registered and running for this developer.
|
|
379
|
+
# MORI_API_KEY is per-installation and is minted by POST /marketplace/bootstrap; it is written
|
|
380
|
+
# here by the controller after registration, not provisioned ahead of it.
|
|
393
381
|
MORI_BASE_URL=kv://mori-controller-web-server-url
|
|
394
|
-
MORI_CALLBACK_API_KEY=kv://mori-callback-api-keyKeyVault
|
|
395
382
|
MORI_API_KEY=kv://mori-controller-api-keyKeyVault
|
|
396
383
|
|
|
397
384
|
# =============================================================================
|
|
@@ -98,7 +98,7 @@ openapi:
|
|
|
98
98
|
|
|
99
99
|
# --- Optional sections: uncomment or delete as needed ---
|
|
100
100
|
#
|
|
101
|
-
# Query-time
|
|
101
|
+
# Query-time: public list/get/filter are served from persisted Dataplane DB — not live external HTTP on every read.
|
|
102
102
|
# External APIs: sync jobs and create/update/delete execution paths. CIP fetch→map is for ingestion, writes, or orchestration — populate storage before expecting query APIs.
|
|
103
103
|
#
|
|
104
104
|
# CIP (Composable Integration Pipeline): fetch → [paginate] → [map] → [filter] → output
|
|
@@ -106,12 +106,13 @@ openapi:
|
|
|
106
106
|
# execution.cip requires version "1.0" and operations.<name>.steps ($defs.cipDefinition). Custom operation keys must match the same pattern as capabilities[].
|
|
107
107
|
#
|
|
108
108
|
{{#if (eq schemaEntityType "recordStorage")}}
|
|
109
|
-
# sync: external APIs run during
|
|
109
|
+
# sync: external APIs run during synchronization. New automatic schedules default to calendar-month cadence in UTC.
|
|
110
|
+
# Omit schedule to retain manual-only synchronization. Set enabled: false for total synchronization disable; retained schedule and incremental settings are preserved.
|
|
110
111
|
# sync:
|
|
111
|
-
#
|
|
112
|
-
#
|
|
113
|
-
#
|
|
114
|
-
#
|
|
112
|
+
# enabled: true
|
|
113
|
+
# mode: pull
|
|
114
|
+
# schedule: "@monthly"
|
|
115
|
+
# batchSize: 500
|
|
115
116
|
# validation: structural / pre-persistence checks; quality: post-mapping acceptance (e.g. rejectIf) — see schema when you enable them.
|
|
116
117
|
# capabilities: standard names list, get, create, update, delete + custom names matching ^[a-z][a-zA-Z0-9]*$; must match execution.cip.operations / openapi.operations you implement.
|
|
117
118
|
# capabilities: [list, get]
|