@aifabrix/builder 2.59.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.
Files changed (55) hide show
  1. package/lib/agent-kit/git-identity.js +180 -0
  2. package/lib/agent-kit/setup.js +3 -0
  3. package/lib/agent-kit/start.js +45 -1
  4. package/lib/api/role-assistant-test-job.api.js +60 -0
  5. package/lib/api/work-search.api.js +13 -6
  6. package/lib/app/deploy.js +8 -1
  7. package/lib/app/show-display.js +1 -0
  8. package/lib/app/show-online.js +15 -0
  9. package/lib/build/standard-docker-build.js +4 -1
  10. package/lib/cli/setup-app.js +14 -1
  11. package/lib/cli/setup-utility.js +24 -1
  12. package/lib/commands/role-assistant.js +7 -0
  13. package/lib/core/env-platform-expand.js +93 -0
  14. package/lib/core/secrets-env-content.js +37 -3
  15. package/lib/deployment/installation/azure-infra-stage.js +3 -1
  16. package/lib/deployment/installation/infra-catalog.js +2 -5
  17. package/lib/generator/builders.js +17 -0
  18. package/lib/generator/helpers.js +23 -2
  19. package/lib/generator/index.js +10 -6
  20. package/lib/role-assistant/test-cases-search.js +3 -0
  21. package/lib/role-assistant/test-job-runner.js +125 -0
  22. package/lib/role-assistant/test-runner-search.js +44 -2
  23. package/lib/schema/application-schema.json +193 -2
  24. package/lib/schema/infra-parameter.schema.json +139 -33
  25. package/lib/schema/infra.parameter.yaml +28 -28
  26. package/lib/schema/infrastructure-schema.json +10 -35
  27. package/lib/utils/compose-generate-docker-compose.js +12 -0
  28. package/lib/utils/docker-build.js +29 -8
  29. package/lib/utils/docker-manifest-public-port.js +36 -0
  30. package/lib/utils/platform-resolution.js +226 -0
  31. package/lib/utils/resolve-docker-image-ref.js +8 -3
  32. package/package.json +2 -2
  33. package/templates/README.md +2 -1
  34. package/templates/agent-kit/agent-kit.yaml +4 -1
  35. package/templates/agent-kit/instructions/AGENTKIT.md +1 -1
  36. package/templates/agent-kit/instructions/root.AGENTS.md +2 -0
  37. package/templates/agent-kit/skills/aifabrix-connected-system/SKILL.md +33 -1
  38. package/templates/agent-kit/skills/aifabrix-connected-system/scripts/delivery-verdict.js +176 -0
  39. package/templates/agent-kit/skills/aifabrix-plan/SKILL.md +3 -0
  40. package/templates/agent-kit/skills/aifabrix-plan/references/interaction.md +10 -3
  41. package/templates/agent-kit/skills/aifabrix-prove/SKILL.md +22 -0
  42. package/templates/agent-kit/skills/aifabrix-role-assistant/SKILL.md +21 -0
  43. package/templates/agent-kit/skills/shared/feedback.md +31 -0
  44. package/templates/agent-kit/skills/shared/hosts.md +13 -3
  45. package/templates/agent-kit/skills/shared/status.md +85 -0
  46. package/templates/agent-kit/workspace/BUILDER_IMPROVEMENT_FINDINGS.md +27 -0
  47. package/templates/applications/builder-api/application.yaml +1 -1
  48. package/templates/applications/dataplane/application.yaml +30 -2
  49. package/templates/applications/dataplane/env.template +37 -4
  50. package/templates/applications/miso-controller/application.yaml +24 -1
  51. package/templates/applications/miso-controller/env.template +21 -34
  52. package/templates/marketplace/main.json +70 -222
  53. package/templates/python/Dockerfile.hbs +2 -0
  54. package/templates/typescript/Dockerfile.hbs +2 -0
  55. package/templates/typescript/docker-compose.hbs +12 -0
@@ -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
@@ -50,7 +45,8 @@ 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
- LOCATION=westeurope
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
- # [customerOwned] Create development environment during onboarding (default: false)
63
- # Full platform: create miso, dev, tst, and pro during onboarding (default: false)
64
- # When true, supersedes ONBOARDING_CREATE_DEV_ENV for which extra environments are created
65
- # [saasDirect] Keep false in the customer container — extra environments belong to the
66
- # eSystems deploy path, not the customer wizard.
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
- # ENTRA_CALLBACK_STATE_SECRET — Shared HMAC secret (min 16 chars) for OAuth state
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
- # Bootstrap (SKIP_FIRST_TIME_SETUP=false) is separate from the activation wizard.
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=https://dev01.aifabrix.dev/mori/entra-graph-delegated/callback
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 (handoff poll + Entra callback). Local `url://mori-controller-public`
390
- # only works when a local Mori app is registered and running for this developer.
391
- # MORI_CALLBACK_API_KEY must be the same secret as Mori MORI_CONTROLLER_CALLBACK_API_KEY
392
- # (both resolve from kv://mori-callback-api-keyKeyVault — do not generate separate values).
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
  # =============================================================================