@salsita-ai/sdk 0.50.0-develop.b7caacb493 → 0.50.0-develop.b929a82a82
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/README.md +8 -2
- package/dist/admin/AdminShell.js +1 -1
- package/dist/admin/common/admin-interface.d.ts +1 -1
- package/dist/admin/legacy-admin/Application.js +1 -1
- package/dist/application/index.d.ts +1 -0
- package/dist/application/index.js +1 -1
- package/dist/application/mount-application.d.ts +1 -1
- package/dist/application/mount-application.js +1 -1
- package/dist/application/mount-configurator.d.ts +19 -0
- package/dist/application/mount-configurator.js +1 -0
- package/dist/application/mounted-application-runtime.d.ts +4 -0
- package/dist/application/mounted-application-runtime.js +1 -0
- package/dist/application/register-web-component.d.ts +2 -0
- package/dist/application/register-web-component.js +1 -0
- package/dist/application-spec/caching/index.d.ts +6 -1
- package/dist/application-spec/caching/index.js +1 -1
- package/dist/application-spec/core/enhanced-json-value.d.ts +2 -31
- package/dist/application-spec/core/enhanced-json-value.js +1 -1
- package/dist/application-spec/core/index.d.ts +1 -3
- package/dist/application-spec/core/index.js +1 -1
- package/dist/application-spec/core/json-schema.d.ts +2 -52
- package/dist/application-spec/core/markers/index.d.ts +1 -1
- package/dist/application-spec/core/markers/index.js +1 -1
- package/dist/application-spec/core/markers/msg-marker.d.ts +2 -28
- package/dist/application-spec/core/markers/msg-marker.js +1 -1
- package/dist/application-spec/core/markers/raw-eval-write-marker.d.ts +1 -1
- package/dist/application-spec/core/markers/raw-eval-write-marker.js +1 -1
- package/dist/application-spec/core/markers/raw-read-write-marker.js +1 -1
- package/dist/application-spec/errors/diagnostic-codes.d.ts +9 -1
- package/dist/application-spec/errors/diagnostic-codes.js +1 -1
- package/dist/application-spec/errors/diagnostic-messages.d.ts +16 -1
- package/dist/application-spec/errors/diagnostic-messages.js +1 -1
- package/dist/application-spec/generate-application/code/domain-runtime-files.d.ts +0 -19
- package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
- package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
- package/dist/application-spec/generate-application/code/templates/gitignore.js +2 -1
- package/dist/application-spec/generate-application/code/templates/index.d.ts +2 -6
- package/dist/application-spec/generate-application/code/templates/index.js +1 -1
- package/dist/application-spec/generate-application/code/templates/lingui-rc.js +5 -4
- package/dist/application-spec/generate-application/code/templates/skills/core/cli.d.ts +2 -0
- package/dist/application-spec/generate-application/code/templates/skills/core/cli.js +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/core/index.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/core/index.js +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/core/sdk.d.ts +2 -0
- package/dist/application-spec/generate-application/code/templates/skills/core/sdk.js +117 -0
- package/dist/application-spec/generate-application/code/templates/skills/core/workflow.d.ts +2 -0
- package/dist/application-spec/generate-application/code/templates/skills/core/workflow.js +40 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/application-states/application-states.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/application-states/application-states.js +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/application-states/index.d.ts +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/application-states/index.js +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/application-states/navigation.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/application-states/navigation.js +48 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/application-states/presets.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/application-states/presets.js +38 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/application-states/selection.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/application-states/selection.js +35 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/application-states/views-and-tools.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/application-states/views-and-tools.js +61 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/custom-layout.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/custom-layout.js +7 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/finalization-actions.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/finalization-actions.js +79 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/index.d.ts +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/index.js +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/messages.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/messages.js +52 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/pages.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/pages.js +49 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/scene-and-safe-area.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/scene-and-safe-area.js +62 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/slots.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/slots.js +40 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/tabs-and-steps.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/tabs-and-steps.js +65 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/toolbar-actions.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/toolbar-actions.js +58 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/view-mode.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/view-mode.js +41 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/control-components.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/control-components.js +24 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/control-hooks.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/control-hooks.js +44 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/custom-controls.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/custom-controls.js +74 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/domain-controls.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/domain-controls.js +8 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/index.d.ts +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/index.js +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/scene-controls.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/scene-controls.js +48 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/actions.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/actions.js +64 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/components.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/components.js +62 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/domain-model.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/domain-model.js +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/entities-and-relations.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/entities-and-relations.js +59 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/expressions.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/expressions.js +46 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/index.d.ts +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/index.js +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/transformers.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/transformers.js +43 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/validation-and-repair.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/validation-and-repair.js +30 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/features.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/features.js +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/index.d.ts +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/index.js +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/inspection.d.ts +2 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/inspection.js +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/localization.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/localization.js +87 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/state/index.d.ts +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/state/index.js +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/state/slices.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/state/slices.js +48 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/state/state.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/state/state.js +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/state/updates.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/state/updates.js +39 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/state/violations.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/state/violations.js +36 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/variants.d.ts +2 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/variants.js +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/webhooks.d.ts +2 -0
- package/dist/application-spec/generate-application/code/templates/skills/features/webhooks.js +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/guide.d.ts +68 -0
- package/dist/application-spec/generate-application/code/templates/skills/guide.js +18 -0
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill-bundle.d.ts +10 -0
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill-bundle.js +14 -0
- package/dist/application-spec/generate-application/code/templates/skills/phx-members-without-guide.d.ts +9 -0
- package/dist/application-spec/generate-application/code/templates/skills/phx-members-without-guide.js +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/asset-conversion.d.ts +2 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/asset-conversion.js +23 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/evaluate.d.ts +2 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/evaluate.js +39 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/feedback.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/feedback.js +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/index.d.ts +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/index.js +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/report.d.ts +2 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/report.js +7 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/send.d.ts +2 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/send.js +2 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/finalization.d.ts +2 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/finalization.js +2 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/build.d.ts +2 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/build.js +25 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/direction.d.ts +2 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/direction.js +26 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/first-draft.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/first-draft.js +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/handoff.d.ts +2 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/handoff.js +7 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/index.d.ts +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/index.js +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/index.d.ts +9 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/index.js +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/model-migration.d.ts +2 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/model-migration.js +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/{phoenix-skill.d.ts → processes/operations.d.ts} +2 -1
- package/dist/application-spec/generate-application/code/templates/skills/processes/operations.js +2 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/planning.d.ts +2 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/planning.js +5 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/review/appearance.d.ts +2 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/review/appearance.js +46 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/review/code.d.ts +2 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/review/code.js +2 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/review/hand-over.d.ts +2 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/review/hand-over.js +6 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/review/index.d.ts +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/review/index.js +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/review/review.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/review/review.js +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/review/visual-inspection.d.ts +2 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/review/visual-inspection.js +13 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/specification/branding.d.ts +2 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/specification/branding.js +20 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/specification/catalog.d.ts +2 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/specification/catalog.js +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/specification/index.d.ts +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/specification/index.js +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/specification/product-definition.d.ts +2 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/specification/product-definition.js +22 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/specification/specification.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/specification/specification.js +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/specification/ux-guidelines.d.ts +2 -0
- package/dist/application-spec/generate-application/code/templates/skills/processes/specification/ux-guidelines.js +25 -0
- package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +51 -258
- package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +3 -58
- package/dist/application-spec/generate-application/code/templates/skills/sdk-subpath-imports.d.ts +9 -0
- package/dist/application-spec/generate-application/code/templates/skills/sdk-subpath-imports.js +1 -0
- package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.d.ts +1 -1
- package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.js +1 -1
- package/dist/application-spec/generate-application/code/templates/story/wrapper.js +2 -4
- package/dist/application-spec/generate-application/code/templates/tsconfig.js +2 -1
- package/dist/application-spec/generate-application/index.d.ts +1 -7
- package/dist/application-spec/generate-application/index.js +1 -1
- package/dist/application-spec/parse-application-files/merge/merged-assistant.d.ts +13 -4
- package/dist/application-spec/parse-application-files/merge/merged-assistant.js +1 -1
- package/dist/application-spec/parse-application-files/merge/merged-infra.d.ts +4 -11
- package/dist/application-spec/parse-application-files/merge/merged-transformers.d.ts +2 -4
- package/dist/application-spec/parse-application-files/parse-application-files.js +1 -1
- package/dist/application-spec/parse-application-files/raw-spec/raw-acl.d.ts +2 -2
- package/dist/application-spec/parse-application-files/raw-spec/raw-acl.js +1 -1
- package/dist/application-spec/parse-application-files/raw-spec/raw-admin-pages.d.ts +3 -24
- package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +25 -20
- package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
- package/dist/application-spec/parse-application-files/raw-spec/raw-expressions.d.ts +1 -1
- package/dist/application-spec/parse-application-files/raw-spec/raw-expressions.js +1 -1
- package/dist/application-spec/parse-application-files/raw-spec/raw-resources.d.ts +19 -64
- package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-pages.d.ts +3 -20
- package/dist/application-spec/parse-application-files/spec/application/admin-spec/states.d.ts +3 -5
- package/dist/application-spec/parse-application-files/spec/application/configurator-spec/states.d.ts +3 -8
- package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding.d.ts +3 -13
- package/dist/application-spec/parse-application-files/spec/components/bindings/write-binding.d.ts +4 -32
- package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +4 -10
- package/dist/application-spec/parse-application-files/spec/components/components.d.ts +3 -4
- package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -2
- package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
- package/dist/application-spec/parse-application-files/spec/components/sdk-component-entry.d.ts +1 -1
- package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +2 -3
- package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
- package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +2 -3
- package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +2 -2
- package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +7 -29
- package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
- package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.d.ts +4 -71
- package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
- package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +2 -2
- package/dist/application-spec/parse-application-files/spec/invariants/invariant.d.ts +5 -21
- package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +4 -14
- package/dist/application-spec/parse-application-files/spec/model/aliases.d.ts +3 -9
- package/dist/application-spec/parse-application-files/spec/model/common-types.d.ts +6 -14
- package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +6 -31
- package/dist/application-spec/parse-application-files/spec/model/entity-types.d.ts +3 -8
- package/dist/application-spec/parse-application-files/spec/model/model-version-key.d.ts +3 -3
- package/dist/application-spec/parse-application-files/spec/model/names/action-name.d.ts +3 -7
- package/dist/application-spec/parse-application-files/spec/model/names/alias-name.d.ts +3 -7
- package/dist/application-spec/parse-application-files/spec/model/names/entity-or-alias-name.d.ts +3 -8
- package/dist/application-spec/parse-application-files/spec/model/names/entity-type-name.d.ts +3 -8
- package/dist/application-spec/parse-application-files/spec/model/names/expression-name.d.ts +3 -6
- package/dist/application-spec/parse-application-files/spec/model/names/instance-name.d.ts +3 -7
- package/dist/application-spec/parse-application-files/spec/model/names/invariant-name.d.ts +3 -3
- package/dist/application-spec/parse-application-files/spec/model/names/shape-property-name.d.ts +3 -11
- package/dist/application-spec/parse-application-files/spec/model/names/violation-type-name.d.ts +3 -3
- package/dist/application-spec/parse-application-files/spec/model/presets.d.ts +6 -29
- package/dist/application-spec/parse-application-files/spec/sections/actions.d.ts +6 -23
- package/dist/application-spec/parse-application-files/spec/sections/app-metadata.d.ts +3 -18
- package/dist/application-spec/parse-application-files/spec/sections/application-version.d.ts +3 -7
- package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
- package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant.js +1 -1
- package/dist/application-spec/parse-application-files/spec/sections/data-spec/chunks.d.ts +6 -23
- package/dist/application-spec/parse-application-files/spec/sections/data-spec/custom-data-spec.d.ts +1 -16
- package/dist/application-spec/parse-application-files/spec/sections/data-spec/data-entry-key.d.ts +3 -9
- package/dist/application-spec/parse-application-files/spec/sections/data-spec/data-spec.d.ts +1 -10
- package/dist/application-spec/parse-application-files/spec/sections/data-spec/swatch-data-spec.d.ts +1 -14
- package/dist/application-spec/parse-application-files/spec/sections/state-value.d.ts +3 -7
- package/dist/application-spec/parse-application-files/spec/sections/theme.d.ts +3 -10
- package/dist/application-spec/parse-application-files/spec/sections/transformers.d.ts +4 -11
- package/dist/application-spec/parse-application-files/spec/sections/ui.d.ts +3 -12
- package/dist/client/authorized-client.d.ts +4 -2
- package/dist/client/authorized-client.js +1 -1
- package/dist/client/contract.d.ts +34 -4
- package/dist/client/contract.js +1 -1
- package/dist/client/index.d.ts +1 -1
- package/dist/client/local-authorized-client.d.ts +3 -1
- package/dist/client/local-authorized-client.js +1 -1
- package/dist/client/memory-authorized-client.d.ts +4 -1
- package/dist/client/memory-authorized-client.js +1 -1
- package/dist/client/phoenix-api.d.ts +279 -2
- package/dist/configurator/ConfiguratorApp.js +1 -1
- package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
- package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-annotation.d.ts +31 -0
- package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +136 -24
- package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
- package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +21 -4
- package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
- package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.d.ts +43 -0
- package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.js +1 -1
- package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +70 -56
- package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
- package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +38 -11
- package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
- package/dist/configurator/application-runtime/extensions/systems/graphql-system/violations.d.ts +40 -0
- package/dist/configurator/application-runtime/extensions/systems/graphql-system/violations.js +1 -0
- package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/capture-next-frame.d.ts +10 -0
- package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/capture-next-frame.js +1 -0
- package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.d.ts +8 -0
- package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.js +1 -1
- package/dist/configurator/application-runtime/extensions/systems/index.d.ts +3 -2
- package/dist/configurator/application-runtime/extensions/systems/index.js +1 -1
- package/dist/configurator/common/configurator-interface.d.ts +3 -3
- package/dist/configurator/common/configurator-interface.js +1 -1
- package/dist/configurator/configurator-context/configurator-hooks/index.d.ts +0 -1
- package/dist/configurator/configurator-context/configurator-hooks/index.js +1 -1
- package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.js +1 -1
- package/dist/configurator/configurator-context/index.d.ts +0 -5
- package/dist/configurator/configurator-context/index.js +1 -1
- package/dist/configurator/pages/ConfiguratorNotFoundPage.js +1 -1
- package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
- package/dist/configurator/pages/NewConfiguratorPage.js +1 -1
- package/dist/configurator/pages/default-configurator-elements.d.ts +6 -2
- package/dist/configurator/pages/default-configurator-elements.js +1 -1
- package/dist/configurator/pages/error-boundaries/BuiltInGeneralErrorFallback.d.ts +5 -0
- package/dist/configurator/pages/error-boundaries/BuiltInGeneralErrorFallback.js +1 -0
- package/dist/configurator/pages/error-boundaries/DevContextFallback.js +1 -1
- package/dist/configurator/pages/error-boundaries/DevLoadingFallback.js +1 -1
- package/dist/configurator/pages/error-boundaries/index.d.ts +1 -0
- package/dist/configurator/pages/error-boundaries/index.js +1 -1
- package/dist/configurator/pages/provider-slots/ContainerSlotProvider.d.ts +3 -0
- package/dist/configurator/pages/provider-slots/ContainerSlotProvider.js +1 -0
- package/dist/configurator/pages/provider-slots/LoaderSlotProvider.d.ts +3 -0
- package/dist/configurator/pages/provider-slots/LoaderSlotProvider.js +1 -0
- package/dist/configurator/pages/provider-slots/MessageHostSlotProvider.d.ts +3 -0
- package/dist/configurator/pages/provider-slots/MessageHostSlotProvider.js +1 -0
- package/dist/configurator/pages/provider-slots/SceneResourcesSlotProvider.d.ts +3 -0
- package/dist/configurator/pages/provider-slots/SceneResourcesSlotProvider.js +1 -0
- package/dist/configurator/pages/provider-slots/ThemeSlotProvider.d.ts +3 -0
- package/dist/configurator/pages/provider-slots/ThemeSlotProvider.js +1 -0
- package/dist/configurator/pages/provider-slots/configurator-provider-slot-elements.d.ts +3 -0
- package/dist/configurator/pages/provider-slots/configurator-provider-slot-elements.js +1 -0
- package/dist/configurator/pages/provider-slots/index.d.ts +6 -0
- package/dist/configurator/pages/provider-slots/index.js +1 -0
- package/dist/configurator/pages/ui-elements/BuiltInInvalidDeploymentReload.d.ts +2 -0
- package/dist/configurator/pages/ui-elements/BuiltInInvalidDeploymentReload.js +1 -0
- package/dist/configurator/pages/ui-elements/configurator-ui-elements.d.ts +3 -0
- package/dist/configurator/pages/ui-elements/configurator-ui-elements.js +1 -0
- package/dist/configurator/pages/ui-elements/index.d.ts +2 -0
- package/dist/configurator/pages/ui-elements/index.js +1 -0
- package/dist/configurator/scene/cameras/CameraPadding.js +1 -1
- package/dist/configurator/ui/assistant/AssistantChips.d.ts +10 -0
- package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
- package/dist/configurator/ui/assistant/AssistantComposer.d.ts +6 -0
- package/dist/configurator/ui/assistant/AssistantComposer.js +2 -1
- package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
- package/dist/configurator/ui/assistant/AssistantThread.d.ts +4 -3
- package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
- package/dist/configurator/ui/assistant/alert/AssistantAlert.d.ts +4 -1
- package/dist/configurator/ui/assistant/alert/AssistantAlert.js +1 -1
- package/dist/configurator/ui/assistant/annotation/AnnotationBadge.d.ts +9 -0
- package/dist/configurator/ui/assistant/annotation/AnnotationBadge.js +1 -0
- package/dist/configurator/ui/assistant/annotation/AnnotationOverlay.d.ts +6 -0
- package/dist/configurator/ui/assistant/annotation/AnnotationOverlay.js +1 -0
- package/dist/configurator/ui/assistant/annotation/AnnotationPin.d.ts +14 -0
- package/dist/configurator/ui/assistant/annotation/AnnotationPin.js +1 -0
- package/dist/configurator/ui/assistant/annotation/AnnotationViewer.d.ts +12 -0
- package/dist/configurator/ui/assistant/annotation/AnnotationViewer.js +1 -0
- package/dist/configurator/ui/assistant/annotation/MessageAnnotations.d.ts +11 -0
- package/dist/configurator/ui/assistant/annotation/MessageAnnotations.js +1 -0
- package/dist/configurator/ui/assistant/annotation/annotation-host-context.d.ts +5 -0
- package/dist/configurator/ui/assistant/annotation/annotation-host-context.js +1 -0
- package/dist/configurator/ui/assistant/annotation/annotation-layout.d.ts +26 -0
- package/dist/configurator/ui/assistant/annotation/annotation-layout.js +1 -0
- package/dist/configurator/ui/assistant/annotation/editor/AnnotationComment.d.ts +15 -0
- package/dist/configurator/ui/assistant/annotation/editor/AnnotationComment.js +1 -0
- package/dist/configurator/ui/assistant/annotation/editor/AnnotationEditor.d.ts +18 -0
- package/dist/configurator/ui/assistant/annotation/editor/AnnotationEditor.js +1 -0
- package/dist/configurator/ui/assistant/annotation/editor/annotation-drawing.d.ts +22 -0
- package/dist/configurator/ui/assistant/annotation/editor/annotation-drawing.js +1 -0
- package/dist/configurator/ui/assistant/annotation/editor/annotation-pins.d.ts +22 -0
- package/dist/configurator/ui/assistant/annotation/editor/annotation-pins.js +1 -0
- package/dist/configurator/ui/assistant/annotation/editor/flatten-annotation.d.ts +17 -0
- package/dist/configurator/ui/assistant/annotation/editor/flatten-annotation.js +1 -0
- package/dist/configurator/ui/assistant/annotation/editor/index.d.ts +1 -0
- package/dist/configurator/ui/assistant/annotation/editor/index.js +1 -0
- package/dist/configurator/ui/assistant/annotation/index.d.ts +4 -0
- package/dist/configurator/ui/assistant/annotation/index.js +1 -0
- package/dist/configurator/ui/assistant/annotation/prefers-reduced-motion.d.ts +2 -0
- package/dist/configurator/ui/assistant/annotation/prefers-reduced-motion.js +1 -0
- package/dist/configurator/ui/assistant/annotation/use-end-on-unmount.d.ts +6 -0
- package/dist/configurator/ui/assistant/annotation/use-end-on-unmount.js +1 -0
- package/dist/configurator/ui/assistant/assistant-failure.d.ts +15 -7
- package/dist/configurator/ui/assistant/assistant-failure.js +1 -1
- package/dist/configurator/ui/assistant/attachments/MessageImages.d.ts +19 -0
- package/dist/configurator/ui/assistant/attachments/MessageImages.js +1 -0
- package/dist/configurator/ui/assistant/attachments/index.d.ts +2 -0
- package/dist/configurator/ui/assistant/attachments/index.js +1 -0
- package/dist/configurator/ui/assistant/attachments/prepare-image.d.ts +24 -0
- package/dist/configurator/ui/assistant/attachments/prepare-image.js +1 -0
- package/dist/configurator/ui/assistant/composer/composer-frame.d.ts +15 -0
- package/dist/configurator/ui/assistant/composer/composer-frame.js +1 -0
- package/dist/configurator/ui/assistant/composer/index.d.ts +1 -0
- package/dist/configurator/ui/assistant/composer/index.js +1 -0
- package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -1
- package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -1
- package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.d.ts +26 -0
- package/dist/configurator/ui/assistant/form-elements/FormNumber.js +1 -1
- package/dist/configurator/ui/assistant/index.d.ts +1 -0
- package/dist/configurator/ui/assistant/index.js +1 -1
- package/dist/configurator/ui/assistant/popover/AssistantPopover.d.ts +24 -0
- package/dist/configurator/ui/assistant/popover/AssistantPopover.js +1 -0
- package/dist/configurator/ui/assistant/popover/index.d.ts +1 -0
- package/dist/configurator/ui/assistant/popover/index.js +1 -0
- package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.js +1 -1
- package/dist/configurator/ui/assistant/reference-link/reference-styles.js +1 -1
- package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.d.ts +1 -1
- package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.js +1 -1
- package/dist/configurator/ui/assistant/screenshots/index.d.ts +1 -0
- package/dist/configurator/ui/assistant/screenshots/index.js +1 -1
- package/dist/configurator/ui/assistant/screenshots/tool-screenshots.d.ts +6 -4
- package/dist/configurator/ui/assistant/screenshots/tool-screenshots.js +1 -1
- package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.d.ts +8 -0
- package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.js +1 -0
- package/dist/configurator/ui/assistant/streamed-markdown.d.ts +11 -0
- package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
- package/dist/configurator/ui/assistant/thread-items.d.ts +5 -0
- package/dist/configurator/ui/assistant/thread-items.js +1 -1
- package/dist/configurator/ui/assistant/tool-chip.d.ts +19 -9
- package/dist/configurator/ui/assistant/tool-chip.js +1 -1
- package/dist/configurator/ui/assistant/use-load-older-on-top.d.ts +22 -0
- package/dist/configurator/ui/assistant/use-load-older-on-top.js +1 -0
- package/dist/configurator/ui/configurator-layout/slots/canvas/GPUAccelerationDisabled.js +1 -1
- package/dist/configurator/ui/configurator-layout/slots/canvas/WebGLNotSupported.js +1 -1
- package/dist/configurator/ui/configurator-layout/slots/readonly-banner/CloneToEditDialog.js +1 -1
- package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
- package/dist/configurator/ui/configurator-layout/universal/Layout.js +1 -1
- package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
- package/dist/configurator/ui/legacy/chat/MobileChat.js +1 -1
- package/dist/configurator/ui/legacy/layout/common/CommonTopNavigation.js +1 -1
- package/dist/configurator/ui/legacy/layout/simple/SimpleSidebar.js +1 -1
- package/dist/configurator/ui/legacy/layout/simple/SimpleTopNavigation.js +1 -1
- package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.js +1 -1
- package/dist/configurator/ui/legacy/layout/steps/StepsOwnerLayout.js +1 -1
- package/dist/configurator/ui/legacy/layout/steps/StepsSideBar.js +1 -1
- package/dist/configurator/ui/legacy/layout/tabs/TabsSidebar.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/header/common/back-button/use-go-back-action.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/basic/use-basic-sidebar-footer.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
- package/dist/configurator/ui/preset-layout/CategoryPresetUi.js +1 -1
- package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -1
- package/dist/docs/3d-scene/animations-basic.mdx +0 -4
- package/dist/docs/3d-scene/camera-based-hiding.mdx +0 -2
- package/dist/docs/3d-scene/cameras/custom.mdx +4 -4
- package/dist/docs/3d-scene/cameras/fit-during-drag.mdx +0 -4
- package/dist/docs/3d-scene/cameras/locks.mdx +0 -4
- package/dist/docs/3d-scene/cameras/transitions.mdx +0 -2
- package/dist/docs/3d-scene/engraving.mdx +0 -4
- package/dist/docs/3d-scene/materials/custom.mdx +0 -1
- package/dist/docs/3d-scene/materials/inherit.mdx +0 -4
- package/dist/docs/3d-scene/materials/multilevel.mdx +0 -47
- package/dist/docs/3d-scene/materials/override.mdx +0 -4
- package/dist/docs/3d-scene/materials/simple.mdx +0 -4
- package/dist/docs/3d-scene/materials/transformer.mdx +0 -4
- package/dist/docs/3d-scene/materials/transition.mdx +0 -4
- package/dist/docs/3d-scene/materials/transmissive.mdx +0 -4
- package/dist/docs/3d-scene/postprocessing.mdx +0 -2
- package/dist/docs/3d-scene/rendering/basic.mdx +0 -4
- package/dist/docs/3d-scene/rendering/custom-entity.mdx +0 -6
- package/dist/docs/3d-scene/rendering/lights/ambient-light.mdx +0 -2
- package/dist/docs/3d-scene/rendering/lights/directional-light.mdx +0 -2
- package/dist/docs/3d-scene/rendering/lights/point-light.mdx +0 -2
- package/dist/docs/3d-scene/rendering/lights/rect-area-light.mdx +0 -2
- package/dist/docs/3d-scene/rendering/lights/spot-light.mdx +0 -2
- package/dist/docs/3d-scene/rendering/object-groups.mdx +0 -2
- package/dist/docs/3d-scene/rendering/objects.mdx +0 -4
- package/dist/docs/3d-scene/rendering/scene-entity-object.mdx +0 -43
- package/dist/docs/3d-scene/rendering/smma.mdx +0 -2
- package/dist/docs/3d-scene/rendering/soft-shadows.mdx +0 -2
- package/dist/docs/3d-scene/rendering/transformer.mdx +0 -2
- package/dist/docs/complex-use-cases/custom-ui-on-root-level.mdx +0 -1
- package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +19 -19
- package/dist/docs/complex-use-cases/navigation-guard.mdx +81 -19
- package/dist/docs/complex-use-cases/navigation-reset-selection.mdx +28 -65
- package/dist/docs/complex-use-cases/navigation-reset-undo.mdx +16 -20
- package/dist/docs/complex-use-cases/sketching.mdx +0 -8
- package/dist/docs/controls/custom.mdx +88 -87
- package/dist/docs/controls/manage-child-entities/entitychildrenlist.mdx +0 -4
- package/dist/docs/controls/nullable-attributes.mdx +0 -2
- package/dist/docs/controls/scene/custom-controls.mdx +7 -8
- package/dist/docs/controls/scene/html-hotspots.mdx +0 -4
- package/dist/docs/controls/scene/object-html-hotspots.mdx +0 -4
- package/dist/docs/controls/select-attribute/cardselect.mdx +0 -4
- package/dist/docs/controls/select-attribute/listselect.mdx +0 -4
- package/dist/docs/controls/select-attribute/select.mdx +0 -4
- package/dist/docs/controls/select-attribute/swatchselect.mdx +0 -4
- package/dist/docs/controls/select-attribute/switchselect.mdx +0 -4
- package/dist/docs/controls/select-attribute/toggleselect.mdx +0 -4
- package/dist/docs/controls/select-child-entity/cardselect.mdx +2 -6
- package/dist/docs/controls/select-child-entity/listselect.mdx +5 -11
- package/dist/docs/controls/select-child-entity/toggleselect.mdx +4 -10
- package/dist/docs/controls/text-input.mdx +90 -19
- package/dist/docs/demos/glass.mdx +0 -4
- package/dist/docs/demos/heater.mdx +0 -10
- package/dist/docs/demos/office-chair.mdx +0 -8
- package/dist/docs/demos/office-desk.mdx +0 -8
- package/dist/docs/demos/ring.mdx +0 -9
- package/dist/docs/dimensions/3d-scene-integration/angle-indicators.mdx +0 -2
- package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +0 -2
- package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +0 -2
- package/dist/docs/dimensions/3d-scene-integration/editable-offset-indicator.mdx +0 -6
- package/dist/docs/dimensions/3d-scene-integration/editable-size-indicator.mdx +0 -4
- package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +0 -4
- package/dist/docs/dimensions/3d-scene-integration/offset-indicator.mdx +0 -6
- package/dist/docs/dimensions/3d-scene-integration/overlap-offset-demo.mdx +0 -6
- package/dist/docs/dimensions/input-controls/distance-slider.mdx +6 -6
- package/dist/docs/dimensions/selection-controls/list-selector.mdx +0 -2
- package/dist/docs/dimensions/selection-controls/toggle-selector.mdx +0 -2
- package/dist/docs/drag-and-drop/drag-handle.mdx +0 -1
- package/dist/docs/drag-and-drop/hotspot-handle.mdx +0 -1
- package/dist/docs/drag-and-drop/no-selection.mdx +0 -1
- package/dist/docs/drag-and-drop/planes.mdx +0 -3
- package/dist/docs/drag-and-drop/room-planner.mdx +1 -7
- package/dist/docs/drag-and-drop/rotatable.mdx +0 -1
- package/dist/docs/drag-and-drop/snapping/auto-rotation-demo.mdx +0 -2
- package/dist/docs/drag-and-drop/snapping/label-matching-demo.mdx +0 -2
- package/dist/docs/drag-and-drop/snapping/multi-snap-composition-demo.mdx +0 -2
- package/dist/docs/drag-and-drop/snapping/nested-entity-demo.mdx +0 -2
- package/dist/docs/drag-and-drop/snapping/priority-demo.mdx +0 -2
- package/dist/docs/drag-and-drop/snapping/snap-axis-demo.mdx +0 -2
- package/dist/docs/drag-and-drop/snapping/snap-edge-demo.mdx +0 -2
- package/dist/docs/drag-and-drop/snapping/snap-plane-demo.mdx +0 -5
- package/dist/docs/drag-and-drop/snapping/snap-point-demo.mdx +0 -2
- package/dist/docs/drag-and-drop/spatial-constraints/collision-system.mdx +0 -2
- package/dist/docs/drag-and-drop/spatial-constraints/disjoint-and-within.mdx +0 -6
- package/dist/docs/drag-and-drop/spatial-constraints/geometry-override.mdx +0 -4
- package/dist/docs/drag-and-drop/spatial-constraints/multiple-collision-meshes.mdx +0 -4
- package/dist/docs/drag-and-drop/spatial-constraints/touches.mdx +0 -4
- package/dist/docs/drag-and-drop/swap.mdx +0 -4
- package/dist/docs/fabs/basic.mdx +8 -12
- package/dist/docs/fabs/layout.mdx +0 -7
- package/dist/docs/index.json +4 -4
- package/dist/docs/integrations/lifecycle-providers.mdx +0 -12
- package/dist/docs/integrations/onloadprovider.mdx +0 -3
- package/dist/docs/integrations/webcomponent-api/basics.mdx +2 -2
- package/dist/docs/integrations/webcomponent-api/preset-tags.mdx +0 -1
- package/dist/docs/layouts/custom-layout.mdx +1 -41
- package/dist/docs/layouts/custom-price.mdx +0 -2
- package/dist/docs/layouts/custom-theme-handler.mdx +0 -4
- package/dist/docs/layouts/gallery/ardent-compressor.mdx +3 -34
- package/dist/docs/layouts/gallery/corvid-drone.mdx +0 -29
- package/dist/docs/layouts/gallery/fenwick-window.mdx +0 -25
- package/dist/docs/layouts/gallery/ferrule-bar-station.mdx +0 -27
- package/dist/docs/layouts/gallery/kestrel-kettle.mdx +0 -29
- package/dist/docs/layouts/gallery/nightjar-guitar.mdx +2 -35
- package/dist/docs/layouts/gallery/sunfold-solar.mdx +0 -26
- package/dist/docs/layouts/gallery/tidepool-aquascape.mdx +0 -46
- package/dist/docs/layouts/header/custom.mdx +0 -2
- package/dist/docs/layouts/icon-sets.mdx +0 -6
- package/dist/docs/layouts/phoenix-elements.mdx +0 -4
- package/dist/docs/layouts/phoenix-handlers.mdx +19 -28
- package/dist/docs/layouts/presets/action-and-overlay.mdx +0 -8
- package/dist/docs/layouts/presets/custom.mdx +6 -13
- package/dist/docs/layouts/preview/always-expand.mdx +4 -14
- package/dist/docs/layouts/preview/always.mdx +4 -14
- package/dist/docs/layouts/preview/auto-presets.mdx +4 -14
- package/dist/docs/layouts/preview/auto.mdx +4 -14
- package/dist/docs/layouts/preview/never.mdx +4 -14
- package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +18 -13
- package/dist/docs/layouts/sidebar/property-page-stack.mdx +0 -2
- package/dist/docs/layouts/sidebar/property-page.mdx +0 -2
- package/dist/docs/layouts/sidebar/tabs.mdx +0 -4
- package/dist/docs/layouts/sidebar-footer/custom.mdx +0 -2
- package/dist/docs/layouts/sidebar-footer/universal.mdx +0 -10
- package/dist/docs/layouts/tool-controls.mdx +0 -1
- package/dist/docs/layouts/toolbar.mdx +0 -4
- package/dist/docs/layouts/universal.mdx +2 -10
- package/dist/docs/other-features/client-side-rendering/camera-padding.mdx +0 -2
- package/dist/docs/other-features/client-side-rendering/custom.mdx +0 -6
- package/dist/docs/other-features/client-side-rendering/declarative.mdx +0 -4
- package/dist/docs/other-features/client-side-rendering/postprocessing.mdx +0 -6
- package/dist/docs/other-features/component-filters.mdx +0 -7
- package/dist/docs/other-features/currency.mdx +5 -6
- package/dist/docs/other-features/domain-actions.mdx +0 -5
- package/dist/docs/other-features/dynamic-component-attachments.mdx +75 -46
- package/dist/docs/other-features/error-5xx.mdx +0 -2
- package/dist/docs/other-features/navigation-hotspot.mdx +0 -5
- package/dist/docs/other-features/not-found-404.mdx +0 -2
- package/dist/docs/other-features/projected-entities.mdx +0 -5
- package/dist/docs/other-features/side-effects.mdx +0 -7
- package/dist/docs/other-features/transformers.mdx +101 -96
- package/dist/docs/other-features/violation-messages.mdx +0 -4
- package/dist/docs/other-features/violation-severity.mdx +2 -3
- package/dist/docs/performance/clone-highlight.mdx +0 -7
- package/dist/docs/performance/dynamic-components.mdx +0 -6
- package/dist/docs/performance/editable-dimension-stress-test.mdx +0 -2
- package/dist/docs/performance/fast-highlight.mdx +0 -7
- package/dist/docs/performance/general.mdx +0 -7
- package/dist/docs/performance/render-isolation.mdx +0 -6
- package/dist/docs/phoenix/admin.mdx +75 -100
- package/dist/docs/phoenix/application-states.mdx +45 -27
- package/dist/docs/phoenix/components.mdx +53 -46
- package/dist/docs/phoenix/configurator-interface.mdx +197 -117
- package/dist/docs/phoenix/deployments.mdx +11 -1
- package/dist/docs/phoenix/domain-model.mdx +24 -16
- package/dist/docs/phoenix/expression-context.mdx +3 -29
- package/dist/docs/phoenix/getting-started.mdx +0 -2
- package/dist/docs/phoenix/layout-slots.mdx +21 -0
- package/dist/docs/phoenix/localization.mdx +64 -54
- package/dist/docs/phoenix/migration-guide.mdx +10 -11
- package/dist/docs/phoenix/phoenix-cli.mdx +57 -15
- package/dist/docs/phoenix/project-structure.mdx +51 -54
- package/dist/docs/phoenix/quickstart.mdx +1 -3
- package/dist/docs/phoenix/sdk-builder-workflow.mdx +7 -11
- package/dist/docs/phoenix/state-management.mdx +18 -16
- package/dist/docs/phoenix/testing.mdx +6 -1
- package/dist/docs/phoenix/webhooks.mdx +9 -1
- package/dist/docs/recipes-and-delete/delete-entity.mdx +3 -6
- package/dist/docs/recipes-and-delete/dynamic-root-entity.mdx +0 -2
- package/dist/docs/recipes-and-delete/grouped-button.mdx +0 -3
- package/dist/docs/recipes-and-delete/grouped-panel.mdx +0 -3
- package/dist/docs/recipes-and-delete/horizontal.mdx +3 -6
- package/dist/docs/recipes-and-delete/recipe-hierarchy-lists.mdx +0 -3
- package/dist/docs/recipes-and-delete/recipe-hierarchy-selection.mdx +0 -5
- package/dist/docs/recipes-and-delete/replace-dropdown.mdx +3 -6
- package/dist/docs/recipes-and-delete/replace-panel.mdx +0 -7
- package/dist/docs/recipes-and-delete/simple.mdx +3 -6
- package/dist/docs/recipes-and-delete/vertical.mdx +3 -6
- package/dist/docs/relations/aliases.mdx +0 -2
- package/dist/docs/relations/all-of-type.mdx +0 -4
- package/dist/docs/relations/child-nullable.mdx +0 -4
- package/dist/docs/relations/child-required.mdx +0 -2
- package/dist/docs/relations/collection-direct.mdx +0 -4
- package/dist/docs/relations/collection-indirect.mdx +0 -4
- package/dist/docs/relations/collection-multiple.mdx +0 -2
- package/dist/docs/relations/cross-reference.mdx +0 -2
- package/dist/docs/relations/hierarchy.mdx +0 -2
- package/dist/docs/selection-and-highlight/canvas.mdx +0 -1
- package/dist/docs/selection-and-highlight/disable-highlight-per-object.mdx +0 -1
- package/dist/docs/selection-and-highlight/disable-highlight.mdx +0 -1
- package/dist/docs/selection-and-highlight/effects/outline.mdx +0 -3
- package/dist/docs/selection-and-highlight/effects/overlay.mdx +0 -3
- package/dist/docs/selection-and-highlight/fast-emissive-highlight.mdx +0 -3
- package/dist/docs/selection-and-highlight/group-highlighting.mdx +0 -1
- package/dist/docs/selection-and-highlight/hierarchy.mdx +100 -151
- package/dist/docs/selection-and-highlight/hotspots.mdx +0 -1
- package/dist/domain/application/GetApplicationWrapperHandler.d.ts +1 -1
- package/dist/domain/application/GetThemeHandler.d.ts +1 -1
- package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
- package/dist/domain/application/application-config.d.ts +6 -26
- package/dist/domain/application/assistant/assistant-fields.d.ts +1 -1
- package/dist/domain/application/assistant/assistant-value-type.d.ts +1 -1
- package/dist/domain/application/assistant/build-assistant-lenses.d.ts +1 -2
- package/dist/domain/application/assistant/build-assistant-lenses.js +1 -1
- package/dist/domain/application/assistant/build-assistant-manifest.d.ts +1 -2
- package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
- package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +1 -2
- package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
- package/dist/domain/application/assistant/index.d.ts +0 -4
- package/dist/domain/application/assistant/index.js +1 -1
- package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +1 -1
- package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +1 -1
- package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -1
- package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +3 -5
- package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -1
- package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +1 -2
- package/dist/domain/application/assistant-field-options.d.ts +1 -1
- package/dist/domain/application/assistant-mutations.d.ts +1 -1
- package/dist/domain/application/assistant-mutations.js +1 -1
- package/dist/domain/application/assistant-recipe-groups.d.ts +1 -1
- package/dist/domain/application/configurator-builder.d.ts +7 -2
- package/dist/domain/application/configurator-builder.js +1 -1
- package/dist/domain/application/create-initial-published-data.d.ts +2 -1
- package/dist/domain/application/index.d.ts +1 -1
- package/dist/domain/application/index.js +1 -1
- package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
- package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
- package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
- package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
- package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
- package/dist/domain/available-system-components/available-system-components.d.ts +11 -0
- package/dist/domain/available-system-components/available-system-components.js +1 -0
- package/dist/domain/available-system-components/index.d.ts +1 -0
- package/dist/domain/available-system-components/index.js +1 -0
- package/dist/domain/core/invariant/violation.d.ts +3 -2
- package/dist/domain/{domain-builder.d.ts → domain-builder/domain-builder.d.ts} +2 -2
- package/dist/domain/domain-builder/domain-builder.js +1 -0
- package/dist/domain/domain-builder/index.d.ts +1 -0
- package/dist/domain/domain-builder/index.js +1 -0
- package/dist/domain/domain-context/transformers/context.d.ts +4 -2
- package/dist/domain/domain-context/transformers/when-builder.d.ts +2 -1
- package/dist/domain/domain-runtime/application.d.ts +39 -0
- package/dist/domain/domain-runtime/application.js +1 -0
- package/dist/domain/domain-runtime/domain-runtime.d.ts +42 -28
- package/dist/domain/domain-runtime/domain-runtime.js +1 -1
- package/dist/domain/domain-runtime/environment/initialize.d.ts +1 -1
- package/dist/domain/domain-runtime/index.d.ts +1 -1
- package/dist/domain/domain-runtime/index.js +1 -1
- package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +1 -1
- package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -1
- package/dist/domain/domain-runtime/spec/index.d.ts +1 -1
- package/dist/domain/domain-runtime/spec/index.js +1 -1
- package/dist/domain/domain-runtime/spec/initialize.js +1 -1
- package/dist/domain/domain-runtime/spec/{module-checks/resolve-imported-transformers.d.ts → resolve-imported-transformers.d.ts} +3 -3
- package/dist/domain/domain-runtime/spec/resolve-imported-transformers.js +1 -0
- package/dist/domain/domain-runtime/spec/selectors.d.ts +5 -5
- package/dist/domain/domain-runtime/spec/types.d.ts +2 -2
- package/dist/domain/extensions/export-images/agent-screenshot.d.ts +6 -0
- package/dist/domain/extensions/export-images/agent-screenshot.js +1 -1
- package/dist/domain/extensions/export-images/index.d.ts +1 -1
- package/dist/domain/extensions/export-images/index.js +1 -1
- package/dist/domain/extensions/index.d.ts +1 -1
- package/dist/domain/extensions/index.js +1 -1
- package/dist/domain/index.d.ts +15 -2
- package/dist/domain/index.js +1 -1
- package/dist/domain/mocks/create-test-application-config.d.ts +1 -1
- package/dist/domain/spec/application/admin-pages-section.d.ts +29 -0
- package/dist/domain/spec/application/admin-pages.d.ts +26 -0
- package/dist/domain/spec/application/admin-states.d.ts +5 -0
- package/dist/domain/spec/application/configurator-states.d.ts +8 -0
- package/dist/domain/spec/application/index.d.ts +5 -0
- package/dist/domain/spec/application/index.js +1 -0
- package/dist/domain/spec/components/bindings/index.d.ts +2 -0
- package/dist/domain/spec/components/bindings/index.js +1 -0
- package/dist/domain/spec/components/bindings/read-binding.d.ts +13 -0
- package/dist/domain/spec/components/bindings/read-binding.js +1 -0
- package/dist/domain/spec/components/bindings/write-binding.d.ts +32 -0
- package/dist/domain/spec/components/bindings/write-binding.js +1 -0
- package/dist/{application-spec/parse-application-files → domain}/spec/components/component-entry.d.ts +3 -3
- package/dist/domain/spec/components/component-entry.js +1 -0
- package/dist/{application-spec/core → domain/spec}/components/component-filter.d.ts +3 -2
- package/dist/domain/spec/components/component-filters.d.ts +10 -0
- package/dist/domain/spec/components/component-filters.js +1 -0
- package/dist/domain/spec/components/components.d.ts +4 -0
- package/dist/domain/spec/components/components.js +1 -0
- package/dist/domain/spec/components/index.d.ts +6 -0
- package/dist/domain/spec/enhanced-json/enhanced-json-value.d.ts +30 -0
- package/dist/domain/spec/enhanced-json/enhanced-json-value.js +1 -0
- package/dist/domain/spec/enhanced-json/index.d.ts +1 -0
- package/dist/domain/spec/enhanced-json/index.js +1 -0
- package/dist/{application-spec/parse-application-files → domain}/spec/expressions/expression.d.ts +9 -3
- package/dist/domain/spec/expressions/expression.js +1 -0
- package/dist/domain/spec/expressions/expressions.d.ts +27 -0
- package/dist/domain/spec/expressions/expressions.js +1 -0
- package/dist/domain/spec/expressions/index.d.ts +5 -0
- package/dist/domain/spec/expressions/memo-eval-plan.d.ts +70 -0
- package/dist/domain/spec/expressions/memo-eval-plan.js +1 -0
- package/dist/domain/spec/expressions/relation-expression-params.js +1 -0
- package/dist/domain/spec/index.d.ts +4 -0
- package/dist/domain/spec/index.js +1 -0
- package/dist/domain/spec/invariants/index.d.ts +2 -0
- package/dist/domain/spec/invariants/index.js +1 -0
- package/dist/domain/spec/invariants/invariant.d.ts +24 -0
- package/dist/domain/spec/invariants/invariant.js +1 -0
- package/dist/domain/spec/invariants/invariants.d.ts +14 -0
- package/dist/domain/spec/invariants/invariants.js +1 -0
- package/dist/domain/spec/json-schema.d.ts +52 -0
- package/dist/domain/spec/json-schema.js +1 -0
- package/dist/domain/spec/markers/index.d.ts +3 -0
- package/dist/domain/spec/markers/index.js +1 -0
- package/dist/domain/spec/markers/msg-marker.d.ts +28 -0
- package/dist/domain/spec/markers/msg-marker.js +1 -0
- package/dist/domain/spec/model/aliases.d.ts +9 -0
- package/dist/domain/spec/model/aliases.js +1 -0
- package/dist/domain/spec/model/common-types.d.ts +15 -0
- package/dist/domain/spec/model/common-types.js +1 -0
- package/dist/domain/spec/model/defaults.d.ts +33 -0
- package/dist/domain/spec/model/defaults.js +1 -0
- package/dist/domain/spec/model/entity-types.d.ts +8 -0
- package/dist/domain/spec/model/entity-types.js +1 -0
- package/dist/domain/spec/model/index.d.ts +7 -0
- package/dist/domain/spec/model/index.js +1 -0
- package/dist/domain/spec/model/model-version-key.d.ts +3 -0
- package/dist/domain/spec/model/model-version-key.js +1 -0
- package/dist/domain/spec/model/names/action-name.d.ts +7 -0
- package/dist/domain/spec/model/names/action-name.js +1 -0
- package/dist/domain/spec/model/names/alias-name.d.ts +7 -0
- package/dist/domain/spec/model/names/alias-name.js +1 -0
- package/dist/domain/spec/model/names/entity-or-alias-name.d.ts +8 -0
- package/dist/domain/spec/model/names/entity-or-alias-name.js +1 -0
- package/dist/domain/spec/model/names/entity-type-name.d.ts +8 -0
- package/dist/domain/spec/model/names/entity-type-name.js +1 -0
- package/dist/domain/spec/model/names/expression-name.d.ts +6 -0
- package/dist/domain/spec/model/names/expression-name.js +1 -0
- package/dist/domain/spec/model/names/index.d.ts +9 -0
- package/dist/domain/spec/model/names/index.js +1 -0
- package/dist/domain/spec/model/names/instance-name.d.ts +7 -0
- package/dist/domain/spec/model/names/instance-name.js +1 -0
- package/dist/domain/spec/model/names/invariant-name.d.ts +3 -0
- package/dist/domain/spec/model/names/invariant-name.js +1 -0
- package/dist/domain/spec/model/names/shape-property-name.d.ts +11 -0
- package/dist/domain/spec/model/names/shape-property-name.js +1 -0
- package/dist/domain/spec/model/names/violation-type-name.d.ts +3 -0
- package/dist/domain/spec/model/names/violation-type-name.js +1 -0
- package/dist/domain/spec/model/presets.d.ts +30 -0
- package/dist/domain/spec/model/presets.js +1 -0
- package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/element-registration.d.ts +1 -1
- package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/find-assistant-form-element-errors.d.ts +1 -1
- package/dist/domain/spec/modules/find-assistant-form-element-errors.js +1 -0
- package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/index.d.ts +2 -3
- package/dist/domain/spec/modules/index.js +1 -0
- package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/merge-expression-modules.d.ts +2 -2
- package/dist/domain/spec/modules/merge-expression-modules.js +1 -0
- package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/project-modules.d.ts +1 -1
- package/dist/domain/spec/modules/project-modules.js +1 -0
- package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-action-modules.d.ts +1 -1
- package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-component-optic-modules.d.ts +1 -1
- package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-expression-modules.d.ts +1 -1
- package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-invariant-modules.d.ts +1 -1
- package/dist/domain/spec/phx/index.d.ts +1 -0
- package/dist/domain/spec/phx/index.js +1 -0
- package/dist/{application-spec/generate-application/implementations → domain/spec/phx}/phx-application-types.d.ts +1 -1
- package/dist/domain/spec/phx/phx-application-types.js +1 -0
- package/dist/domain/spec/phx/phx-domain.js +1 -0
- package/dist/{application-spec/generate-application/implementations → domain/spec/phx}/phx-model.d.ts +2 -2
- package/dist/domain/spec/phx/phx-model.js +1 -0
- package/dist/{application-spec/generate-application/implementations → domain/spec/phx}/phx.d.ts +1 -2
- package/dist/{application-spec/generate-application → domain/spec}/runtime/admin-runtime/admin-runtime.d.ts +9 -6
- package/dist/domain/spec/runtime/admin-runtime/admin-runtime.js +1 -0
- package/dist/{application-spec/generate-application → domain/spec}/runtime/admin-runtime/admin-spec-runtime.d.ts +2 -2
- package/dist/domain/spec/runtime/admin-runtime/admin-spec-runtime.js +1 -0
- package/dist/domain/spec/runtime/admin-runtime/index.d.ts +2 -0
- package/dist/domain/spec/runtime/admin-runtime/index.js +1 -0
- package/dist/{application-spec/generate-application → domain/spec}/runtime/admin-runtime/states-runtime.d.ts +1 -1
- package/dist/{application-spec/generate-application → domain/spec}/runtime/application-runtime.d.ts +13 -6
- package/dist/domain/spec/runtime/application-runtime.js +1 -0
- package/dist/{application-spec/generate-application → domain/spec}/runtime/application-spec-slice.d.ts +5 -2
- package/dist/domain/spec/runtime/application-spec-slice.js +1 -0
- package/dist/{application-spec/generate-application → domain/spec}/runtime/configurator-runtime/configurator-runtime.d.ts +10 -10
- package/dist/domain/spec/runtime/configurator-runtime/configurator-runtime.js +1 -0
- package/dist/{application-spec/generate-application → domain/spec}/runtime/configurator-runtime/configurator-spec-runtime.d.ts +2 -2
- package/dist/domain/spec/runtime/configurator-runtime/configurator-spec-runtime.js +1 -0
- package/dist/domain/spec/runtime/configurator-runtime/index.d.ts +2 -0
- package/dist/domain/spec/runtime/configurator-runtime/index.js +1 -0
- package/dist/{application-spec/generate-application → domain/spec}/runtime/configurator-runtime/states-runtime.d.ts +1 -1
- package/dist/domain/spec/runtime/create-application.d.ts +58 -0
- package/dist/domain/spec/runtime/create-application.js +1 -0
- package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/expressions}/expression-runtime.d.ts +5 -3
- package/dist/domain/spec/runtime/expressions/expression-runtime.js +1 -0
- package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/expressions}/generate-memo-eval-plan-runtime.d.ts +2 -2
- package/dist/domain/spec/runtime/expressions/generate-memo-eval-plan-runtime.js +1 -0
- package/dist/domain/spec/runtime/expressions/index.d.ts +3 -0
- package/dist/domain/spec/runtime/expressions/index.js +1 -0
- package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/expressions}/reflection-constants-runtime.d.ts +2 -1
- package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/factory-data-runtime.d.ts +4 -3
- package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/recipe-defaults.d.ts +1 -1
- package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/recipe-defaults.js +1 -1
- package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/static-violations.d.ts +2 -2
- package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/static-violations.js +1 -1
- package/dist/{application-spec/generate-application → domain/spec}/runtime/generate-runtime-instance.d.ts +1 -1
- package/dist/domain/spec/runtime/generate-runtime-instance.js +1 -0
- package/dist/domain/spec/runtime/index.d.ts +13 -0
- package/dist/domain/spec/runtime/index.js +1 -0
- package/dist/{application-spec/generate-application → domain/spec}/runtime/migrations/migration-runtime.d.ts +2 -2
- package/dist/domain/spec/runtime/migrations/migration-runtime.js +1 -0
- package/dist/{application-spec/generate-application/runtime/admin-runtime → domain/spec/runtime/model}/admin-model-runtime.d.ts +4 -3
- package/dist/domain/spec/runtime/model/admin-model-runtime.js +1 -0
- package/dist/{application-spec/generate-application/runtime/configurator-runtime → domain/spec/runtime/model}/configurator-model-runtime.d.ts +4 -3
- package/dist/domain/spec/runtime/model/configurator-model-runtime.js +1 -0
- package/dist/domain/spec/runtime/model/index.d.ts +2 -0
- package/dist/domain/spec/runtime/model/index.js +1 -0
- package/dist/domain/spec/runtime/optics/build-sdk-optic.d.ts +7 -0
- package/dist/domain/spec/runtime/optics/build-sdk-optic.js +1 -0
- package/dist/domain/spec/runtime/optics/build-user-bound-optic.d.ts +7 -0
- package/dist/domain/spec/runtime/optics/build-user-bound-optic.js +1 -0
- package/dist/domain/spec/runtime/optics/built-component-optic.d.ts +11 -0
- package/dist/domain/spec/runtime/optics/built-component-optic.js +1 -0
- package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/optics}/component-optic.d.ts +4 -14
- package/dist/domain/spec/runtime/optics/index.d.ts +2 -0
- package/dist/domain/spec/runtime/optics/index.js +1 -0
- package/dist/{application-spec/caching → domain/spec/runtime}/runtime-reference-store.d.ts +1 -5
- package/dist/domain/spec/runtime/runtime-reference-store.js +1 -0
- package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/actions-runtime.d.ts +3 -3
- package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/assistant-runtime.d.ts +2 -2
- package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/data-runtime.d.ts +1 -1
- package/dist/domain/spec/runtime/sections/index.d.ts +6 -0
- package/dist/domain/spec/runtime/sections/index.js +1 -0
- package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/preset-runtime.d.ts +4 -4
- package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/theme-runtime.d.ts +1 -1
- package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/transformers-runtime.d.ts +2 -2
- package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-code/resolve-spec-code.d.ts +1 -1
- package/dist/domain/spec/runtime/spec-code/spec-code-module.js +1 -0
- package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-runtime.d.ts +3 -3
- package/dist/domain/spec/runtime/spec-runtime.js +1 -0
- package/dist/domain/spec/runtime-spec/index.d.ts +4 -0
- package/dist/domain/spec/runtime-spec/index.js +1 -0
- package/dist/domain/spec/runtime-spec/runtime-spec.d.ts +174 -0
- package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/spec-code-id.d.ts +1 -1
- package/dist/domain/spec/sections/actions.d.ts +23 -0
- package/dist/domain/spec/sections/actions.js +1 -0
- package/dist/domain/spec/sections/app-metadata.d.ts +18 -0
- package/dist/domain/spec/sections/app-metadata.js +1 -0
- package/dist/domain/spec/sections/application-version.d.ts +7 -0
- package/dist/domain/spec/sections/application-version.js +1 -0
- package/dist/domain/{application → spec/sections}/assistant/assistant-manifest.d.ts +13 -3
- package/dist/domain/{application → spec/sections}/assistant/assistant-resolved-manifest.d.ts +5 -9
- package/dist/domain/spec/sections/assistant/assistant-resolved-manifest.js +1 -0
- package/dist/domain/spec/sections/assistant/index.d.ts +4 -0
- package/dist/domain/spec/sections/assistant/index.js +1 -0
- package/dist/domain/spec/sections/data-spec/chunks.d.ts +23 -0
- package/dist/domain/spec/sections/data-spec/chunks.js +1 -0
- package/dist/domain/spec/sections/data-spec/custom-data-spec-entry.d.ts +16 -0
- package/dist/domain/spec/sections/data-spec/custom-data-spec-entry.js +1 -0
- package/dist/domain/spec/sections/data-spec/data-entry-key.d.ts +9 -0
- package/dist/domain/spec/sections/data-spec/data-entry-key.js +1 -0
- package/dist/domain/spec/sections/data-spec/index.d.ts +5 -0
- package/dist/domain/spec/sections/data-spec/index.js +1 -0
- package/dist/domain/spec/sections/data-spec/parsed-data-spec-entries.d.ts +10 -0
- package/dist/domain/spec/sections/data-spec/parsed-data-spec-entries.js +1 -0
- package/dist/domain/spec/sections/data-spec/swatch-data-spec-entry.d.ts +14 -0
- package/dist/domain/spec/sections/data-spec/swatch-data-spec-entry.js +1 -0
- package/dist/domain/spec/sections/index.d.ts +10 -0
- package/dist/domain/spec/sections/index.js +1 -0
- package/dist/domain/spec/sections/infra/acl.d.ts +12 -0
- package/dist/domain/spec/sections/infra/acl.js +1 -0
- package/dist/domain/spec/sections/infra/index.d.ts +3 -0
- package/dist/domain/spec/sections/infra/index.js +1 -0
- package/dist/domain/spec/sections/infra/resource-entry.d.ts +46 -0
- package/dist/domain/spec/sections/infra/resource-entry.js +1 -0
- package/dist/domain/spec/sections/infra/resources-config.d.ts +10 -0
- package/dist/domain/spec/sections/infra/resources-config.js +1 -0
- package/dist/domain/spec/sections/state-value.d.ts +7 -0
- package/dist/domain/spec/sections/state-value.js +1 -0
- package/dist/domain/spec/sections/theme.d.ts +10 -0
- package/dist/domain/spec/sections/theme.js +1 -0
- package/dist/domain/spec/sections/transformers.d.ts +15 -0
- package/dist/domain/spec/sections/transformers.js +1 -0
- package/dist/domain/spec/sections/ui.d.ts +12 -0
- package/dist/domain/spec/sections/ui.js +1 -0
- package/dist/domain/system-components/phoenix-entity-elements/child-entity-card-selector.d.ts +2 -3
- package/dist/domain/system-components/phoenix-entity-elements/child-entity-list-selector.d.ts +2 -3
- package/dist/domain/system-components/phoenix-entity-elements/child-entity-toggle-selector.d.ts +2 -3
- package/dist/domain/system-definitions.js +1 -1
- package/dist/domain/utils/index.d.ts +2 -0
- package/dist/domain/utils/index.js +1 -0
- package/dist/editor/graphql/GraphQLPanel.js +1 -1
- package/dist/i18n/locales/cs/messages.js +1 -1
- package/dist/i18n/locales/da/messages.js +1 -1
- package/dist/i18n/locales/de/messages.js +1 -1
- package/dist/i18n/locales/de-AT/messages.js +1 -1
- package/dist/i18n/locales/en/messages.js +1 -1
- package/dist/i18n/locales/en-AU/messages.js +1 -1
- package/dist/i18n/locales/en-GB/messages.js +1 -1
- package/dist/i18n/locales/es/messages.js +1 -1
- package/dist/i18n/locales/fr/messages.js +1 -1
- package/dist/i18n/locales/hu/messages.js +1 -1
- package/dist/i18n/locales/it/messages.js +1 -1
- package/dist/i18n/locales/nl/messages.js +1 -1
- package/dist/i18n/locales/pl/messages.js +1 -1
- package/dist/i18n/locales/pt/messages.js +1 -1
- package/dist/i18n/locales/ro/messages.js +1 -1
- package/dist/i18n/locales/sk/messages.js +1 -1
- package/dist/i18n/locales/tr/messages.js +1 -1
- package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +2 -2
- package/dist/legacy/phoenix-cli/services/webhook-service/transport.js +1 -1
- package/dist/legacy/phoenix-cli/services/webhook-service/tunnel.d.ts +1 -0
- package/dist/legacy/phoenix-cli/services/webhook-service/tunnel.js +1 -1
- package/dist/legacy/webhook-cli/lambda-local/index.js +1 -1
- package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
- package/dist/phoenix/application-spec/generate-application-spec-project.d.ts +1 -0
- package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
- package/dist/phoenix/application-spec/generate-project-files.d.ts +1 -0
- package/dist/phoenix/application-spec/index.d.ts +2 -0
- package/dist/phoenix/application-spec/index.js +1 -1
- package/dist/phoenix/application-spec/project-files.d.ts +8 -2
- package/dist/phoenix/application-spec/project-files.js +1 -1
- package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +11 -0
- package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
- package/dist/phoenix/bin.js +1 -1
- package/dist/phoenix/cli.js +1 -1
- package/dist/phoenix/commands/activate-deployment.js +1 -1
- package/dist/phoenix/commands/build.js +1 -1
- package/dist/phoenix/commands/changelog.js +1 -1
- package/dist/phoenix/commands/check.js +1 -1
- package/dist/phoenix/commands/clean.js +1 -1
- package/dist/phoenix/commands/cleanup-environment.js +2 -2
- package/dist/phoenix/commands/create-environment.js +1 -1
- package/dist/phoenix/commands/data.js +1 -1
- package/dist/phoenix/commands/deploy.js +1 -1
- package/dist/phoenix/commands/deployment-build-envs-command.js +1 -1
- package/dist/phoenix/commands/dev.js +4 -5
- package/dist/phoenix/commands/docs.js +1 -1
- package/dist/phoenix/commands/finish-deployment-command.js +1 -1
- package/dist/phoenix/commands/fix.js +1 -1
- package/dist/phoenix/commands/index.d.ts +1 -1
- package/dist/phoenix/commands/index.js +1 -1
- package/dist/phoenix/commands/inspect-assets.js +1 -1
- package/dist/phoenix/commands/list-environments.js +1 -1
- package/dist/phoenix/commands/login.d.ts +4 -1
- package/dist/phoenix/commands/login.js +2 -2
- package/dist/phoenix/commands/prepare-deployment-command.js +2 -2
- package/dist/phoenix/commands/register-deployment.js +1 -1
- package/dist/phoenix/commands/scene.js +1 -1
- package/dist/phoenix/commands/screenshot.js +1 -1
- package/dist/phoenix/commands/state.js +1 -1
- package/dist/phoenix/commands/story-build.js +3 -3
- package/dist/phoenix/commands/story-create.js +1 -1
- package/dist/phoenix/commands/story-dev.js +2 -2
- package/dist/phoenix/commands/sync.js +1 -1
- package/dist/phoenix/commands/variants.js +1 -1
- package/dist/phoenix/editor-server/commands-router.js +1 -1
- package/dist/phoenix/editor-server/editor-server.d.ts +2 -13
- package/dist/phoenix/editor-server/editor-server.js +1 -1
- package/dist/phoenix/editor-server/spec-router.js +1 -1
- package/dist/phoenix/editor-server/trpc.d.ts +2 -12
- package/dist/phoenix/lingui/index.d.ts +1 -0
- package/dist/phoenix/lingui/index.js +1 -0
- package/dist/phoenix/lingui/lingui.d.ts +18 -0
- package/dist/phoenix/lingui/lingui.js +1 -0
- package/dist/phoenix/scripts/docs-utils.js +1 -1
- package/dist/phoenix/services/application-spec-project-watcher.d.ts +11 -6
- package/dist/phoenix/services/application-spec-project-watcher.js +2 -2
- package/dist/phoenix/services/cli-credentials.d.ts +3 -0
- package/dist/phoenix/services/cli-credentials.js +1 -1
- package/dist/phoenix/services/cli-exit.d.ts +5 -0
- package/dist/phoenix/services/cli-exit.js +1 -0
- package/dist/phoenix/services/deployment/deployment-preparation-service.d.ts +28 -0
- package/dist/phoenix/services/deployment/deployment-preparation-service.js +1 -0
- package/dist/phoenix/{commands → services/deployment}/generated-env-markers.d.ts +1 -0
- package/dist/phoenix/services/deployment/generated-env-markers.js +1 -0
- package/dist/phoenix/services/deployment/index.d.ts +2 -0
- package/dist/phoenix/services/deployment/index.js +1 -0
- package/dist/phoenix/services/index.d.ts +5 -1
- package/dist/phoenix/services/index.js +1 -1
- package/dist/phoenix/services/lingui-watcher.js +1 -1
- package/dist/phoenix/services/phoenix-store.d.ts +3 -0
- package/dist/phoenix/services/phoenix-store.js +1 -1
- package/dist/phoenix/services/prepare-development-environment.js +1 -1
- package/dist/phoenix/services/session/editor-server-handle.d.ts +5 -0
- package/dist/phoenix/services/session/editor-server-handle.js +1 -0
- package/dist/phoenix/services/session/index.d.ts +2 -0
- package/dist/phoenix/services/session/index.js +1 -0
- package/dist/phoenix/services/session/phoenix-application.d.ts +82 -0
- package/dist/phoenix/services/session/phoenix-application.js +2 -0
- package/dist/phoenix/services/source-archive.d.ts +2 -0
- package/dist/phoenix/services/source-archive.js +1 -1
- package/dist/phoenix/services/swc.d.ts +5 -4
- package/dist/phoenix/services/swc.js +2 -2
- package/dist/phoenix/services/telemetry/amplitude-telemetry-transport.d.ts +9 -0
- package/dist/phoenix/services/telemetry/amplitude-telemetry-transport.js +1 -0
- package/dist/phoenix/services/telemetry/index.d.ts +3 -0
- package/dist/phoenix/services/telemetry/index.js +1 -0
- package/dist/phoenix/services/telemetry/telemetry-client.d.ts +25 -0
- package/dist/phoenix/services/telemetry/telemetry-client.js +1 -0
- package/dist/phoenix/services/telemetry/telemetry-command.d.ts +2 -0
- package/dist/phoenix/services/telemetry/telemetry-command.js +1 -0
- package/dist/phoenix/services/telemetry/telemetry-event.d.ts +44 -0
- package/dist/phoenix/services/telemetry/telemetry-event.js +1 -0
- package/dist/phoenix/services/telemetry/telemetry-state.d.ts +25 -0
- package/dist/phoenix/services/telemetry/telemetry-state.js +2 -0
- package/dist/phoenix/services/vite-config.js +1 -1
- package/dist/phoenix/services/webhook-service/transport.js +1 -1
- package/dist/phoenix/services/webhook-service/tunnel.d.ts +1 -0
- package/dist/phoenix/services/webhook-service/tunnel.js +1 -1
- package/dist/react-sdk/application-runtime/common-services/analytics/analytics-service.d.ts +1 -1
- package/dist/react-sdk/application-runtime/common-services/initialize.d.ts +2 -2
- package/dist/react-sdk/application-runtime/domain-application-context/chat-system.d.ts +1 -1
- package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +17 -6
- package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
- package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/ConfiguratorRoutingProvider.d.ts +1 -1
- package/dist/react-sdk/configurator-routing/ConfiguratorRoutingProvider.js +1 -0
- package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/OnGoToIndexHandler.d.ts +1 -2
- package/dist/react-sdk/configurator-routing/OnGoToIndexHandler.js +1 -0
- package/dist/react-sdk/configurator-routing/index.d.ts +3 -0
- package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/index.js +1 -1
- package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/use-power-routing-lifecycle.d.ts +2 -0
- package/dist/react-sdk/configurator-routing/use-power-routing-lifecycle.js +1 -0
- package/dist/react-sdk/configurator-ui-elements/ConfiguratorUiElementHost.d.ts +7 -0
- package/dist/react-sdk/configurator-ui-elements/ConfiguratorUiElementHost.js +1 -0
- package/dist/react-sdk/configurator-ui-elements/ErrorFallbackElement.d.ts +14 -0
- package/dist/react-sdk/configurator-ui-elements/ErrorFallbackElement.js +1 -0
- package/dist/react-sdk/configurator-ui-elements/ErrorFallbackPropsProvider.d.ts +18 -0
- package/dist/react-sdk/configurator-ui-elements/ErrorFallbackPropsProvider.js +1 -0
- package/dist/react-sdk/configurator-ui-elements/PlainErrorFallback.d.ts +5 -0
- package/dist/react-sdk/configurator-ui-elements/PlainErrorFallback.js +1 -0
- package/dist/react-sdk/configurator-ui-elements/configurator-ui-element.d.ts +17 -0
- package/dist/react-sdk/configurator-ui-elements/configurator-ui-element.js +1 -0
- package/dist/react-sdk/configurator-ui-elements/create-configurator-ui-element.d.ts +5 -0
- package/dist/react-sdk/configurator-ui-elements/create-configurator-ui-element.js +1 -0
- package/dist/react-sdk/configurator-ui-elements/index.d.ts +6 -0
- package/dist/react-sdk/configurator-ui-elements/index.js +1 -0
- package/dist/react-sdk/domain-application-context/BackendDataProvider.js +1 -1
- package/dist/react-sdk/domain-application-context/ConfigurationPersistSystemFailureHandler.js +1 -1
- package/dist/react-sdk/domain-application-context/FrontendDataProvider.js +1 -1
- package/dist/react-sdk/domain-application-context/OnPresetLoadedHandler.js +1 -0
- package/dist/react-sdk/domain-application-context/PublishedDataProvider.js +1 -1
- package/dist/react-sdk/domain-application-context/chat-hooks.d.ts +4 -0
- package/dist/react-sdk/domain-application-context/chat-hooks.js +1 -0
- package/dist/react-sdk/domain-application-context/index.d.ts +2 -0
- package/dist/react-sdk/domain-application-context/index.js +1 -1
- package/dist/react-sdk/domain-context/common-hooks/use-state-validity.d.ts +7 -1
- package/dist/react-sdk/domain-controls/ChildEntityCardSelector.d.ts +2 -3
- package/dist/react-sdk/domain-controls/ChildEntityListSelector.d.ts +2 -3
- package/dist/react-sdk/domain-controls/ChildEntityToggleSelector.d.ts +2 -3
- package/dist/react-sdk/domain-controls/hooks/use-cook-replace-recipes.d.ts +2 -2
- package/dist/react-sdk/elements/PhoenixEntityElement.js +1 -1
- package/dist/react-sdk/elements/PhoenixLayoutElement.js +1 -1
- package/dist/react-sdk/index.d.ts +7 -0
- package/dist/react-sdk/index.js +1 -1
- package/dist/react-sdk/integration/IntegrationSubscription.js +1 -0
- package/dist/react-sdk/integration/index.d.ts +1 -0
- package/dist/react-sdk/integration/index.js +1 -0
- package/dist/react-sdk/lifecycle-providers/ConfiguratorDataProvider.d.ts +8 -0
- package/dist/react-sdk/lifecycle-providers/ConfiguratorDataProvider.js +1 -0
- package/dist/react-sdk/lifecycle-providers/LifecycleProviders.js +1 -0
- package/dist/react-sdk/lifecycle-providers/index.d.ts +2 -0
- package/dist/react-sdk/lifecycle-providers/index.js +1 -0
- package/dist/react-sdk/notifications/index.d.ts +1 -0
- package/dist/react-sdk/notifications/index.js +1 -0
- package/dist/react-sdk/notifications/snackbar-action-button.d.ts +30 -0
- package/dist/react-sdk/notifications/snackbar-action-button.js +1 -0
- package/dist/react-sdk/preset-selection/PresetSelectionProvider.js +1 -0
- package/dist/react-sdk/preset-selection/index.d.ts +1 -0
- package/dist/react-sdk/preset-selection/index.js +1 -0
- package/dist/react-sdk/provider-slots/ConfiguratorProviderSlotHost.d.ts +11 -0
- package/dist/react-sdk/provider-slots/ConfiguratorProviderSlotHost.js +1 -0
- package/dist/react-sdk/provider-slots/configurator-provider-slot.d.ts +24 -0
- package/dist/react-sdk/provider-slots/configurator-provider-slot.js +1 -0
- package/dist/react-sdk/provider-slots/create-configurator-provider-slot.d.ts +5 -0
- package/dist/react-sdk/provider-slots/create-configurator-provider-slot.js +1 -0
- package/dist/react-sdk/provider-slots/index.d.ts +3 -0
- package/dist/react-sdk/provider-slots/index.js +1 -0
- package/dist/react-sdk/session/SessionServiceProvider.d.ts +5 -0
- package/dist/react-sdk/session/SessionServiceProvider.js +1 -1
- package/dist/ui-sdk/components/numerical-input/InputField.d.ts +2 -0
- package/dist/ui-sdk/components/numerical-input/InputField.js +1 -1
- package/dist/ui-sdk/components/numerical-input/NumericalInput.d.ts +2 -2
- package/dist/ui-sdk/components/numerical-input/Slider.d.ts +3 -1
- package/dist/ui-sdk/components/numerical-input/Slider.js +1 -1
- package/dist/ui-sdk/components/snackbar/Snackbar.d.ts +24 -3
- package/dist/ui-sdk/components/snackbar/Snackbar.js +1 -1
- package/dist/ui-sdk/icons/__generated/ChatCircleText.d.ts +3 -0
- package/dist/ui-sdk/icons/__generated/ChatCircleText.js +1 -0
- package/dist/ui-sdk/icons/__generated/Paperclip.d.ts +3 -0
- package/dist/ui-sdk/icons/__generated/Paperclip.js +1 -0
- package/dist/ui-sdk/icons/__generated/PencilSimpleLine.d.ts +3 -0
- package/dist/ui-sdk/icons/__generated/PencilSimpleLine.js +1 -0
- package/dist/ui-sdk/icons/__generated/index.d.ts +6 -0
- package/dist/ui-sdk/icons/__generated/index.js +1 -1
- package/dist/ui-sdk/icons/icons-registry.js +1 -1
- package/dist/ui-sdk/theme/types.d.ts +1 -1
- package/dist/watch/glob-matcher.d.ts +4 -4
- package/dist/watch/glob-matcher.js +1 -1
- package/dist/watch/watch.d.ts +4 -4
- package/dist/watch/watch.js +1 -1
- package/package.json +3 -3
- package/schema/domain-spec.json +22 -4
- package/dist/application-spec/caching/runtime-reference-store.js +0 -1
- package/dist/application-spec/core/components/index.d.ts +0 -2
- package/dist/application-spec/core/expressions/index.d.ts +0 -2
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.d.ts +0 -1
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +0 -1
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.d.ts +0 -3
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +0 -166
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.d.ts +0 -1
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +0 -54
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.d.ts +0 -1
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +0 -115
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +0 -1
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.d.ts +0 -1
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +0 -6
- package/dist/application-spec/generate-application/implementations/phx-application-types.js +0 -1
- package/dist/application-spec/generate-application/implementations/phx-domain.js +0 -1
- package/dist/application-spec/generate-application/implementations/phx-model.js +0 -1
- package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.js +0 -1
- package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +0 -1
- package/dist/application-spec/generate-application/runtime/admin-runtime/admin-spec-runtime.js +0 -1
- package/dist/application-spec/generate-application/runtime/application-runtime.js +0 -1
- package/dist/application-spec/generate-application/runtime/application-spec-slice.js +0 -1
- package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.js +0 -1
- package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +0 -1
- package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-spec-runtime.js +0 -1
- package/dist/application-spec/generate-application/runtime/generate-runtime-instance.js +0 -1
- package/dist/application-spec/generate-application/runtime/index.d.ts +0 -8
- package/dist/application-spec/generate-application/runtime/index.js +0 -1
- package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +0 -1
- package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +0 -8
- package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +0 -1
- package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.d.ts +0 -8
- package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.js +0 -1
- package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +0 -1
- package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.js +0 -1
- package/dist/application-spec/generate-application/runtime/sections/index.d.ts +0 -10
- package/dist/application-spec/generate-application/runtime/sections/index.js +0 -1
- package/dist/application-spec/generate-application/runtime/spec-runtime.js +0 -1
- package/dist/application-spec/generate-application/runtime-spec/index.d.ts +0 -5
- package/dist/application-spec/generate-application/runtime-spec/index.js +0 -1
- package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +0 -103
- package/dist/configurator/application-runtime/extensions/systems/assistant-system/browser-details.d.ts +0 -17
- package/dist/configurator/application-runtime/extensions/systems/assistant-system/browser-details.js +0 -1
- package/dist/configurator/configurator-context/ConfiguratorDataProvider.d.ts +0 -2
- package/dist/configurator/configurator-context/ConfiguratorDataProvider.js +0 -1
- package/dist/configurator/configurator-context/IntegrationSubscription.js +0 -1
- package/dist/configurator/configurator-context/LifecycleProviders.js +0 -1
- package/dist/configurator/configurator-context/OnPresetLoadedHandler.js +0 -1
- package/dist/configurator/configurator-context/PresetSelectionProvider.js +0 -1
- package/dist/configurator/configurator-context/configurator-hooks/chat-hooks.d.ts +0 -1
- package/dist/configurator/configurator-context/configurator-hooks/chat-hooks.js +0 -1
- package/dist/configurator/configurator-context/configurator-routing/ConfiguratorRoutingProvider.js +0 -1
- package/dist/configurator/configurator-context/configurator-routing/OnGoToIndexHandler.js +0 -1
- package/dist/configurator/configurator-context/configurator-routing/index.d.ts +0 -2
- package/dist/configurator/configurator-context/configurator-routing/use-power-routing-lifecycle.js +0 -1
- package/dist/domain/available-system-components.d.ts +0 -11
- package/dist/domain/available-system-components.js +0 -1
- package/dist/domain/domain-builder.js +0 -1
- package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.js +0 -1
- package/dist/domain/domain-runtime/spec/module-checks/index.js +0 -1
- package/dist/domain/domain-runtime/spec/module-checks/merge-expression-modules.js +0 -1
- package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +0 -1
- package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +0 -1
- package/dist/phoenix/commands/generated-env-markers.js +0 -1
- package/dist/phoenix/services/lingui.d.ts +0 -15
- package/dist/phoenix/services/lingui.js +0 -1
- package/dist/phoenix/services/phoenix-application.d.ts +0 -21
- package/dist/phoenix/services/phoenix-application.js +0 -1
- /package/dist/{application-spec/core/expressions/relation-expression-params.js → configurator/application-runtime/extensions/systems/assistant-system/assistant-annotation.js} +0 -0
- /package/dist/configurator/{configurator-context → pages/provider-slots}/ConfiguratorResponsiveProvider.d.ts +0 -0
- /package/dist/configurator/{configurator-context → pages/provider-slots}/ConfiguratorResponsiveProvider.js +0 -0
- /package/dist/{application-spec/generate-application/runtime/spec-code/spec-code-module.js → domain/spec/application/admin-pages-section.js} +0 -0
- /package/dist/{application-spec/parse-application-files/spec/components/component-entry.js → domain/spec/application/admin-pages.js} +0 -0
- /package/dist/{application-spec/parse-application-files/spec/expressions/expression.js → domain/spec/application/admin-states.js} +0 -0
- /package/dist/{application-spec/core → domain/spec/application}/application-instance.d.ts +0 -0
- /package/dist/{application-spec/core → domain/spec/application}/application-instance.js +0 -0
- /package/dist/domain/{application/assistant/assistant-manifest.js → spec/application/configurator-states.js} +0 -0
- /package/dist/{application-spec/core → domain/spec}/components/component-filter.js +0 -0
- /package/dist/{application-spec/core → domain/spec}/components/index.js +0 -0
- /package/dist/{application-spec/core → domain/spec}/components/sdk-code-ref.d.ts +0 -0
- /package/dist/{application-spec/core → domain/spec}/components/sdk-code-ref.js +0 -0
- /package/dist/domain/{domain-runtime → spec}/errors/implementation-error-collector.d.ts +0 -0
- /package/dist/domain/{domain-runtime → spec}/errors/implementation-error-collector.js +0 -0
- /package/dist/domain/{domain-runtime → spec}/errors/implementation-error.d.ts +0 -0
- /package/dist/domain/{domain-runtime → spec}/errors/implementation-error.js +0 -0
- /package/dist/domain/{domain-runtime → spec}/errors/implementation-errors.d.ts +0 -0
- /package/dist/domain/{domain-runtime → spec}/errors/implementation-errors.js +0 -0
- /package/dist/domain/{domain-runtime → spec}/errors/index.d.ts +0 -0
- /package/dist/domain/{domain-runtime → spec}/errors/index.js +0 -0
- /package/dist/domain/{domain-runtime → spec}/errors/to-implementation-errors.d.ts +0 -0
- /package/dist/domain/{domain-runtime → spec}/errors/to-implementation-errors.js +0 -0
- /package/dist/{application-spec/core → domain/spec}/expressions/index.js +0 -0
- /package/dist/{application-spec/core → domain/spec}/expressions/relation-expression-params.d.ts +0 -0
- /package/dist/{application-spec/core → domain/spec}/expressions/sdk-expression-implementation.d.ts +0 -0
- /package/dist/{application-spec/core → domain/spec}/expressions/sdk-expression-implementation.js +0 -0
- /package/dist/{application-spec/parse-application-files/spec/components → domain/spec/markers}/component-prop-target.d.ts +0 -0
- /package/dist/{application-spec/parse-application-files/spec/components → domain/spec/markers}/component-prop-target.js +0 -0
- /package/dist/{application-spec/core → domain/spec}/markers/eval-marker.d.ts +0 -0
- /package/dist/{application-spec/core → domain/spec}/markers/eval-marker.js +0 -0
- /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/element-registration.js +0 -0
- /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/handler-registration.d.ts +0 -0
- /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/handler-registration.js +0 -0
- /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-action-modules.js +0 -0
- /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-component-optic-modules.js +0 -0
- /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-expression-modules.js +0 -0
- /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-invariant-modules.js +0 -0
- /package/dist/{application-spec/generate-application/implementations → domain/spec/phx}/phx-domain.d.ts +0 -0
- /package/dist/{application-spec/generate-application/implementations → domain/spec/phx}/phx.js +0 -0
- /package/dist/{application-spec/generate-application → domain/spec}/runtime/admin-runtime/states-runtime.js +0 -0
- /package/dist/{application-spec/generate-application → domain/spec}/runtime/configurator-runtime/states-runtime.js +0 -0
- /package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/expressions}/reflection-constants-runtime.js +0 -0
- /package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/factory-data-runtime.js +0 -0
- /package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/index.d.ts +0 -0
- /package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/index.js +0 -0
- /package/dist/{application-spec/generate-application → domain/spec}/runtime/migrations/index.d.ts +0 -0
- /package/dist/{application-spec/generate-application → domain/spec}/runtime/migrations/index.js +0 -0
- /package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/optics}/component-optic.js +0 -0
- /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/actions-runtime.js +0 -0
- /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/assistant-runtime.js +0 -0
- /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/data-runtime.js +0 -0
- /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/preset-runtime.js +0 -0
- /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/theme-runtime.js +0 -0
- /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/transformers-runtime.js +0 -0
- /package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-code/index.d.ts +0 -0
- /package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-code/index.js +0 -0
- /package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-code/resolve-spec-code.js +0 -0
- /package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-code/spec-code-module.d.ts +0 -0
- /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/decode-runtime-spec.d.ts +0 -0
- /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/decode-runtime-spec.js +0 -0
- /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/encode-runtime-spec.d.ts +0 -0
- /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/encode-runtime-spec.js +0 -0
- /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/encoded-runtime-spec.d.ts +0 -0
- /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/encoded-runtime-spec.js +0 -0
- /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/runtime-spec.js +0 -0
- /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/spec-code-id.js +0 -0
- /package/dist/domain/{application/assistant/assistant-resolved-manifest.js → spec/sections/assistant/assistant-manifest.js} +0 -0
- /package/dist/domain/{application → spec/sections}/assistant/form/assistant-form-element-name.d.ts +0 -0
- /package/dist/domain/{application → spec/sections}/assistant/form/assistant-form-element-name.js +0 -0
- /package/dist/domain/{application → spec/sections}/assistant/form/assistant-form-elements.d.ts +0 -0
- /package/dist/domain/{application → spec/sections}/assistant/form/assistant-form-elements.js +0 -0
- /package/dist/domain/{application → spec/sections}/assistant/form/assistant-resource-path.d.ts +0 -0
- /package/dist/domain/{application → spec/sections}/assistant/form/assistant-resource-path.js +0 -0
- /package/dist/domain/{application → spec/sections}/assistant/form/index.d.ts +0 -0
- /package/dist/domain/{application → spec/sections}/assistant/form/index.js +0 -0
- /package/dist/{configurator/configurator-context → react-sdk/domain-application-context}/OnPresetLoadedHandler.d.ts +0 -0
- /package/dist/{configurator/configurator-context → react-sdk/integration}/IntegrationSubscription.d.ts +0 -0
- /package/dist/{configurator/configurator-context → react-sdk/lifecycle-providers}/LifecycleProviders.d.ts +0 -0
- /package/dist/{configurator/configurator-context → react-sdk/preset-selection}/PresetSelectionProvider.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{DiagnosticCode as e}from"./diagnostic-codes.js";export const diagnosticMessages={[e.EMPTY_SPEC_FILE]:()=>'Spec file is empty. Every spec file must define at least one section ("model:", "components:", or "presets:"). Add content or remove the file.',[e.YAML_PARSE_ERROR]:e=>`YAML parse error: ${e}. Check for indentation issues, missing colons, or unquoted special characters.`,[e.NON_FINITE_NUMBER]:(e,t)=>`Invalid number at "${e}": ${t} is not a finite number. JSON, the schemas and the stored configuration have no infinite or not-a-number value, so it cannot be checked or saved. Write a finite number, or leave the key out if it sets no limit.`,[e.SCHEMA_PARSE_ERROR]:(e,t)=>`Invalid value at "${e}": ${t}. Refer to the spec documentation for the expected structure at this path.`,[e.IMPORT_MODULE_NOT_FOUND]:(e,t)=>`Import module "${e}" resolves to "${t}", but no matching project source file exists. Add the source file or update import.module to a path relative to this spec file.`,[e.IMPORT_MODULE_OUTSIDE_PROJECT]:(e,t)=>`Import module "${e}" resolves outside the project root as "${t}", so its target cannot be verified. Confirm that the external file exists and that the path is intentional.`,[e.MOCK_TEMPLATE_PARSE_ERROR]:e=>`Mock template parse warning: ${e}. The mock template was skipped. Fix the YAML or remove the file.`,[e.MERGE_CONFLICT]:(e,t,n,a)=>`"model.${e}.${t}" is defined in both "${n}" and "${a}". Each subsection (entityTypes, aliases, shapes, commonTypes) can only appear once per version. Move all "${t}" for "${e}" into one file.`,[e.MISSING_MODEL]:e=>`No "${e}" section found. Every application must define at least "${e}.latest" with entity types and aliases. Add a "${e}:" section to a spec file.`,[e.MISSING_LATEST]:e=>`"${e}.latest" is missing. The "latest" version defines the current working model and is always required. Add "latest:" under "${e}:".`,[e.INVALID_VERSION_KEY]:e=>`"${e}" is not a valid version key. Version keys must be "latest" or "v1", "v2", etc. Rename "${e}".`,[e.MISSING_VERSION]:e=>`Model version "v${e}" is missing. Versions must be contiguous (v1, v2, …, latest) with no gaps. Add "v${e}:" or remove higher versions.`,[e.NAME_CLASH]:(e,t,n)=>`Name "${t}" is used as both a ${e} and a ${n}. Names must be unique across entity types, aliases, and commonTypes within a version. Rename one of them.`,[e.INVALID_ENTITY_TYPE_NAME]:e=>`"${e}" is not a valid entity type name. Entity types must be PascalCase (e.g. "Product", "KitchenRange"). Rename it.`,[e.DUPLICATE_ENTITY_TYPE]:e=>`Entity type "${e}" is declared more than once. Entity types must be unique. Remove the duplicate.`,[e.INVALID_ALIAS_NAME]:e=>`"${e}" is not a valid alias name. Aliases must be PascalCase (e.g. "RootEntity", "EditableItems"). Rename it.`,[e.RESERVED_ALIAS_NAME]:e=>`"${e}" is a reserved alias. "AnyDomainEntity" is auto-generated from all entity types and cannot be user-defined. Choose a different name.`,[e.MISSING_ROOT_ENTITY]:()=>'"RootEntity" alias is not defined. Every model must have a "RootEntity" alias that identifies which entity types can be used as configuration roots. Add "RootEntity: [YourType]" to your aliases.',[e.CIRCULAR_ALIAS]:e=>`Circular alias reference: ${e}. An alias cannot reference itself, directly or through other aliases. Remove one reference in the cycle.`,[e.UNKNOWN_ALIAS_MEMBER]:(e,t)=>`Alias "${e}" references "${t}", which is not a declared entity type or alias. Check the spelling or add "${t}" to entityTypes.`,[e.UNKNOWN_SHAPE_KEY]:e=>`Shape "${e}" does not match any declared entity type or alias. Shapes can only be defined for names that appear in entityTypes or aliases. Check the spelling or add "${e}" to entityTypes.`,[e.UNKNOWN_REFERENCE_TARGET]:(e,t,n)=>`"${e}.${t}" references "${n}", which is not a declared entity type or alias. Check the spelling or add "${n}" to entityTypes.`,[e.RESERVED_PROPERTY]:(e,t)=>`Property "${e}" on "${t}" is reserved. "id" and "type" are injected automatically and cannot appear in shapes. Remove "${e}" from the shape.`,[e.INVALID_SHAPE_PROPERTY_NAME]:e=>`"${e}" is not a valid shape property name. Property names must match /^[a-z]\\w*$/ — start with a lowercase letter, then word characters only (e.g. "height", "positionX", "hoodId"). Rename the property.`,[e.UNKNOWN_PHX_DEFINITION]:(e,t)=>`$ref "${e}" references unknown phoenix type "${t}". Available built-in types include DomainEntityId, Localizable, MultilingualString. Check the spelling.`,[e.UNKNOWN_COMMON_TYPE_REF]:(e,t)=>`$ref "${e}" references unknown commonType "${t}". The target must be declared in commonTypes of the same model version. Check the spelling or add "${t}" to commonTypes.`,[e.INVALID_REF]:e=>`$ref "${e}" is not a recognized reference format. Use "phx:TypeName" for built-in types, "common:TypeName" for commonTypes, or "#/model/{version}/commonTypes/{name}" for explicit version refs.`,[e.MISSING_MIGRATION]:e=>`No migration file for v${e}. Every version from v2 onward needs a migration (src/migrations/v${e}.ts) that transforms state from the previous version. Create the file.`,[e.MIGRATION_INVALID_START]:e=>`Migration "${e}" starts below v2. v1 is the initial version with no predecessor to migrate from. Remove this file.`,[e.UNKNOWN_MIGRATION]:(e,t,n)=>`Migration "${e}" targets v${t}, but the latest model version is v${n}. There is no model version for this migration to apply to. Remove the file or add model version v${t}.`,[e.PROTECTED_SHAPE]:e=>`Shape "${e}" cannot be user-defined. This entity type is part of the built-in admin model and its shape is managed by the system. Remove this shape.`,[e.PROTECTED_ALIAS]:e=>`Alias "${e}" cannot be user-defined in admin files. "RootEntity" and "CommonAdminEntity" are managed by the built-in admin model. Choose a different name.`,[e.RESERVED_ALIAS]:e=>`Alias "${e}" is auto-generated and cannot be user-defined. Remove this alias definition.`,[e.ALIAS_INCLUDES_COMMON]:(e,t)=>`Alias "${e}" includes "${t}", which is a built-in admin entity type. User aliases cannot include built-in admin types. Remove "${t}" from the alias.`,[e.PROTECTED_INVARIANT]:(e,t)=>`Invariant "${e}.${t}" is a built-in common admin invariant and cannot be overridden. Remove this declaration; the built-in implementation is always applied.`,[e.PROTECTED_RELATION]:(e,t)=>`Relation "${e}.${t}" is a built-in common admin relation and cannot be overridden. Remove this declaration; the built-in relation is always applied.`,[e.PROTECTED_EXPRESSION]:(e,t)=>`Expression "${e}.${t}" is reserved for the built-in common admin spec and cannot be user-defined. Rename this expression.`,[e.PROTECTED_COMMON_TYPE]:e=>`Common type "${e}" is part of the built-in admin model and cannot be user-defined. Choose a different name.`,[e.PROTECTED_ENTITY_TYPE]:e=>`Entity type "${e}" is part of the built-in admin model and cannot be re-declared. Remove it from entityTypes.`,[e.PRESET_UNKNOWN_ROOT_ENTITY_TYPE]:(e,t)=>`Preset rootEntityType "${e}" is not allowed. Allowed root types: ${t.join(", ")}. Use one of these or update the RootEntity alias.`,[e.PRESET_UNKNOWN_ENTITY_TYPE]:(e,t,n)=>`Preset entity "${e}" has type "${t}", which is not a declared entity type. Declared types: ${n.join(", ")}. Fix the type or add "${t}" to entityTypes.`,[e.PRESET_INVALID_ENTITY_ID_FORMAT]:e=>`Entity ID "${e}" does not follow the required format. IDs must match "TypeName-N" (e.g. "Product-1", "Hood-42"). Rename it.`,[e.PRESET_MISSING_ROOT_ENTITY]:e=>`Preset declares rootEntityType "${e}" but no entity of that type exists in initialDomainEntities. Add an entity with type "${e}".`,[e.PRESET_MULTIPLE_ROOT_ENTITIES]:(e,t)=>`Preset has ${t} entities of type "${e}", but exactly one root entity is required. Remove the extra "${e}" entities.`,[e.PRESET_ENTITY_SCHEMA_VIOLATION]:(e,t,n,a)=>`Preset entity "${e}" (${t}) has invalid data at ${n}: ${a}. Fix the value to match the entity schema.`,[e.PRESET_DUPLICATE_ENTITY_ID]:e=>`Preset entity ID "${e}" is used more than once. Entity IDs must be unique in a preset. Rename or remove the duplicate entity.`,[e.PRESET_ENTITY_ID_TYPE_MISMATCH]:(e,t,n)=>`Preset entity "${e}" has type "${t}", but its ID starts with "${n}". IDs must use the entity type prefix. Rename the ID to start with "${t}-" or change the entity type.`,[e.PRESET_UNKNOWN_REFERENCE]:(e,t,n)=>`Preset entity "${e}" references "${n}" from "${t}", but no entity with that ID exists in the preset. Add the referenced entity or update the reference.`,[e.PRESET_REFERENCE_TYPE_MISMATCH]:(e,t,n,a,i)=>`Preset entity "${e}" references "${n}" from "${t}", but the referenced entity has type "${a}". Allowed target types: ${i.join(", ")}. Use a matching entity ID.`,[e.PRESET_RELATION_CARDINALITY_VIOLATION]:(e,t,n,a)=>`Preset entity "${e}" violates relation "${t}" cardinality "${n}". The relation resolves ${a} entities. Add or remove referenced entities so the relation matches its cardinality.`,[e.PRESET_COMPOSITION_MULTIPLE_PARENTS]:(e,t,n)=>`Preset entity "${e}" is composed by both "${t}" and "${n}". Composition must form one tree. Remove one parent reference.`,[e.PRESET_COMPOSITION_CYCLE]:e=>`Preset composition contains a cycle at "${e}". Composition must form a tree from the root entity. Remove the cyclic reference.`,[e.PRESET_ENTITY_NOT_IN_COMPOSITION_TREE]:(e,t)=>`Preset entity "${e}" is not reachable from root entity "${t}" through composedOf relations. Add a composition relation path from the root or remove the entity.`,[e.ADMIN_PRESET_MULTIPLE_PER_FILE]:(e,t)=>`Admin file "${e}" has ${t} presets. Only 1 preset per admin file is allowed. Split into separate files or merge into one preset.`,[e.ADMIN_PRESET_ROOT_TYPE_NOT_ADMIN]:(e,t)=>`Admin preset in "${e}" has rootEntityType "${t}". Admin presets must always use rootEntityType "Admin". Change it to "Admin".`,[e.ACTIONS_IN_ADMIN_FILE]:e=>`"${e}" is an admin spec file ("$admin: true") but declares "actions". Actions run in the configurator domain only; the admin domain has none. Move the "actions" block to a configurator spec file, or remove it.`,[e.INVALID_ACTION_NAME]:e=>`"${e}" is not a valid action name. Action names are camelCase identifiers without a prefix (e.g. "movePartBy", "swapCabinets"), since they also name the implementation, the generated types and the assistant mutation. Rename it.`,[e.ACTION_UNKNOWN_REFERENCE_TARGET]:(e,t,n)=>`"${e}.${t}" references "${n}", which is not an entity type or alias of the latest model. A "references" target types the entity id or entity the param or result member holds. Check the spelling or add "${n}" to entityTypes.`,[e.EXPRESSION_UNKNOWN_ENTITY_KEY]:(e,t)=>`Expression key "${e}" is not a declared entity type or alias. Known names: ${t.join(", ")}. Check the spelling or add "${e}" to entityTypes.`,[e.INVALID_EXPRESSION_NAME]:e=>`"${e}" is not a valid expression name. Expression names must start with "$" followed by camelCase (e.g. "$price", "$isValid"). Rename it.`,[e.DUPLICATE_EXPRESSION]:(e,t,n,a)=>`Expression "${e}.${t}" is produced by both "${n}" and "${a}" after alias expansion. Expression names must be unique for each concrete entity type. Remove one declaration or rename it.`,[e.EXPRESSION_RELATION_CONFLICT]:(e,t)=>`Expression "${e}.${t}" is declared in both "expressions:" and generated by a relation. User expressions cannot shadow relation-derived expressions. Remove the user declaration or rename the relation.`,[e.CONSTANTS_EXPRESSION_CONFLICT]:(e,t)=>`Expression "${e}.${t}" is declared in both "constants:" and "expressions:" in the same file. Use only one source of truth and migrate the legacy constant into "expressions:".`,[e.COMPONENT_RELATION_CONFLICT]:(e,t)=>`Component "${e}::${t}" is declared in both "components:" and generated by a relation. User components cannot shadow relation-derived components. Remove the user declaration or rename the relation.`,[e.COMPONENT_ALIAS_CONFLICT]:(e,t,n,a,i)=>`Component instance "${e}.${t}.${n}" is produced by both "${a}" and "${i}". Component instance names must be unique after alias expansion. Rename one instance or move the shared properties to one declaration.`,[e.COMPONENT_IMPORT_REF_UNSUPPORTED]:(e,t,n,a,i,s)=>`Component prop "${e}.${t}.${n}.${a}" uses unsupported $importRef "${i}#${s}". Application-spec component values are part of the webhook-included domain and cannot reference frontend modules. Fix: remove $importRef from the spec and attach the component from a frontend-only file in src/components.`,[e.COMPONENT_DATA_REF_UNSUPPORTED]:(e,t,n,a,i,s)=>`Component prop "${e}.${t}.${n}.${a}" combines "$read: ${i}" with the legacy "$data: ${s}" marker. Application-spec components resolve "$read" against entity fields and declared expressions only, so the combined marker never becomes a binding. Fix: remove "$data" and implement "${i}" with createDataSwatchMap('${s.split(".").at(-1)??s}') in the project's custom expressions.`,[e.INVALID_INVARIANT_NAME]:e=>`"${e}" is not a valid invariant name. Invariant names must start with a lowercase letter and contain only word characters (e.g. "nameNotEmpty"). Rename it.`,[e.INVALID_VIOLATION_TYPE_NAME]:e=>`"${e}" is not a valid violation type. Violation types must start with a lowercase letter and contain only letters, digits, underscores, or hyphens (e.g. "name-empty"). Rename it.`,[e.INVARIANT_UNKNOWN_ENTITY_KEY]:(e,t)=>`Invariants are declared for "${e}", which is not an entity type or alias in the model. Known names: ${t.join(", ")}. Check the spelling or add "${e}" to entityTypes.`,[e.INVARIANT_MANUAL_VIOLATIONS_COMPONENT]:e=>`Component "violations" on "${e}" cannot be declared manually because invariant parsing generates it automatically. Remove the manual component declaration.`,[e.INVARIANT_VIOLATIONS_EXPRESSION_CONFLICT]:(e,t)=>`Expression "${e}.$violations" is declared in "${t}:" but invariant parsing generates it automatically for the same entity type. Remove the declaration or rename it.`,[e.INVALID_RELATION_NAME]:e=>`"${e}" is not a valid relation name. Relation names must start with "$" followed by camelCase (e.g. "$top", "$legs"). Rename it.`,[e.RELATION_UNKNOWN_ENTITY_KEY]:(e,t)=>`Relations declared for "${e}" which is not an entity type or alias in the model. Known names: ${t.join(", ")}. Check the spelling or add "${e}" to entityTypes.`,[e.RELATION_UNKNOWN_TARGET]:(e,t,n,a)=>`Relation "${e}.${t}" targets "${n}" which is not an entity type or alias in the model. Known names: ${a.join(", ")}. Check the spelling or add "${n}" to entityTypes.`,[e.RELATION_UNKNOWN_FIELD_DIRECT]:(e,t,n)=>`Relation "${e}.${t}" references field "${n}" which does not exist in the shape of "${e}". Add "${n}" to the "${e}" schema or pick a different field.`,[e.RELATION_UNKNOWN_FIELD_INDIRECT]:(e,t,n,a)=>`Relation "${e}.${t}" references field "${n}" which does not exist in the shape of target "${a}". Add "${n}" to the "${a}" schema or pick a different field.`,[e.RELATION_IMMUTABLE_FIELD]:(e,t,n,a)=>`Relation "${e}.${t}" uses implicit field "${n}" on "${a}" as a relation reference holder. Implicit fields "id" and "type" are immutable and cannot hold relation references. Choose a writable shape field on "${a}".`,[e.RELATION_FIELD_NOT_REFERENCE]:(e,t,n,a)=>`Relation "${e}.${t}" uses field "${n}" of "${a}", which is not a reference field. A relation reads the ids of its related entities from the field, so the field must be a "phx:DomainEntityId" with "references", such a reference or null, or an array of such references. Declare "${n}" that way in the shape of "${a}" or pick a different field.`,[e.RELATION_FIELD_REFERENCES_OTHER_TYPES]:(e,t,n,a,i,s,o)=>{let r=1===o.length&&o[0]===s?"":` (${o.join(", ")})`;return`Relation "${e}.${t}" uses field "${n}" of "${a}", which references ${i.join(", ")}, but the relation relates to "${s}"${r}. The field of a direct relation must reference exactly the entity types of its target, and the field of an indirect relation exactly the entity types the relation is declared on. Make "${a}.${n}" reference "${s}" or pick a different field.`},[e.RELATION_FIELD_CARDINALITY_MISMATCH]:(e,t,n,a,i,s)=>{let o={single:"one reference that is never null",nullableSingle:"one reference or null",array:"an array of references"};return`Relation "${e}.${t}" has cardinality "${a}", which needs a field that holds ${o[s]}, but "${e}.${n}" holds ${o[i]}. A direct relation with cardinality "1-1" reads one reference that is never null, "0-1" one reference or null, and "0-N" or "1-N" an array of references. Change the cardinality or the schema of "${n}".`},[e.RELATION_MISSING_COUNTERPART]:(e,t,n,a,i,s)=>{let o=void 0!==i?` with field "${i}"`:"",r=s?`Set "composedOf: false" on the counterpart because "${e}.${t}" already owns the composition.`:'Set "composedOf: false" on the counterpart for a cross-reference, or "composedOf: true" if the counterpart should own the composition.';return`Relation "${e}.${t}" (${n} → "${a}"${void 0!==i?`, field "${i}"`:""}) has no counterpart on "${a}". Every relation must be declared from both sides — add a "${"allOfType"===n?"allOfType":"direct"===n?"indirect":"direct"}" relation on "${a}" targeting "${e}"${o}. ${r}`},[e.RELATION_COUNTERPART_COMPOSED_OF_MISMATCH]:(e,t,n,a)=>`Relation "${e}.${t}" and its counterpart "${n}.${a}" both use "composedOf: true". A relation pair can have at most one composition owner — set "composedOf: false" on one side.`,[e.RELATION_ENTITY_NOT_IN_COMPOSITION_TREE]:(e,t)=>`Entity "${e}" is not reachable from any root entity type (${t.join(", ")}) via "composedOf: true" relations. Every declared entity must be part of the composition tree, otherwise instances of it can never appear in a valid domain state. Add a relation with "composedOf: true" from a reachable parent, or include "${e}" in the RootEntity alias.`,[e.DUPLICATE_DATA_SCHEMA]:(e,t,n)=>`"${e}" is defined in both "${t}" and "${n}". Each data schema can only be declared in one file. Remove the duplicate.`,[e.ADMIN_DATA_SCHEMA]:(e,t)=>`"${e}" is declared in admin spec "${t}". Data schemas are configurator-only. Move "${e}" to a non-admin spec file.`,[e.SESSION_DATA_REQUIRED_PROPERTIES]:(e,t)=>`sessionData in "${t}" declares required properties (${e.map(e=>`"${e}"`).join(", ")}), but admin and preset sessions do not carry custom session data. Remove these properties from required or set required to an empty array.`,[e.CLERK_SESSION_DATA_INCOMPATIBLE]:e=>`sessionData is not compatible with the built-in Clerk session payload: ${e.join("; ")}. When "useClerk" is true, the SDK's Clerk auth handlers return { id: string, accessToken: string, tags: string[], emailAddress: string, fullName: string | null }, and runtime session parsing rejects any payload the schema does not accept. Declare all five properties with these exact types (the "type" keyword is compared literally, so $ref, anyOf, and oneOf forms are not recognized) and keep them out of "required" so anonymous sessions stay valid. Extra project-defined properties are allowed.`,[e.RESERVED_PUBLISHED_DATA_KEY]:e=>`publishedData property "${e}" is reserved by the admin system. Properties like "presetCategories" and "recipes" are auto-injected. Remove "${e}" from your publishedData properties.`,[e.DUPLICATE_STATE_FIELD]:(e,t,n)=>`"${e}" is defined in both "${t}" and "${n}". Each state field can only be declared in one file. Remove the duplicate.`,[e.INVALID_STATE_KEY]:(e,t)=>`State key "${t}" in "${e}" is not a valid identifier. State keys must start with a letter and contain only letters, digits, or underscores (e.g. "overview", "detailView"). Rename it.`,[e.DUPLICATE_STATE_VALUE]:(e,t)=>`State value "${t}" appears more than once in "${e}". Each value within a state array must be unique. Remove the duplicate.`,[e.DUPLICATE_THEME_FIELD]:(e,t,n)=>`"${e}" is defined in both "${t}" and "${n}". Each theme field can only be declared in one file. Remove the duplicate.`,[e.DUPLICATE_UI_FIELD]:(e,t,n)=>`"${e}" is defined in both "${t}" and "${n}". Each UI field can only be declared in one file. Remove the duplicate.`,[e.CONFLICTING_TRANSFORMERS]:(e,t)=>`Transformers are declared in both "${e}" and "${t}". The "transformers" section can only appear in one spec file. Move all transformers into a single file.`,[e.DUPLICATE_TRANSFORMER]:(e,t)=>`Transformer "${e}" is declared twice in "${t}". Transformer names must be unique within the file. Remove the duplicate entry.`,[e.DUPLICATE_TRANSFORMER_FILE]:(e,t)=>`Transformer files "${e}" and "${t}" resolve to the same transformer name. Transformers are matched by file name, ignoring folders, letter case, and dashes. Rename one of the files so every transformer file name is unique.`,[e.UNMATCHED_TRANSFORMER]:(e,t)=>`Transformer "${e}" has no matching file in "src/transformers/". Every name listed under "transformers:" must correspond to a transformer module. ${t.length>0?`Available transformers: ${t.map(e=>`"${e}"`).join(", ")}. Check the spelling or add "src/transformers/${e}.ts".`:`No transformer files were found in "src/transformers/". Add "src/transformers/${e}.ts" or remove the entry.`}`,[e.DUPLICATE_APP_METADATA_FIELD]:(e,t,n)=>`"${e}" is defined in both "${t}" and "${n}". Each metadata field can only be declared in one file. Remove the duplicate.`,[e.DUPLICATE_INFRA_FIELD]:(e,t,n)=>`"${e}" is defined in both "${t}" and "${n}". Each infrastructure field can only be declared in one file. Remove the duplicate.`,[e.DUPLICATE_RESOURCE_NAME]:(e,t,n)=>`Resource name "${e}" is used by the entries at index ${t} and ${n} of "resources". A resource name identifies one resource. Rename one of the two entries or remove the duplicate.`,[e.INVALID_APPLICATION_VERSION]:e=>`"${e}" is not a valid applicationVersion. Version must be semver (x.y.z) using three numeric segments (e.g. "1.0.0", "2.3.12"). Update "applicationVersion" to match.`,[e.INVALID_ENV_VAR_KEY]:(e,t)=>`"${t}" is not a valid env.${e} variable name. Env var names must match /^[A-Z_][A-Z0-9_]*$/ — uppercase letters, digits, and underscores; must not start with a digit (e.g. "API_URL", "_PRIVATE_FLAG"). Rename the variable.`,[e.DUPLICATE_ADMIN_PAGES]:(e,t)=>`"$adminPages" is defined in both "${e}" and "${t}". Admin pages can only be declared in one admin spec file. Move all "$adminPages" settings into one admin file.`,[e.ADMIN_PAGES_NAV_STATE_CONFLICT]:e=>`Admin navigation states [${e.join(", ")}] are declared manually and generated from "$adminPages". Remove the manual entries from "navigationStates" in the admin spec or change the "$adminPages" navigationState values.`,[e.ADMIN_PAGE_DATA_ENTRY_CONFLICT]:(e,t)=>`"$adminPages.pages.${e}.connectedDataEntry" references data entry "${t}". This data entry already creates an inferred admin data page. Remove the explicit admin page connection or change the data entry kind.`,[e.CONFLICTING_BUDGETS]:(e,t)=>`"budgets" is declared in both "${e}" and "${t}". The "budgets" section can only appear in one spec file. Move all bundle-size budgets into a single file.`,[e.CONFLICTING_CHUNKS]:(e,t)=>`"chunks" is declared in both "${e}" and "${t}". The "chunks" section can only appear in one spec file. Move all chunk definitions into a single file.`,[e.CONFLICTING_ASSISTANT]:(e,t)=>`"assistant" is declared in both "${e}" and "${t}". The "assistant" manifest can only appear in one spec file. Move the whole "assistant" section into a single file.`,[e.ASSISTANT_UNKNOWN_TYPE]:(e,t)=>`"assistant.${e}.${t}" does not name an entity type or alias of the latest model, so it has nothing to ${({entities:"expose",deletable:"make deletable",writable:"make writable",childRecipes:"add children to",replaceRecipes:"replace",screenshots:"take screenshots of"})[e]}. Use an entity type or alias name from "model.latest", or remove the entry.`,[e.ASSISTANT_UNKNOWN_FIELD]:(e,t,n)=>n.startsWith("$")?`"assistant.entities.${t}.${n}" is not an expression declared on "${t}". The assistant schema exposes expressions declared in "expressions", "constants" or "relations" on the entity type or alias itself, and on an entity type also those of its aliases; an expression only inferred from a component "$read" is not declared. Declare "${n}" in "expressions", "constants" or "relations" on "${t}" (for an entity type, an alias containing it also works), or remove the entry.`:`"assistant.${e}.${t}.${n}" is not a stored field of "${t}". The assistant schema ${"entities"===e?"exposes":"writes"} shape properties of the entity type or alias, including fields every alias member has. Use a property from the "${t}" shape, or remove the entry.`,[e.ASSISTANT_UNSUPPORTED_EXPRESSION]:(e,t)=>`"assistant.entities.${e}.${t}" whitelists the "$violations" expression, which the assistant schema does not expose yet: violations get their own typed edge in CON-2869. Remove the entry.`,[e.ASSISTANT_NOT_WRITABLE]:(e,t)=>`"assistant.writable.${e}.${t}" cannot be written: ${t.startsWith("$")?"an expression is computed from the state, not stored":`"${t}" identifies the entity and never changes`}. Only stored shape properties other than "id" and "type" can be writable. Remove the entry${t.startsWith("$")?", or make the stored fields the expression reads writable instead":""}.`,[e.ASSISTANT_UNKNOWN_RECIPE_GROUP]:({section:e,component:t},n,a,i,s)=>`"assistant.${e}.${n}.groups.${a}" does not name a "${t}" component instance on "${i}", so there are no recipes to expose. ${s.length>0?`"${i}" has these "${t}" instances: ${s.join(", ")}.`:`"${i}" has no "${t}" component.`} Use the instance name of a "${t}" component attached to the entity type or to an alias containing it, or remove the entry.`,[e.ASSISTANT_DUPLICATE_RECIPE_GROUP]:({section:e,mutation:t},n,a,i)=>`"${n}" gets the recipe group id "${a}" from both "assistant.${e}.${i.join(`" and "assistant.${e}.`)}", but "${t}" finds a group of an entity by its id. The entries may come from "${n}" itself or from aliases containing it. Give one of them another id with "as".`,[e.ASSISTANT_META_TYPE_NAME_CONFLICT]:(e,t)=>`This entry exposes a recipe group, the options of a field or a screenshot view on "${e}", so the assistant schema generates the type "${t}" for them, but the model already has an entity type or alias named "${t}". Rename that entity type or alias, or remove every "assistant.childRecipes" and "assistant.replaceRecipes" group, every "options" of a writable field and every "assistant.screenshots" view of "${e}".`,[e.ASSISTANT_UNKNOWN_OPTIONS_COMPONENT]:(e,{componentType:t,instanceName:n},a,i)=>`"assistant.writable.${e}.options" names the "${t}" instance "${n}", which "${a}" does not have, so there are no choices to list. ${i.length>0?`"${a}" has these "${t}" instances: ${i.join(", ")}.`:`"${a}" has no "${t}" component.`} Use the name of a "${t}" instance attached to the entity type or to an alias containing it, correct "componentType", or remove "options".`,[e.ASSISTANT_RESERVED_OPTIONS_EDGE_NAME]:(e,t,n)=>`"assistant.writable.${e}.options" would add the edge "${t}" to the meta type, but that name is taken by a built-in of the meta type: the recipe groups edges or the screenshot field. Name the edge differently with "as", e.g. "as: ${n}Choices".`,[e.ASSISTANT_DUPLICATE_OPTIONS_EDGE]:(e,t,n)=>`"${e}" gets ${"edgeName"in t?`the options edge "${t.edgeName}"`:`options for the field "${t.field}"`} from both "assistant.writable.${n.join('.options" and "assistant.writable.')}.options", but ${"edgeName"in t?"one edge lists the choices of one field":"a written value is checked against one list of choices"}. The entries may come from "${e}" itself or from aliases containing it. ${"edgeName"in t?'Give one of them another name with "as", or remove':"Remove"} "options" from one of them.`,[e.ASSISTANT_UNKNOWN_SCREENSHOT_VIEW]:(e,t,n,a)=>`"assistant.screenshots.${e}.${t}" does not name an "agentScreenshot" component instance on "${n}", so there is no view to take a screenshot from. ${a.length>0?`"${n}" has these "agentScreenshot" instances: ${a.join(", ")}.`:`"${n}" has no "agentScreenshot" component.`} Use the instance name of an "agentScreenshot" component attached to the entity type or to an alias containing it, or remove the entry.`,[e.ASSISTANT_UNKNOWN_SCREENSHOT_EXPORT_STATE]:(e,t,n,a)=>`"assistant.screenshots.${e}.${t}" exposes the view "${t}", whose "agentScreenshot" component renders in the export state "${n}", but the spec declares no such export state, so the screenshot could never be taken. The declared export states are: ${a.join(", ")}. Set "exportState" of the component to one of them, or declare "${n}" under "exportStates".`,[e.ASSISTANT_DUPLICATE_SCREENSHOT_VIEW]:(e,t,n)=>`"${e}" gets the screenshot view "${t}" from both "assistant.screenshots.${n.join('" and "assistant.screenshots.')}", but the agent asks for a view of an entity by its name. The entries may come from "${e}" itself or from aliases containing it. Give one of them another name with "as", or remove it.`,[e.ASSISTANT_INVALID_SCREENSHOT_VIEW_NAME]:(e,t,n)=>`"assistant.screenshots.${e}.${t}" exposes the view "${n}", but the agent asks for a view by a GraphQL enum value, which is letters, digits and "_", does not start with a digit and is not "true", "false" or "null". Give the view a valid name with "as".`,[e.ASSISTANT_SCREENSHOT_VIEW_TYPE_NAME_CONFLICT]:(e,t)=>`This entry exposes a screenshot view on "${e}", so the assistant schema generates the enum "${t}" of its views, but the model already has an entity type or alias named "${t}". Rename that entity type or alias, or remove every "assistant.screenshots" view of "${e}".`,[e.ASSISTANT_UNKNOWN_ACTION]:(e,t)=>`"assistant.actions.${e}" does not name an action declared under "actions"${t.length>0?`; the declared actions are: ${t.join(", ")}`:"; the spec declares no actions"}. Declare the action in an "actions" block of a spec file and implement it in src/actions/, or remove the entry.`,[e.ASSISTANT_MUTATION_NAME_CONFLICT]:(e,t,n)=>`"assistant.actions.${e}" exposes the mutation "${t}", which ${n}. One Mutation field runs one change. Expose the action under another name with "as", e.g. "as: ${t}Action".`,[e.ASSISTANT_ACTION_RESULT_TYPE_CONFLICT]:(e,t,n)=>`"assistant.actions.${e}" exposes the mutation "${t}", so the assistant schema generates the type "${n}" for its result, but that name is taken by an entity type, alias, generated meta type, built-in type or another action's result. Expose the action under another name with "as", or rename the conflicting type.`,[e.ASSISTANT_UNKNOWN_LENS]:(e,t,n)=>`"assistant.entities.${e}" is tagged with the lens "${t}", which is not declared under "assistant.lenses"${n.length>0?`; the declared lenses are: ${n.join(", ")}`:"; the manifest declares no lenses"}. Declare "${t}" under "assistant.lenses" with a "description", or remove the tag.`,[e.ASSISTANT_EMPTY_LENS]:e=>`"assistant.lenses.${e}" is declared, but no entry under "assistant.entities" is tagged with it, so the agent would be offered a lens that selects nothing. Tag the fields and expressions of the lens with "lenses: [${e}]", or remove the lens.`,[e.ASSISTANT_RESERVED_LENS_NAME]:(e,t)=>`"assistant.lenses.${e}" has the name of a built-in lens (${t.join(", ")}), which the assistant schema defines itself. Rename the lens and the tags that name it.`,[e.ASSISTANT_FORM_ELEMENT_BUILT_IN_NAME]:(e,t)=>`"assistant.formElements.${e}" has the name of a built-in form element (${t.join(", ")}), and a project element cannot replace one; restyle a built-in through the theme instead. Rename the element and the name its implementation registers.`,[e.ASSISTANT_FORM_ELEMENT_HTML_NAME]:e=>`"assistant.formElements.${e}" has the name of an HTML element, so form markup that uses it could be read as HTML. Rename the element and the name its implementation registers, e.g. "${e}-field".`,[e.ASSISTANT_FORM_ATTRIBUTE_RESERVED_NAME]:(e,t)=>`"assistant.formElements.${e}.attributes.${t}" declares the built-in attribute "${t}", which every form element takes already as the text the user sees and the name of its answer. Remove the declaration, or rename the attribute if it means something else.`,[e.ASSISTANT_FORM_ELEMENT_UNKNOWN_REQUIRED]:(e,t,n)=>`"assistant.formElements.${e}.required" lists "${t}", which is not one of its declared attributes${n.length>0?` (${n.join(", ")})`:"; the element declares none"}. Declare the attribute under "attributes", or remove it from "required".`,[e.ASSISTANT_FIELD_SHAPE_CONFLICT]:(e,t)=>`The assistant schema exposes "${e}" in shapes that cannot be read together: ${t.map(({typeName:e,type:t})=>`${t} on "${e}"`).join(", ")}. A query that reaches entities of several types, such as "entities" or a lens, selects the field on all of them at once, and in GraphQL a single entity, a list of entities and a plain value cannot share a name. One name meaning different kinds of thing is an unusual model and confuses the assistant as well. Expose one of the entries under another name with "as".`,[e.ASSISTANT_RESERVED_FIELD_NAME]:(e,t,n)=>`"assistant.entities.${e}.${t}" is exposed as "${n}", which the assistant schema reserves ("id", "type" and "meta" are reserved on every type). Expose it under another name with "as", e.g. "as: ${t}Value".`,[e.ASSISTANT_FIELD_NAME_CONFLICT]:(e,t,n,a)=>void 0===a?`"${t}" on "${e}" in the assistant schema maps to both "${n.join('" and "')}", but one GraphQL field can read only one stored field or expression. The entries may come from "${e}" itself or from aliases containing it. Rename one of them with "as".`:`"assistant.writable.${a}" makes "${t}" writable on "${e}" without exposing it, so its delta field would be named "${t}", but "assistant.entities" already exposes "${n[0]}" on "${e}" under that name. One name cannot read one stored field or expression and write another. Expose "${t}" in "assistant.entities" under another name with "as", or rename the entry that exposes "${n[0]}".`,[e.ASSISTANT_RESERVED_TYPE_NAME]:(e,t)=>`"${e}" is an entity type or alias name that the assistant GraphQL schema reserves for its own types (${t.join(", ")}), so the schema cannot be generated. Rename the entity type or alias, or remove the "assistant" section.`,[e.ASSISTANT_INVALID_SCHEMA]:e=>`The GraphQL schema generated from the "assistant" manifest is invalid: ${e.join(" ")} This usually means aliases sharing an entity whitelist the same field with different types. Whitelist the field on one alias only, or rename one entry with "as".`,[e.INVALID_CHUNK_KEY]:e=>`"${e}" is not a valid chunk key. Chunk keys must be lowercase kebab-case matching /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/ (e.g. "main", "swatch-data"). Rename the chunk.`,[e.RESERVED_CHUNK_KEY]:()=>'"system" is a reserved chunk key used for presets and recipes. It cannot be user-defined and is auto-injected after validation. Please use a different key name.',[e.CONFLICTING_DATA_ENTRY]:(e,t,n,a)=>`"$data.${e}.${t}" is defined in both "${n}" and "${a}". Each data entry key can only be declared once per section. Move the entry into one file, delete the duplicate, or rename one entry.`,[e.INVALID_DATA_ENTRY_KEY]:(e,t)=>`"$data.${e}.${t}" is not a valid data entry key. Data entry keys must start with a letter, followed by letters, digits, or underscores (/^[A-Za-z]\\w*$/, e.g. "colorOptions" or "ColorOptions"). Rename the entry.`,[e.INVALID_DATA_DEFINITION_FIELD_KEY]:(e,t)=>`"$data.custom.${e}.definition.${t}" is not a valid field key. Definition field keys must match /^\\$?[a-z][\\w.-]*$/ — start with lowercase or "$", then letters, digits, "_", ".", or "-". Rename the field.`,[e.UNKNOWN_DATA_CHUNK]:(e,t,n)=>`"$data.${e}.${t}" references unknown chunk "${n}". The chunk reference must match a key declared under "chunks:". Add the chunk or update the entry chunk.`,[e.INVALID_DATA_VALUE]:(e,t,n,a)=>`"$data.custom.${e}.values[${t}].${n}" has an invalid value. Expected ${a}. Fix the value or update the field definition.`,[e.DEFAULTS_UNKNOWN_ENTITY_KEY]:(e,t)=>`Defaults declared for "${e}" which is not an entity type or alias in the model. Known names: ${t.join(", ")}. Check the spelling or add "${e}" to entityTypes.`,[e.DEFAULTS_UNKNOWN_PROPERTY]:(e,t,n,a)=>{let i=n.length>0?n.join(", "):"(none)",s=a&&a.length>0?` Alias member(s) missing "${t}": ${a.join(", ")}.`:"";return`Default "${e}.${t}" refers to a property that does not exist on the shape of "${e}". Known properties: ${i}.${s} Remove the default or add "${t}" to the shape.`},[e.DEFAULTS_SCHEMA_VIOLATION]:(e,t,n,a,i)=>{let s=i?` (alias member "${i}")`:"",o=n&&"(root)"!==n?` at "${n}"`:"";return`Default "${e}.${t}"${s} does not match the entity shape${o}: ${a}. Defaults must be assignable to their shape property. Fix the value or update the shape.`},[e.DEFAULTS_INCOMPLETE]:(e,t,n)=>{let a=n.some(t=>t!==e)?` (declared under ${n.map(e=>`"${e}"`).join(", ")})`:"";return`Defaults for "${e}"${a} are incomplete: missing ${t.join(", ")}. Defaults for an entity type must state every property of its shape, because the recipe factory validates them as a whole entity when the application loads. Add the missing properties under "${e}" or under an alias that contains it, or remove the defaults for "${e}".`},[e.DEFAULTS_DEPRECATED]:()=>'The "defaults:" section is deprecated. Defaults remain supported for legacy parity, but new specs should model initial values as "$data" entries — see spec/application-specification/parsing/data-chunks.md. Defaults are planned for removal once the $data migration path is documented.',[e.COMPONENT_INVALID_INSTANCE_NAME]:(e,t,n)=>`Component instance name "${n}" in "${e}.${t}" is not a valid identifier. Instance names must start with a letter and contain only letters, digits, or underscores (e.g. "default", "body", "main"). Rename it.`,[e.COMPONENT_MERGE_CONFLICT]:(e,t,n,a,i)=>`Component instance "${e}.${t}.${n}" is defined in both "${a}" and "${i}". Each component instance can only appear in one file. Remove the duplicate.`,[e.COMPONENT_UNKNOWN_ENTITY_KEY]:(e,t)=>`Components declared for "${e}" which is not an entity type or alias in the model. Known names: ${t.join(", ")}. Check the spelling or add "${e}" to entityTypes.`,[e.READ_BINDING_UNKNOWN_FIELD]:(e,t,n,a,i)=>`$read binding "${a}" in "${e}.${t}.${n}" references field "${i}" which does not exist in the shape of "${e}". Add "${i}" to the shape or fix the $read target.`,[e.COMPONENT_BINDING_TYPE_MISMATCH]:(e,t,n,a)=>`"${t}" at "${e}" reads a value of type ${n}, but the component expects ${a} there, so the generated code would not type-check. Read a field whose type fits, change the field's type, or compute the value in an expression.`,[e.COMPONENT_STATIC_ENTITY_ID]:(e,t,n)=>`"${e}" holds the value ${t} written in the spec, but the component expects ${n} there. An entity id is a branded type, so no value written in YAML is one and the generated code would not type-check. Read the id from the domain state with "$read" or "$bind" of a field or expression that holds it.`,[e.EXPRESSION_READ_TYPE_CONFLICT]:(e,t,n,a)=>`Expression "${t}" of "${e}" ${void 0===n?"":`is declared as ${n} and `}is read where components expect ${a.join(", and ")}. No value is of all these types, so its implementation cannot type-check. Read the expression only where its type fits, declare the type the components expect, or read another expression there.`,[e.EXPRESSION_VALUE_TYPE_MISMATCH]:(e,t,n)=>`Expression "${e}" holds a value of type ${t}, but its schema declares ${n}, so the generated code would not type-check. A "$msg" is a message descriptor: declare the expression as "$ref: phx:Localizable" or "$ref: phx:MessageDescriptor", or change the value.`,[e.WRITE_BINDING_UNKNOWN_FIELD]:(e,t,n,a,i)=>`$write/$bind "${a}" in "${e}.${t}.${n}" targets field "${i}" which does not exist in the shape of "${e}". Add "${i}" to the shape or fix the target.`,[e.WRITE_BINDING_IMMUTABLE_FIELD]:(e,t,n,a,i)=>`$write/$bind "${a}" in "${e}.${t}.${n}" targets implicit field "${i}". Implicit fields "id" and "type" are immutable and cannot be changed. Use $read to consume the field or choose a writable shape field.`,[e.WRITE_BINDING_EXPRESSION_TARGET]:(e,t,n,a,i)=>`$write/$bind "${a}" in "${e}.${t}.${n}" targets "${i}" which is an expression. Write targets must be entity shape fields, not expressions. Use $read for expression bindings, $write/$bind for shape fields.`,[e.WRITE_BINDING_DUPLICATE_TARGET]:(e,t,n,a,i,s)=>`Entity field "${a}" is written by both "${i}" and "${s}" in "${e}.${t}.${n}". Each entity field can only be written by one component property. Remove one of the bindings.`,[e.UNKNOWN_SRC_PATH]:e=>`File "${e}" is in an unknown src/ folder. Only known folders (expressions, actions, invariants, components, transformers, handlers, elements, webhooks, locales, admin/*, migrations) or _-prefixed shared folders are allowed. Move the file or rename the folder with a "_" prefix.`,[e.INVALID_SUBDIRECTORY]:(e,t)=>`File "${e}" is nested inside "${t}", but migrations must be flat. Move the migration file directly into "${t}" or prefix the folder with "_".`,[e.MISSING_WEBHOOK_INDEX]:()=>"Files found in src/webhooks/ but src/webhooks/index.ts is missing. The webhook entry point requires a default export from src/webhooks/index.ts. Create the file with a default export of your webhook handler.",[e.MODULE_ANALYSIS_FAILED]:(e,t)=>`Cannot analyze module "${e}": ${t}. Fix the file's syntax so its imports and webhook membership can be determined.`,[e.WEBHOOK_UNSAFE_IMPORT]:(e,t,n,a)=>`Webhook-included file "${e}" is not server-safe: it is included because ${t}, but "${n}" imports client-only "${a}". Fix: remove or isolate the client-only import, or remove the file's webhook membership.`,[e.ENHANCED_JSON_VALUE_EVAL_NOT_ALLOWED]:()=>'"$eval" is not allowed in this position. "$eval" requires "self", which is only available inside expressions and component props — it is not available in static slots such as defaults. Replace the "$eval" with a literal value, "$msg", or move the dynamic logic into an "expressions:" entry.',[e.ENHANCED_JSON_VALUE_MSG_NOT_ALLOWED]:()=>'"$msg" is not allowed in this position. This slot does not accept localized messages (e.g. component props, which are resolved without an i18n context). Replace "$msg" with a plain string, or move the message into a slot that supports i18n such as defaults or expressions.',[e.ENHANCED_JSON_VALUE_EVAL_NOT_STATICALLY_INFERABLE]:e=>`Could not infer a schema from "$eval: ${e}" because the expression is not statically foldable. Add explicit schema keys to the expression entry, or use only literals, constant operators, and deterministic Math members.`,[e.ENHANCED_JSON_VALUE_CODE_REF_NOT_SUPPORTED]:()=>'"$codeRef" with an inline "code" block is no longer supported by the application spec parser. It was never evaluated — the value was carried through as plain data. Use "$eval" instead, for example "$eval: \'4 * 25.4\'". "$eval" folds literals, constant operators, and deterministic Math members at parse time; anything else needs explicit schema keys.'};
|
|
1
|
+
import{ASSISTANT_AI_PROVIDERS as e,ASSISTANT_MODEL_TIERS as t,ASSISTANT_REASONING_LEVELS as n}from"@salsita-ai/contracts/assistant";import{DiagnosticCode as a}from"./diagnostic-codes.js";export const diagnosticMessages={[a.EMPTY_SPEC_FILE]:()=>'Spec file is empty. Every spec file must define at least one section ("model:", "components:", or "presets:"). Add content or remove the file.',[a.YAML_PARSE_ERROR]:e=>`YAML parse error: ${e}. Check for indentation issues, missing colons, or unquoted special characters.`,[a.NON_FINITE_NUMBER]:(e,t)=>`Invalid number at "${e}": ${t} is not a finite number. JSON, the schemas and the stored configuration have no infinite or not-a-number value, so it cannot be checked or saved. Write a finite number, or leave the key out if it sets no limit.`,[a.SCHEMA_PARSE_ERROR]:(e,t)=>`Invalid value at "${e}": ${t}. Refer to the spec documentation for the expected structure at this path.`,[a.IMPORT_MODULE_NOT_FOUND]:(e,t)=>`Import module "${e}" resolves to "${t}", but no matching project source file exists. Add the source file or update import.module to a path relative to this spec file.`,[a.IMPORT_MODULE_OUTSIDE_PROJECT]:(e,t)=>`Import module "${e}" resolves outside the project root as "${t}", so its target cannot be verified. Confirm that the external file exists and that the path is intentional.`,[a.MOCK_TEMPLATE_PARSE_ERROR]:e=>`Mock template parse warning: ${e}. The mock template was skipped. Fix the YAML or remove the file.`,[a.MERGE_CONFLICT]:(e,t,n,a)=>`"model.${e}.${t}" is defined in both "${n}" and "${a}". Each subsection (entityTypes, aliases, shapes, commonTypes) can only appear once per version. Move all "${t}" for "${e}" into one file.`,[a.MISSING_MODEL]:e=>`No "${e}" section found. Every application must define at least "${e}.latest" with entity types and aliases. Add a "${e}:" section to a spec file.`,[a.MISSING_LATEST]:e=>`"${e}.latest" is missing. The "latest" version defines the current working model and is always required. Add "latest:" under "${e}:".`,[a.INVALID_VERSION_KEY]:e=>`"${e}" is not a valid version key. Version keys must be "latest" or "v1", "v2", etc. Rename "${e}".`,[a.MISSING_VERSION]:e=>`Model version "v${e}" is missing. Versions must be contiguous (v1, v2, …, latest) with no gaps. Add "v${e}:" or remove higher versions.`,[a.NAME_CLASH]:(e,t,n)=>`Name "${t}" is used as both a ${e} and a ${n}. Names must be unique across entity types, aliases, and commonTypes within a version. Rename one of them.`,[a.INVALID_ENTITY_TYPE_NAME]:e=>`"${e}" is not a valid entity type name. Entity types must be PascalCase (e.g. "Product", "KitchenRange"). Rename it.`,[a.DUPLICATE_ENTITY_TYPE]:e=>`Entity type "${e}" is declared more than once. Entity types must be unique. Remove the duplicate.`,[a.INVALID_ALIAS_NAME]:e=>`"${e}" is not a valid alias name. Aliases must be PascalCase (e.g. "RootEntity", "EditableItems"). Rename it.`,[a.RESERVED_ALIAS_NAME]:e=>`"${e}" is a reserved alias. "AnyDomainEntity" is auto-generated from all entity types and cannot be user-defined. Choose a different name.`,[a.MISSING_ROOT_ENTITY]:()=>'"RootEntity" alias is not defined. Every model must have a "RootEntity" alias that identifies which entity types can be used as configuration roots. Add "RootEntity: [YourType]" to your aliases.',[a.CIRCULAR_ALIAS]:e=>`Circular alias reference: ${e}. An alias cannot reference itself, directly or through other aliases. Remove one reference in the cycle.`,[a.UNKNOWN_ALIAS_MEMBER]:(e,t)=>`Alias "${e}" references "${t}", which is not a declared entity type or alias. Check the spelling or add "${t}" to entityTypes.`,[a.UNKNOWN_SHAPE_KEY]:e=>`Shape "${e}" does not match any declared entity type or alias. Shapes can only be defined for names that appear in entityTypes or aliases. Check the spelling or add "${e}" to entityTypes.`,[a.UNKNOWN_REFERENCE_TARGET]:(e,t,n)=>`"${e}.${t}" references "${n}", which is not a declared entity type or alias. Check the spelling or add "${n}" to entityTypes.`,[a.RESERVED_PROPERTY]:(e,t)=>`Property "${e}" on "${t}" is reserved. "id" and "type" are injected automatically and cannot appear in shapes. Remove "${e}" from the shape.`,[a.INVALID_SHAPE_PROPERTY_NAME]:e=>`"${e}" is not a valid shape property name. Property names must match /^[a-z]\\w*$/ — start with a lowercase letter, then word characters only (e.g. "height", "positionX", "hoodId"). Rename the property.`,[a.UNKNOWN_PHX_DEFINITION]:(e,t)=>`$ref "${e}" references unknown phoenix type "${t}". Available built-in types include DomainEntityId, Localizable, MultilingualString. Check the spelling.`,[a.UNKNOWN_COMMON_TYPE_REF]:(e,t)=>`$ref "${e}" references unknown commonType "${t}". The target must be declared in commonTypes of the same model version. Check the spelling or add "${t}" to commonTypes.`,[a.INVALID_REF]:e=>`$ref "${e}" is not a recognized reference format. Use "phx:TypeName" for built-in types, "common:TypeName" for commonTypes, or "#/model/{version}/commonTypes/{name}" for explicit version refs.`,[a.MISSING_MIGRATION]:e=>`No migration file for v${e}. Every version from v2 onward needs a migration (src/migrations/v${e}.ts) that transforms state from the previous version. Create the file.`,[a.MIGRATION_INVALID_START]:e=>`Migration "${e}" starts below v2. v1 is the initial version with no predecessor to migrate from. Remove this file.`,[a.UNKNOWN_MIGRATION]:(e,t,n)=>`Migration "${e}" targets v${t}, but the latest model version is v${n}. There is no model version for this migration to apply to. Remove the file or add model version v${t}.`,[a.PROTECTED_SHAPE]:e=>`Shape "${e}" cannot be user-defined. This entity type is part of the built-in admin model and its shape is managed by the system. Remove this shape.`,[a.PROTECTED_ALIAS]:e=>`Alias "${e}" cannot be user-defined in admin files. "RootEntity" and "CommonAdminEntity" are managed by the built-in admin model. Choose a different name.`,[a.RESERVED_ALIAS]:e=>`Alias "${e}" is auto-generated and cannot be user-defined. Remove this alias definition.`,[a.ALIAS_INCLUDES_COMMON]:(e,t)=>`Alias "${e}" includes "${t}", which is a built-in admin entity type. User aliases cannot include built-in admin types. Remove "${t}" from the alias.`,[a.PROTECTED_INVARIANT]:(e,t)=>`Invariant "${e}.${t}" is a built-in common admin invariant and cannot be overridden. Remove this declaration; the built-in implementation is always applied.`,[a.PROTECTED_RELATION]:(e,t)=>`Relation "${e}.${t}" is a built-in common admin relation and cannot be overridden. Remove this declaration; the built-in relation is always applied.`,[a.PROTECTED_EXPRESSION]:(e,t)=>`Expression "${e}.${t}" is reserved for the built-in common admin spec and cannot be user-defined. Rename this expression.`,[a.PROTECTED_COMMON_TYPE]:e=>`Common type "${e}" is part of the built-in admin model and cannot be user-defined. Choose a different name.`,[a.PROTECTED_ENTITY_TYPE]:e=>`Entity type "${e}" is part of the built-in admin model and cannot be re-declared. Remove it from entityTypes.`,[a.PRESET_UNKNOWN_ROOT_ENTITY_TYPE]:(e,t)=>`Preset rootEntityType "${e}" is not allowed. Allowed root types: ${t.join(", ")}. Use one of these or update the RootEntity alias.`,[a.PRESET_UNKNOWN_ENTITY_TYPE]:(e,t,n)=>`Preset entity "${e}" has type "${t}", which is not a declared entity type. Declared types: ${n.join(", ")}. Fix the type or add "${t}" to entityTypes.`,[a.PRESET_INVALID_ENTITY_ID_FORMAT]:e=>`Entity ID "${e}" does not follow the required format. IDs must match "TypeName-N" (e.g. "Product-1", "Hood-42"). Rename it.`,[a.PRESET_MISSING_ROOT_ENTITY]:e=>`Preset declares rootEntityType "${e}" but no entity of that type exists in initialDomainEntities. Add an entity with type "${e}".`,[a.PRESET_MULTIPLE_ROOT_ENTITIES]:(e,t)=>`Preset has ${t} entities of type "${e}", but exactly one root entity is required. Remove the extra "${e}" entities.`,[a.PRESET_ENTITY_SCHEMA_VIOLATION]:(e,t,n,a)=>`Preset entity "${e}" (${t}) has invalid data at ${n}: ${a}. Fix the value to match the entity schema.`,[a.PRESET_DUPLICATE_ENTITY_ID]:e=>`Preset entity ID "${e}" is used more than once. Entity IDs must be unique in a preset. Rename or remove the duplicate entity.`,[a.PRESET_ENTITY_ID_TYPE_MISMATCH]:(e,t,n)=>`Preset entity "${e}" has type "${t}", but its ID starts with "${n}". IDs must use the entity type prefix. Rename the ID to start with "${t}-" or change the entity type.`,[a.PRESET_UNKNOWN_REFERENCE]:(e,t,n)=>`Preset entity "${e}" references "${n}" from "${t}", but no entity with that ID exists in the preset. Add the referenced entity or update the reference.`,[a.PRESET_REFERENCE_TYPE_MISMATCH]:(e,t,n,a,s)=>`Preset entity "${e}" references "${n}" from "${t}", but the referenced entity has type "${a}". Allowed target types: ${s.join(", ")}. Use a matching entity ID.`,[a.PRESET_RELATION_CARDINALITY_VIOLATION]:(e,t,n,a)=>`Preset entity "${e}" violates relation "${t}" cardinality "${n}". The relation resolves ${a} entities. Add or remove referenced entities so the relation matches its cardinality.`,[a.PRESET_COMPOSITION_MULTIPLE_PARENTS]:(e,t,n)=>`Preset entity "${e}" is composed by both "${t}" and "${n}". Composition must form one tree. Remove one parent reference.`,[a.PRESET_COMPOSITION_CYCLE]:e=>`Preset composition contains a cycle at "${e}". Composition must form a tree from the root entity. Remove the cyclic reference.`,[a.PRESET_ENTITY_NOT_IN_COMPOSITION_TREE]:(e,t)=>`Preset entity "${e}" is not reachable from root entity "${t}" through composedOf relations. Add a composition relation path from the root or remove the entity.`,[a.ADMIN_PRESET_MULTIPLE_PER_FILE]:(e,t)=>`Admin file "${e}" has ${t} presets. Only 1 preset per admin file is allowed. Split into separate files or merge into one preset.`,[a.ADMIN_PRESET_ROOT_TYPE_NOT_ADMIN]:(e,t)=>`Admin preset in "${e}" has rootEntityType "${t}". Admin presets must always use rootEntityType "Admin". Change it to "Admin".`,[a.ACTIONS_IN_ADMIN_FILE]:e=>`"${e}" is an admin spec file ("$admin: true") but declares "actions". Actions run in the configurator domain only; the admin domain has none. Move the "actions" block to a configurator spec file, or remove it.`,[a.INVALID_ACTION_NAME]:e=>`"${e}" is not a valid action name. Action names are camelCase identifiers without a prefix (e.g. "movePartBy", "swapCabinets"), since they also name the implementation, the generated types and the assistant mutation. Rename it.`,[a.ACTION_UNKNOWN_REFERENCE_TARGET]:(e,t,n)=>`"${e}.${t}" references "${n}", which is not an entity type or alias of the latest model. A "references" target types the entity id or entity the param or result member holds. Check the spelling or add "${n}" to entityTypes.`,[a.EXPRESSION_UNKNOWN_ENTITY_KEY]:(e,t)=>`Expression key "${e}" is not a declared entity type or alias. Known names: ${t.join(", ")}. Check the spelling or add "${e}" to entityTypes.`,[a.INVALID_EXPRESSION_NAME]:e=>`"${e}" is not a valid expression name. Expression names must start with "$" followed by camelCase (e.g. "$price", "$isValid"). Rename it.`,[a.DUPLICATE_EXPRESSION]:(e,t,n,a)=>`Expression "${e}.${t}" is produced by both "${n}" and "${a}" after alias expansion. Expression names must be unique for each concrete entity type. Remove one declaration or rename it.`,[a.EXPRESSION_RELATION_CONFLICT]:(e,t)=>`Expression "${e}.${t}" is declared in both "expressions:" and generated by a relation. User expressions cannot shadow relation-derived expressions. Remove the user declaration or rename the relation.`,[a.CONSTANTS_EXPRESSION_CONFLICT]:(e,t)=>`Expression "${e}.${t}" is declared in both "constants:" and "expressions:" in the same file. Use only one source of truth and migrate the legacy constant into "expressions:".`,[a.COMPONENT_RELATION_CONFLICT]:(e,t)=>`Component "${e}::${t}" is declared in both "components:" and generated by a relation. User components cannot shadow relation-derived components. Remove the user declaration or rename the relation.`,[a.COMPONENT_ALIAS_CONFLICT]:(e,t,n,a,s)=>`Component instance "${e}.${t}.${n}" is produced by both "${a}" and "${s}". Component instance names must be unique after alias expansion. Rename one instance or move the shared properties to one declaration.`,[a.COMPONENT_IMPORT_REF_UNSUPPORTED]:(e,t,n,a,s,i)=>`Component prop "${e}.${t}.${n}.${a}" uses unsupported $importRef "${s}#${i}". Application-spec component values are part of the webhook-included domain and cannot reference frontend modules. Fix: remove $importRef from the spec and attach the component from a frontend-only file in src/components.`,[a.COMPONENT_DATA_REF_UNSUPPORTED]:(e,t,n,a,s,i)=>`Component prop "${e}.${t}.${n}.${a}" combines "$read: ${s}" with the legacy "$data: ${i}" marker. Application-spec components resolve "$read" against entity fields and declared expressions only, so the combined marker never becomes a binding. Fix: remove "$data" and implement "${s}" with createDataSwatchMap('${i.split(".").at(-1)??i}') in the project's custom expressions.`,[a.INVALID_INVARIANT_NAME]:e=>`"${e}" is not a valid invariant name. Invariant names must start with a lowercase letter and contain only word characters (e.g. "nameNotEmpty"). Rename it.`,[a.INVALID_VIOLATION_TYPE_NAME]:e=>`"${e}" is not a valid violation type. Violation types must start with a lowercase letter and contain only letters, digits, underscores, or hyphens (e.g. "name-empty"). Rename it.`,[a.INVARIANT_UNKNOWN_ENTITY_KEY]:(e,t)=>`Invariants are declared for "${e}", which is not an entity type or alias in the model. Known names: ${t.join(", ")}. Check the spelling or add "${e}" to entityTypes.`,[a.INVARIANT_MANUAL_VIOLATIONS_COMPONENT]:e=>`Component "violations" on "${e}" cannot be declared manually because invariant parsing generates it automatically. Remove the manual component declaration.`,[a.INVARIANT_VIOLATIONS_EXPRESSION_CONFLICT]:(e,t)=>`Expression "${e}.$violations" is declared in "${t}:" but invariant parsing generates it automatically for the same entity type. Remove the declaration or rename it.`,[a.INVALID_RELATION_NAME]:e=>`"${e}" is not a valid relation name. Relation names must start with "$" followed by camelCase (e.g. "$top", "$legs"). Rename it.`,[a.RELATION_UNKNOWN_ENTITY_KEY]:(e,t)=>`Relations declared for "${e}" which is not an entity type or alias in the model. Known names: ${t.join(", ")}. Check the spelling or add "${e}" to entityTypes.`,[a.RELATION_UNKNOWN_TARGET]:(e,t,n,a)=>`Relation "${e}.${t}" targets "${n}" which is not an entity type or alias in the model. Known names: ${a.join(", ")}. Check the spelling or add "${n}" to entityTypes.`,[a.RELATION_UNKNOWN_FIELD_DIRECT]:(e,t,n)=>`Relation "${e}.${t}" references field "${n}" which does not exist in the shape of "${e}". Add "${n}" to the "${e}" schema or pick a different field.`,[a.RELATION_UNKNOWN_FIELD_INDIRECT]:(e,t,n,a)=>`Relation "${e}.${t}" references field "${n}" which does not exist in the shape of target "${a}". Add "${n}" to the "${a}" schema or pick a different field.`,[a.RELATION_IMMUTABLE_FIELD]:(e,t,n,a)=>`Relation "${e}.${t}" uses implicit field "${n}" on "${a}" as a relation reference holder. Implicit fields "id" and "type" are immutable and cannot hold relation references. Choose a writable shape field on "${a}".`,[a.RELATION_FIELD_NOT_REFERENCE]:(e,t,n,a)=>`Relation "${e}.${t}" uses field "${n}" of "${a}", which is not a reference field. A relation reads the ids of its related entities from the field, so the field must be a "phx:DomainEntityId" with "references", such a reference or null, or an array of such references. Declare "${n}" that way in the shape of "${a}" or pick a different field.`,[a.RELATION_FIELD_REFERENCES_OTHER_TYPES]:(e,t,n,a,s,i,o)=>{let r=1===o.length&&o[0]===i?"":` (${o.join(", ")})`;return`Relation "${e}.${t}" uses field "${n}" of "${a}", which references ${s.join(", ")}, but the relation relates to "${i}"${r}. The field of a direct relation must reference exactly the entity types of its target, and the field of an indirect relation exactly the entity types the relation is declared on. Make "${a}.${n}" reference "${i}" or pick a different field.`},[a.RELATION_FIELD_CARDINALITY_MISMATCH]:(e,t,n,a,s,i)=>{let o={single:"one reference that is never null",nullableSingle:"one reference or null",array:"an array of references"};return`Relation "${e}.${t}" has cardinality "${a}", which needs a field that holds ${o[i]}, but "${e}.${n}" holds ${o[s]}. A direct relation with cardinality "1-1" reads one reference that is never null, "0-1" one reference or null, and "0-N" or "1-N" an array of references. Change the cardinality or the schema of "${n}".`},[a.RELATION_MISSING_COUNTERPART]:(e,t,n,a,s,i)=>{let o=void 0!==s?` with field "${s}"`:"",r=i?`Set "composedOf: false" on the counterpart because "${e}.${t}" already owns the composition.`:'Set "composedOf: false" on the counterpart for a cross-reference, or "composedOf: true" if the counterpart should own the composition.';return`Relation "${e}.${t}" (${n} → "${a}"${void 0!==s?`, field "${s}"`:""}) has no counterpart on "${a}". Every relation must be declared from both sides — add a "${"allOfType"===n?"allOfType":"direct"===n?"indirect":"direct"}" relation on "${a}" targeting "${e}"${o}. ${r}`},[a.RELATION_COUNTERPART_COMPOSED_OF_MISMATCH]:(e,t,n,a)=>`Relation "${e}.${t}" and its counterpart "${n}.${a}" both use "composedOf: true". A relation pair can have at most one composition owner — set "composedOf: false" on one side.`,[a.RELATION_ENTITY_NOT_IN_COMPOSITION_TREE]:(e,t)=>`Entity "${e}" is not reachable from any root entity type (${t.join(", ")}) via "composedOf: true" relations. Every declared entity must be part of the composition tree, otherwise instances of it can never appear in a valid domain state. Add a relation with "composedOf: true" from a reachable parent, or include "${e}" in the RootEntity alias.`,[a.DUPLICATE_DATA_SCHEMA]:(e,t,n)=>`"${e}" is defined in both "${t}" and "${n}". Each data schema can only be declared in one file. Remove the duplicate.`,[a.ADMIN_DATA_SCHEMA]:(e,t)=>`"${e}" is declared in admin spec "${t}". Data schemas are configurator-only. Move "${e}" to a non-admin spec file.`,[a.SESSION_DATA_REQUIRED_PROPERTIES]:(e,t)=>`sessionData in "${t}" declares required properties (${e.map(e=>`"${e}"`).join(", ")}), but admin and preset sessions do not carry custom session data. Remove these properties from required or set required to an empty array.`,[a.CLERK_SESSION_DATA_INCOMPATIBLE]:e=>`sessionData is not compatible with the built-in Clerk session payload: ${e.join("; ")}. When "useClerk" is true, the SDK's Clerk auth handlers return { id: string, accessToken: string, tags: string[], emailAddress: string, fullName: string | null }, and runtime session parsing rejects any payload the schema does not accept. Declare all five properties with these exact types (the "type" keyword is compared literally, so $ref, anyOf, and oneOf forms are not recognized) and keep them out of "required" so anonymous sessions stay valid. Extra project-defined properties are allowed.`,[a.RESERVED_PUBLISHED_DATA_KEY]:e=>`publishedData property "${e}" is reserved by the admin system. Properties like "presetCategories" and "recipes" are auto-injected. Remove "${e}" from your publishedData properties.`,[a.DUPLICATE_STATE_FIELD]:(e,t,n)=>`"${e}" is defined in both "${t}" and "${n}". Each state field can only be declared in one file. Remove the duplicate.`,[a.INVALID_STATE_KEY]:(e,t)=>`State key "${t}" in "${e}" is not a valid identifier. State keys must start with a letter and contain only letters, digits, or underscores (e.g. "overview", "detailView"). Rename it.`,[a.DUPLICATE_STATE_VALUE]:(e,t)=>`State value "${t}" appears more than once in "${e}". Each value within a state array must be unique. Remove the duplicate.`,[a.DUPLICATE_THEME_FIELD]:(e,t,n)=>`"${e}" is defined in both "${t}" and "${n}". Each theme field can only be declared in one file. Remove the duplicate.`,[a.DUPLICATE_UI_FIELD]:(e,t,n)=>`"${e}" is defined in both "${t}" and "${n}". Each UI field can only be declared in one file. Remove the duplicate.`,[a.CONFLICTING_TRANSFORMERS]:(e,t)=>`Transformers are declared in both "${e}" and "${t}". The "transformers" section can only appear in one spec file. Move all transformers into a single file.`,[a.DUPLICATE_TRANSFORMER]:(e,t)=>`Transformer "${e}" is declared twice in "${t}". Transformer names must be unique within the file. Remove the duplicate entry.`,[a.DUPLICATE_TRANSFORMER_FILE]:(e,t)=>`Transformer files "${e}" and "${t}" resolve to the same transformer name. Transformers are matched by file name, ignoring folders, letter case, and dashes. Rename one of the files so every transformer file name is unique.`,[a.UNMATCHED_TRANSFORMER]:(e,t)=>`Transformer "${e}" has no matching file in "src/transformers/". Every name listed under "transformers:" must correspond to a transformer module. ${t.length>0?`Available transformers: ${t.map(e=>`"${e}"`).join(", ")}. Check the spelling or add "src/transformers/${e}.ts".`:`No transformer files were found in "src/transformers/". Add "src/transformers/${e}.ts" or remove the entry.`}`,[a.DUPLICATE_APP_METADATA_FIELD]:(e,t,n)=>`"${e}" is defined in both "${t}" and "${n}". Each metadata field can only be declared in one file. Remove the duplicate.`,[a.DUPLICATE_INFRA_FIELD]:(e,t,n)=>`"${e}" is defined in both "${t}" and "${n}". Each infrastructure field can only be declared in one file. Remove the duplicate.`,[a.DUPLICATE_RESOURCE_NAME]:(e,t,n)=>`Resource name "${e}" is used by the entries at index ${t} and ${n} of "resources". A resource name identifies one resource. Rename one of the two entries or remove the duplicate.`,[a.INVALID_APPLICATION_VERSION]:e=>`"${e}" is not a valid applicationVersion. Version must be semver (x.y.z) using three numeric segments (e.g. "1.0.0", "2.3.12"). Update "applicationVersion" to match.`,[a.INVALID_ENV_VAR_KEY]:(e,t)=>`"${t}" is not a valid env.${e} variable name. Env var names must match /^[A-Z_][A-Z0-9_]*$/ — uppercase letters, digits, and underscores; must not start with a digit (e.g. "API_URL", "_PRIVATE_FLAG"). Rename the variable.`,[a.DUPLICATE_ADMIN_PAGES]:(e,t)=>`"$adminPages" is defined in both "${e}" and "${t}". Admin pages can only be declared in one admin spec file. Move all "$adminPages" settings into one admin file.`,[a.ADMIN_PAGES_NAV_STATE_CONFLICT]:e=>`Admin navigation states [${e.join(", ")}] are declared manually and generated from "$adminPages". Remove the manual entries from "navigationStates" in the admin spec or change the "$adminPages" navigationState values.`,[a.ADMIN_PAGE_DATA_ENTRY_CONFLICT]:(e,t)=>`"$adminPages.pages.${e}.connectedDataEntry" references data entry "${t}". This data entry already creates an inferred admin data page. Remove the explicit admin page connection or change the data entry kind.`,[a.CONFLICTING_BUDGETS]:(e,t)=>`"budgets" is declared in both "${e}" and "${t}". The "budgets" section can only appear in one spec file. Move all bundle-size budgets into a single file.`,[a.CONFLICTING_CHUNKS]:(e,t)=>`"chunks" is declared in both "${e}" and "${t}". The "chunks" section can only appear in one spec file. Move all chunk definitions into a single file.`,[a.ASSISTANT_MERGE_CONFLICT]:(e,t,n,a)=>`"assistant.${e}.${t}" is declared in both "${n}" and "${a}". The assistant manifest merges across spec files per key, and each key of "assistant.${e}" is taken whole from one file. Move the whole "${t}" entry into one of the files.`,[a.DUPLICATE_ASSISTANT_FIELD]:(e,t,n)=>`"assistant.${e}" is declared in both "${t}" and "${n}". The assistant manifest merges across spec files, but "${e}" can only be declared in one of them. Remove the duplicate.`,[a.ASSISTANT_MISSING_AI]:()=>`"assistant.ai" is required: declare provider (${e.join(", ")}), model (${t.join(", ")}) and reasoning (${n.join(", ")}). The spec declares an "assistant" manifest, but none of its "assistant" blocks says which AI the assistant runs with. Add "ai" to one of them.`,[a.ASSISTANT_AI_ABOVE_MAXIMUM]:(e,t,n)=>`"assistant.ai.${e}" is ${t}, above the server's maximum of ${n}. Lower it to ${n} or less, or remove it to use the server's default.`,[a.ASSISTANT_UNKNOWN_TYPE]:(e,t)=>`"assistant.${e}.${t}" does not name an entity type or alias of the latest model, so it has nothing to ${({entities:"expose",deletable:"make deletable",writable:"make writable",childRecipes:"add children to",replaceRecipes:"replace",screenshots:"take screenshots of"})[e]}. Use an entity type or alias name from "model.latest", or remove the entry.`,[a.ASSISTANT_UNKNOWN_FIELD]:(e,t,n)=>n.startsWith("$")?`"assistant.entities.${t}.${n}" is not an expression declared on "${t}". The assistant schema exposes expressions declared in "expressions", "constants" or "relations" on the entity type or alias itself, and on an entity type also those of its aliases; an expression only inferred from a component "$read" is not declared. Declare "${n}" in "expressions", "constants" or "relations" on "${t}" (for an entity type, an alias containing it also works), or remove the entry.`:`"assistant.${e}.${t}.${n}" is not a stored field of "${t}". The assistant schema ${"entities"===e?"exposes":"writes"} shape properties of the entity type or alias, including fields every alias member has. Use a property from the "${t}" shape, or remove the entry.`,[a.ASSISTANT_UNSUPPORTED_EXPRESSION]:(e,t)=>`"assistant.entities.${e}.${t}" whitelists the "$violations" expression, which the assistant schema does not expose: the agent reads the warnings and notices of every entity type with invariants under its built-in "meta { warnings }", and the violations that make a change fail as its errors. Remove the entry.`,[a.ASSISTANT_NOT_WRITABLE]:(e,t)=>`"assistant.writable.${e}.${t}" cannot be written: ${t.startsWith("$")?"an expression is computed from the state, not stored":`"${t}" identifies the entity and never changes`}. Only stored shape properties other than "id" and "type" can be writable. Remove the entry${t.startsWith("$")?", or make the stored fields the expression reads writable instead":""}.`,[a.ASSISTANT_UNKNOWN_RECIPE_GROUP]:({section:e,component:t},n,a,s,i)=>`"assistant.${e}.${n}.${a}" does not name a "${t}" component instance on "${s}", so there are no recipes to expose. ${i.length>0?`"${s}" has these "${t}" instances: ${i.join(", ")}.`:`"${s}" has no "${t}" component.`} Use the instance name of a "${t}" component attached to the entity type or to an alias containing it, or remove the entry.`,[a.ASSISTANT_DUPLICATE_RECIPE_GROUP]:({section:e,mutation:t},n,a,s)=>`"${n}" gets the recipe group id "${a}" from both "assistant.${e}.${s.join(`" and "assistant.${e}.`)}", but "${t}" finds a group of an entity by its id. The entries may come from "${n}" itself or from aliases containing it. Give one of them another id with "as".`,[a.ASSISTANT_INVALID_RECIPE_GROUP_ID]:({section:e},t,n,a)=>`"assistant.${e}.${t}.${n}" exposes the recipe group "${a}", but the group id names a field of the assistant schema, which is letters, digits and "_", not starting with a digit or "__". Give the group a valid id with "as".`,[a.ASSISTANT_RECIPE_GROUPS_TYPE_NAME_CONFLICT]:({section:e},t,n)=>`This entry exposes a recipe group on "${t}", so the assistant schema generates the type "${n}" with one field per group, but the model already has an entity type or alias named "${n}". Rename that entity type or alias, or remove every "assistant.${e}" group of "${t}".`,[a.ASSISTANT_META_TYPE_NAME_CONFLICT]:(e,t)=>`This entry exposes a recipe group, the options of a field or a screenshot view on "${e}", so the assistant schema generates the type "${t}" for them, but the model already has an entity type or alias named "${t}". Rename that entity type or alias, or remove every "assistant.childRecipes" and "assistant.replaceRecipes" group, every "options" of a writable field and every "assistant.screenshots" view of "${e}".`,[a.ASSISTANT_UNKNOWN_OPTIONS_COMPONENT]:(e,{componentType:t,instanceName:n},a,s)=>`"assistant.writable.${e}.options" names the "${t}" instance "${n}", which "${a}" does not have, so there are no choices to list. ${s.length>0?`"${a}" has these "${t}" instances: ${s.join(", ")}.`:`"${a}" has no "${t}" component.`} Use the name of a "${t}" instance attached to the entity type or to an alias containing it, correct "componentType", or remove "options".`,[a.ASSISTANT_AMBIGUOUS_OPTIONS_COMPONENT]:(e,t,n)=>`"assistant.writable.${e}" takes the choices of the field from the one option component instance that writes it, but several write it on "${t}": ${n.map(({componentType:e,instanceName:t})=>`${e}.${t}`).join(", ")}. The instances may sit on "${t}" itself or on aliases containing it. Name the one whose choices the agent gets with "componentType" and "instanceName" under "options", or set "options: null" to give the field no options.`,[a.ASSISTANT_MISSING_OPTIONS_COMPONENT]:(e,t,n)=>`"assistant.writable.${e}.options" names no component, so it takes the choices of "${n}" from the option component instance that writes the field, but no materialSwatch, attributeSelection or distanceDimensionSelect instance on "${t}" or on an alias containing it writes "${n}" with "$bind" or "$write". Name the component that holds the choices with "componentType" and "instanceName", or remove "options".`,[a.ASSISTANT_RESERVED_OPTIONS_EDGE_NAME]:(e,t,n)=>`"assistant.writable.${e}.options" would add the edge "${t}" to the meta type, but that name is taken by a built-in of the meta type: the recipe groups edges or the screenshot field. Name the edge differently with "as", e.g. "as: ${n}Choices".`,[a.ASSISTANT_DUPLICATE_OPTIONS_EDGE]:(e,t,n)=>`"${e}" gets ${"edgeName"in t?`the options edge "${t.edgeName}"`:`options for the field "${t.field}"`} from both "assistant.writable.${n.join('.options" and "assistant.writable.')}.options", but ${"edgeName"in t?"one edge lists the choices of one field":"a written value is checked against one list of choices"}. The entries may come from "${e}" itself or from aliases containing it. ${"edgeName"in t?'Give one of them another name with "as", or remove':"Remove"} "options" from one of them.`,[a.ASSISTANT_UNKNOWN_SCREENSHOT_VIEW]:(e,t,n,a)=>`"assistant.screenshots.${e}.${t}" does not name an "agentScreenshot" component instance on "${n}", so there is no view to take a screenshot from. ${a.length>0?`"${n}" has these "agentScreenshot" instances: ${a.join(", ")}.`:`"${n}" has no "agentScreenshot" component.`} Use the instance name of an "agentScreenshot" component attached to the entity type or to an alias containing it, or remove the entry.`,[a.ASSISTANT_UNKNOWN_SCREENSHOT_EXPORT_STATE]:(e,t,n,a)=>`"assistant.screenshots.${e}.${t}" exposes the view "${t}", whose "agentScreenshot" component renders in the export state "${n}", but the spec declares no such export state, so the screenshot could never be taken. The declared export states are: ${a.join(", ")}. Set "exportState" of the component to one of them, or declare "${n}" under "exportStates".`,[a.ASSISTANT_DUPLICATE_SCREENSHOT_VIEW]:(e,t,n)=>`"${e}" gets the screenshot view "${t}" from both "assistant.screenshots.${n.join('" and "assistant.screenshots.')}", but the agent asks for a view of an entity by its name. The entries may come from "${e}" itself or from aliases containing it. Give one of them another name with "as", or remove it.`,[a.ASSISTANT_INVALID_SCREENSHOT_VIEW_NAME]:(e,t,n)=>`"assistant.screenshots.${e}.${t}" exposes the view "${n}", but the agent asks for a view by a GraphQL enum value, which is letters, digits and "_", does not start with a digit and is not "true", "false" or "null". Give the view a valid name with "as".`,[a.ASSISTANT_SCREENSHOT_VIEW_TYPE_NAME_CONFLICT]:(e,t)=>`This entry exposes a screenshot view on "${e}", so the assistant schema generates the enum "${t}" of its views, but the model already has an entity type or alias named "${t}". Rename that entity type or alias, or remove every "assistant.screenshots" view of "${e}".`,[a.ASSISTANT_UNKNOWN_ACTION]:(e,t)=>`"assistant.actions.${e}" does not name an action declared under "actions"${t.length>0?`; the declared actions are: ${t.join(", ")}`:"; the spec declares no actions"}. Declare the action in an "actions" block of a spec file and implement it in src/actions/, or remove the entry.`,[a.ASSISTANT_MUTATION_NAME_CONFLICT]:(e,t,n)=>`"assistant.actions.${e}" exposes the mutation "${t}", which ${n}. One Mutation field runs one change. Expose the action under another name with "as", e.g. "as: ${t}Action".`,[a.ASSISTANT_ACTION_RESULT_TYPE_CONFLICT]:(e,t,n)=>`"assistant.actions.${e}" exposes the mutation "${t}", so the assistant schema generates the type "${n}" for its result, but that name is taken by an entity type, alias, generated meta type, built-in type or another action's result. Expose the action under another name with "as", or rename the conflicting type.`,[a.ASSISTANT_UNKNOWN_LENS]:(e,t,n)=>`"assistant.entities.${e}" is tagged with the lens "${t}", which is not declared under "assistant.lenses"${n.length>0?`; the declared lenses are: ${n.join(", ")}`:"; the manifest declares no lenses"}. Declare "${t}" under "assistant.lenses" with a "description", or remove the tag.`,[a.ASSISTANT_EMPTY_LENS]:e=>`"assistant.lenses.${e}" is declared, but no entry under "assistant.entities" is tagged with it, so the agent would be offered a lens that selects nothing. Tag the fields and expressions of the lens with "lenses: [${e}]", or remove the lens.`,[a.ASSISTANT_RESERVED_LENS_NAME]:(e,t)=>`"assistant.lenses.${e}" has the name of a built-in lens (${t.join(", ")}), which the assistant schema defines itself. Rename the lens and the tags that name it.`,[a.ASSISTANT_FORM_ELEMENT_BUILT_IN_NAME]:(e,t)=>`"assistant.formElements.${e}" has the name of a built-in form element (${t.join(", ")}), and a project element cannot replace one; restyle a built-in through the theme instead. Rename the element and the name its implementation registers.`,[a.ASSISTANT_FORM_ELEMENT_HTML_NAME]:e=>`"assistant.formElements.${e}" has the name of an HTML element, so form markup that uses it could be read as HTML. Rename the element and the name its implementation registers, e.g. "${e}-field".`,[a.ASSISTANT_FORM_ATTRIBUTE_RESERVED_NAME]:(e,t)=>`"assistant.formElements.${e}.attributes.${t}" declares the built-in attribute "${t}", which every form element takes already as the text the user sees and the name of its answer. Remove the declaration, or rename the attribute if it means something else.`,[a.ASSISTANT_FORM_ELEMENT_UNKNOWN_REQUIRED]:(e,t,n)=>`"assistant.formElements.${e}.required" lists "${t}", which is not one of its declared attributes${n.length>0?` (${n.join(", ")})`:"; the element declares none"}. Declare the attribute under "attributes", or remove it from "required".`,[a.ASSISTANT_FIELD_SHAPE_CONFLICT]:(e,t)=>`The assistant schema exposes "${e}" in shapes that cannot be read together: ${t.map(({typeName:e,type:t})=>`${t} on "${e}"`).join(", ")}. A query that reaches entities of several types, such as "entities" or a lens, selects the field on all of them at once, and in GraphQL a single entity, a list of entities and a plain value cannot share a name. One name meaning different kinds of thing is an unusual model and confuses the assistant as well. Expose one of the entries under another name with "as".`,[a.ASSISTANT_RESERVED_FIELD_NAME]:(e,t,n)=>`"assistant.entities.${e}.${t}" is exposed as "${n}", which the assistant schema reserves ("id", "type" and "meta" are reserved on every type). Expose it under another name with "as", e.g. "as: ${t}Value".`,[a.ASSISTANT_FIELD_NAME_CONFLICT]:(e,t,n,a)=>void 0===a?`"${t}" on "${e}" in the assistant schema maps to both "${n.join('" and "')}", but one GraphQL field can read only one stored field or expression. The entries may come from "${e}" itself or from aliases containing it. Rename one of them with "as".`:`"assistant.writable.${a}" makes "${t}" writable on "${e}" without exposing it, so its delta field would be named "${t}", but "assistant.entities" already exposes "${n[0]}" on "${e}" under that name. One name cannot read one stored field or expression and write another. Expose "${t}" in "assistant.entities" under another name with "as", or rename the entry that exposes "${n[0]}".`,[a.ASSISTANT_RESERVED_TYPE_NAME]:(e,t)=>`"${e}" is an entity type or alias name that the assistant GraphQL schema reserves for its own types (${t.join(", ")}), so the schema cannot be generated. Rename the entity type or alias, or remove the "assistant" section.`,[a.ASSISTANT_INVALID_SCHEMA]:e=>`The GraphQL schema generated from the "assistant" manifest is invalid: ${e.join(" ")} This usually means aliases sharing an entity whitelist the same field with different types. Whitelist the field on one alias only, or rename one entry with "as".`,[a.INVALID_CHUNK_KEY]:e=>`"${e}" is not a valid chunk key. Chunk keys must be lowercase kebab-case matching /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/ (e.g. "main", "swatch-data"). Rename the chunk.`,[a.RESERVED_CHUNK_KEY]:()=>'"system" is a reserved chunk key used for presets and recipes. It cannot be user-defined and is auto-injected after validation. Please use a different key name.',[a.CONFLICTING_DATA_ENTRY]:(e,t,n,a)=>`"$data.${e}.${t}" is defined in both "${n}" and "${a}". Each data entry key can only be declared once per section. Move the entry into one file, delete the duplicate, or rename one entry.`,[a.INVALID_DATA_ENTRY_KEY]:(e,t)=>`"$data.${e}.${t}" is not a valid data entry key. Data entry keys must start with a letter, followed by letters, digits, or underscores (/^[A-Za-z]\\w*$/, e.g. "colorOptions" or "ColorOptions"). Rename the entry.`,[a.INVALID_DATA_DEFINITION_FIELD_KEY]:(e,t)=>`"$data.custom.${e}.definition.${t}" is not a valid field key. Definition field keys must match /^\\$?[a-z][\\w.-]*$/ — start with lowercase or "$", then letters, digits, "_", ".", or "-". Rename the field.`,[a.UNKNOWN_DATA_CHUNK]:(e,t,n)=>`"$data.${e}.${t}" references unknown chunk "${n}". The chunk reference must match a key declared under "chunks:". Add the chunk or update the entry chunk.`,[a.INVALID_DATA_VALUE]:(e,t,n,a)=>`"$data.custom.${e}.values[${t}].${n}" has an invalid value. Expected ${a}. Fix the value or update the field definition.`,[a.DEFAULTS_UNKNOWN_ENTITY_KEY]:(e,t)=>`Defaults declared for "${e}" which is not an entity type or alias in the model. Known names: ${t.join(", ")}. Check the spelling or add "${e}" to entityTypes.`,[a.DEFAULTS_UNKNOWN_PROPERTY]:(e,t,n,a)=>{let s=n.length>0?n.join(", "):"(none)",i=a&&a.length>0?` Alias member(s) missing "${t}": ${a.join(", ")}.`:"";return`Default "${e}.${t}" refers to a property that does not exist on the shape of "${e}". Known properties: ${s}.${i} Remove the default or add "${t}" to the shape.`},[a.DEFAULTS_SCHEMA_VIOLATION]:(e,t,n,a,s)=>{let i=s?` (alias member "${s}")`:"",o=n&&"(root)"!==n?` at "${n}"`:"";return`Default "${e}.${t}"${i} does not match the entity shape${o}: ${a}. Defaults must be assignable to their shape property. Fix the value or update the shape.`},[a.DEFAULTS_INCOMPLETE]:(e,t,n)=>{let a=n.some(t=>t!==e)?` (declared under ${n.map(e=>`"${e}"`).join(", ")})`:"";return`Defaults for "${e}"${a} are incomplete: missing ${t.join(", ")}. Defaults for an entity type must state every property of its shape, because the recipe factory validates them as a whole entity when the application loads. Add the missing properties under "${e}" or under an alias that contains it, or remove the defaults for "${e}".`},[a.DEFAULTS_DEPRECATED]:()=>'The "defaults:" section is deprecated. Defaults remain supported for legacy parity, but new specs should model initial values as "$data" entries — see spec/application-specification/parsing/data-chunks.md. Defaults are planned for removal once the $data migration path is documented.',[a.COMPONENT_INVALID_INSTANCE_NAME]:(e,t,n)=>`Component instance name "${n}" in "${e}.${t}" is not a valid identifier. Instance names must start with a letter and contain only letters, digits, or underscores (e.g. "default", "body", "main"). Rename it.`,[a.COMPONENT_MERGE_CONFLICT]:(e,t,n,a,s)=>`Component instance "${e}.${t}.${n}" is defined in both "${a}" and "${s}". Each component instance can only appear in one file. Remove the duplicate.`,[a.COMPONENT_UNKNOWN_ENTITY_KEY]:(e,t)=>`Components declared for "${e}" which is not an entity type or alias in the model. Known names: ${t.join(", ")}. Check the spelling or add "${e}" to entityTypes.`,[a.READ_BINDING_UNKNOWN_FIELD]:(e,t,n,a,s)=>`$read binding "${a}" in "${e}.${t}.${n}" references field "${s}" which does not exist in the shape of "${e}". Add "${s}" to the shape or fix the $read target.`,[a.COMPONENT_BINDING_TYPE_MISMATCH]:(e,t,n,a)=>`"${t}" at "${e}" reads a value of type ${n}, but the component expects ${a} there, so the generated code would not type-check. Read a field whose type fits, change the field's type, or compute the value in an expression.`,[a.COMPONENT_STATIC_ENTITY_ID]:(e,t,n)=>`"${e}" holds the value ${t} written in the spec, but the component expects ${n} there. An entity id is a branded type, so no value written in YAML is one and the generated code would not type-check. Read the id from the domain state with "$read" or "$bind" of a field or expression that holds it.`,[a.EXPRESSION_READ_TYPE_CONFLICT]:(e,t,n,a)=>`Expression "${t}" of "${e}" ${void 0===n?"":`is declared as ${n} and `}is read where components expect ${a.join(", and ")}. No value is of all these types, so its implementation cannot type-check. Read the expression only where its type fits, declare the type the components expect, or read another expression there.`,[a.EXPRESSION_VALUE_TYPE_MISMATCH]:(e,t,n)=>`Expression "${e}" holds a value of type ${t}, but its schema declares ${n}, so the generated code would not type-check. A "$msg" is a message descriptor: declare the expression as "$ref: phx:Localizable" or "$ref: phx:MessageDescriptor", or change the value.`,[a.WRITE_BINDING_UNKNOWN_FIELD]:(e,t,n,a,s)=>`$write/$bind "${a}" in "${e}.${t}.${n}" targets field "${s}" which does not exist in the shape of "${e}". Add "${s}" to the shape or fix the target.`,[a.WRITE_BINDING_IMMUTABLE_FIELD]:(e,t,n,a,s)=>`$write/$bind "${a}" in "${e}.${t}.${n}" targets implicit field "${s}". Implicit fields "id" and "type" are immutable and cannot be changed. Use $read to consume the field or choose a writable shape field.`,[a.WRITE_BINDING_EXPRESSION_TARGET]:(e,t,n,a,s)=>`$write/$bind "${a}" in "${e}.${t}.${n}" targets "${s}" which is an expression. Write targets must be entity shape fields, not expressions. Use $read for expression bindings, $write/$bind for shape fields.`,[a.WRITE_BINDING_DUPLICATE_TARGET]:(e,t,n,a,s,i)=>`Entity field "${a}" is written by both "${s}" and "${i}" in "${e}.${t}.${n}". Each entity field can only be written by one component property. Remove one of the bindings.`,[a.UNKNOWN_SRC_PATH]:e=>`File "${e}" is in an unknown src/ folder. Only known folders (expressions, actions, invariants, components, transformers, handlers, elements, webhooks, locales, admin/*, migrations) or _-prefixed shared folders are allowed. Move the file or rename the folder with a "_" prefix.`,[a.INVALID_SUBDIRECTORY]:(e,t)=>`File "${e}" is nested inside "${t}", but migrations must be flat. Move the migration file directly into "${t}" or prefix the folder with "_".`,[a.MISSING_WEBHOOK_INDEX]:()=>"Files found in src/webhooks/ but src/webhooks/index.ts is missing. The webhook entry point requires a default export from src/webhooks/index.ts. Create the file with a default export of your webhook handler.",[a.AUTH_WITHOUT_PROJECT_WEBHOOK]:()=>'Authentication is enabled through "useAuthHook" or "useClerk", but src/webhooks/index.ts is missing. The built-in webhook handles anonymous authentication only; it does not provide Clerk or custom auth handlers. Create src/webhooks/index.ts with a default export of your webhook handler and the required auth handlers, or disable the auth settings if they are unintended.',[a.MODULE_ANALYSIS_FAILED]:(e,t)=>`Cannot analyze module "${e}": ${t}. Fix the file's syntax so its imports and webhook membership can be determined.`,[a.WEBHOOK_UNSAFE_IMPORT]:(e,t,n,a)=>`Webhook-included file "${e}" is not server-safe: it is included because ${t}, but "${n}" imports client-only "${a}". Fix: remove or isolate the client-only import, or remove the file's webhook membership.`,[a.ENHANCED_JSON_VALUE_EVAL_NOT_ALLOWED]:()=>'"$eval" is not allowed in this position. "$eval" requires "self", which is only available inside expressions and component props — it is not available in static slots such as defaults. Replace the "$eval" with a literal value, "$msg", or move the dynamic logic into an "expressions:" entry.',[a.ENHANCED_JSON_VALUE_MSG_NOT_ALLOWED]:()=>'"$msg" is not allowed in this position. This slot does not accept localized messages (e.g. component props, which are resolved without an i18n context). Replace "$msg" with a plain string, or move the message into a slot that supports i18n such as defaults or expressions.',[a.ENHANCED_JSON_VALUE_EVAL_NOT_STATICALLY_INFERABLE]:e=>`Could not infer a schema from "$eval: ${e}" because the expression is not statically foldable. Add explicit schema keys to the expression entry, or use only literals, constant operators, and deterministic Math members.`,[a.ENHANCED_JSON_VALUE_CODE_REF_NOT_SUPPORTED]:()=>'"$codeRef" with an inline "code" block is no longer supported by the application spec parser. It was never evaluated — the value was carried through as plain data. Use "$eval" instead, for example "$eval: \'4 * 25.4\'". "$eval" folds literals, constant operators, and deterministic Math members at parse time; anything else needs explicit schema keys.'};
|
|
@@ -1,22 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generates the application files that a running configurator imports.
|
|
3
|
-
*
|
|
4
|
-
* Membership criterion: a file belongs to this group when the configurator or admin runtime imports
|
|
5
|
-
* it in order to execute the parsed application domain — the domain model, its globals, and the
|
|
6
|
-
* code that binds authored project files into runtime sections. A file that only exists so a
|
|
7
|
-
* standalone application can boot, render, or deploy belongs to the standalone-application group,
|
|
8
|
-
* and a file that configures the generated project itself belongs to the project-scaffolding group.
|
|
9
|
-
*
|
|
10
|
-
* This is the group a host embedding an already-built runtime needs on its own, which is why it is
|
|
11
|
-
* callable without also generating a complete standalone application.
|
|
12
|
-
*
|
|
13
|
-
* How the generated files reach the `phx` API is this group's own decision, expressed as a
|
|
14
|
-
* `PhxBindingStrategy` the caller selects. The strategy is chosen once, here at the group boundary,
|
|
15
|
-
* rather than threaded as a mode flag through the individual templates: every template stays
|
|
16
|
-
* unaware of which binding is in effect and simply renders the blocks the strategy supplies.
|
|
17
|
-
*
|
|
18
|
-
* @module
|
|
19
|
-
*/
|
|
20
1
|
import { GeneratedApplicationFile } from '../../core/index.js';
|
|
21
2
|
import type { PhoenixDefinitions } from '../../core/index.js';
|
|
22
3
|
import type { ApplicationSpec, CategorizedFiles } from '../../parse-application-files/index.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{encodeRuntimeSpec as n,toRuntimeSpec as e}from"#package/domain";import{GeneratedApplicationFile as i}from"../../core/index.js";import{createApplicationTypeImportRegistrar as o}from"./common/index.js";import{generateAdminGlobalBindingBlock as t,generateApplicationSpecAdminCode as a,generateApplicationSpecAdminFrontendCode as r,generateApplicationSpecAdminGlobals as s,generateApplicationSpecCodeFile as d,generateApplicationSpecConfiguratorCode as c,generateApplicationSpecConfiguratorConfig as p,generateApplicationSpecConfiguratorFrontendCode as m,generateApplicationSpecConfiguratorGlobals as g,generateApplicationSpecDomainFile as l,generateApplicationSpecDomainSpecFile as f,generateApplicationSpecGlobals as B,generateApplicationSpecMessagesFile as u,generateApplicationSpecTypesModule as x,generateConfiguratorGlobalBindingBlock as h,generateImportedStateConstants as k,generatePhxExportsBlock as y,generatePhxGlobalsBlock as C,generateStateConstants as b}from"./templates/index.js";import{splitWebhookMembership as D}from"./webhook-safe-files.js";let S=()=>"";export const globalPhxBindingStrategy={generateApplicationTypesFile:(n,e)=>i("globals.d.ts",B(n,e)),generateDomainBindingBlock:C,generateStateConstants:b,generateConfiguratorBindingBlock:h,configuratorBindingDescription:"Creates the configurator interface and sets phx.frontend — must run before any user code imports.",generateAdminBindingBlock:t,adminBindingDescription:"Creates the admin interface and sets phx.frontend.admin — must run before admin user code imports."};export const modulePhxBindingStrategy={applicationTypeImportSource:"./application-types.js",generateApplicationTypesFile:(n,e)=>i("application-types.ts",x(n,e)),generateDomainBindingBlock:y,generateStateConstants:k,generateConfiguratorBindingBlock:S,configuratorBindingDescription:"Creates and exports the configurator interface for a module-scoped phx binding.",generateAdminBindingBlock:S,adminBindingDescription:"Creates and exports the admin interface for a module-scoped phx binding."};let j=n=>n.map(n=>n.file.name);export const generateDomainRuntimeFiles=(t,B)=>{let{applicationSpec:x,categorizedFiles:h,phxDefinitions:k,includeDefaultEnvs:y}=t,C=o(B.applicationTypeImportSource),b=j(h.expressions),S=j(h.actions),A=j(h.handlers),F=j(h.elements),I=j(h.transformers),T=j(h.invariants),w=j(h.adminInvariants),v=j(h.adminExpressions),E=j(h.adminElements),O=D(h.components),P=j(O.webhookIncluded),R=j(O.frontendOnly),q=D(h.adminComponents),z=j(q.webhookIncluded),G=j(q.frontendOnly);return[i("domain-spec.ts",f(x,{generateBindingBlock:B.generateDomainBindingBlock,generateStateConstants:B.generateStateConstants,registerApplicationTypeImports:C})),i("configurator-globals.ts",g(B.generateConfiguratorBindingBlock,B.configuratorBindingDescription,C)),i("configurator-domain-code.ts",c({expressionFiles:b,actionFiles:S,invariantFiles:T,componentFiles:P})),i("configurator-frontend-code.ts",m({transformerFiles:I,handlerFiles:A,elementFiles:F,componentFiles:R})),i("admin-domain-code.ts",a({adminExpressionFiles:v,adminInvariantFiles:w,adminComponentFiles:z})),i("admin-frontend-code.ts",r({adminElementFiles:E,adminComponentFiles:G})),i("spec-code.ts",d(x,C)),i("spec-messages.ts",u(x)),i("domain.ts",l(x)),i("configurator-config.ts",p(x,{includeDefaultEnvs:y})),B.generateApplicationTypesFile(x,k),i("admin-globals.ts",s(B.generateAdminBindingBlock,B.adminBindingDescription)),i("application-spec.json",n(e(x)),{format:!1})]};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{GeneratedApplicationFile as e}from"../../core/index.js";import{followsCanaryBuilds as
|
|
1
|
+
import{GeneratedApplicationFile as e}from"../../core/index.js";import{followsCanaryBuilds as i,generateApplicationSpecEslintConfig as r,generateApplicationSpecFavicon as t,generateApplicationSpecGitignore as a,generateApplicationSpecPrettierConfig as o,generateApplicationSpecRobotsTxt as n,generateApplicationSpecRootTsconfig as l,generateApplicationSpecTsconfig as s,generateLinguiRcFile as c,generatePhoenixSkillBundle as d,stripSdkMarkerContent as f}from"./templates/index.js";export const agentSkillRoots=[".claude/skills",".agents/skills"];let p=[{path:"CLAUDE.md",generatedPrefix:""},{path:".cursor/rules/phoenix.mdc",generatedPrefix:`---
|
|
2
2
|
description: Phoenix SDK project rules
|
|
3
3
|
globs:
|
|
4
4
|
alwaysApply: true
|
|
5
5
|
---
|
|
6
|
-
`}],
|
|
6
|
+
`}],g=[".claude/commands/review.md",".cursor/commands/review.md"],m=(e,i)=>e.projectFiles.find(e=>e.file.name===i)?.file.content;export const generateProjectScaffolding=h=>{let u,j,{applicationSpec:x,categorizedFiles:P,sdkVersion:F,projectInGitRepository:E=!0,cliUseWorkspace:v}=h,G=m(P,".gitignore"),b=void 0!==v?v:x.appMetadata.workspace,k=(i=>{let r=[],t=[...g];for(let{path:a,generatedPrefix:o}of p){let n=m(i,a);if(void 0===n)continue;let l=f(n,o);void 0===l?t.push(a):l!==n&&r.push(e(a,l,{format:!1}))}return{strippedFiles:r,removedFiles:t}})(P),L={generatedProjectFiles:(u=[{file:e("tsconfig.json",l()),hasEarlierGenerated:P.hasEarlierGeneratedTsconfig},{file:e("eslint.config.js",r()),hasEarlierGenerated:P.hasEarlierGeneratedEslintConfig},{file:e("prettier.config.js",o()),hasEarlierGenerated:P.hasEarlierGeneratedPrettierConfig}]).filter(e=>e.hasEarlierGenerated).map(e=>e.file),initialProjectFiles:u.filter(e=>!e.hasEarlierGenerated).map(e=>e.file)};return{phoenixFiles:[e("tsconfig.json",s()),e(".linguirc",c(x.configurator.ui.availableLocales),{format:!1})],generatedProjectFiles:[...L.generatedProjectFiles,...E?[e(".gitignore",a(G))]:[],...(j=d({checkLatestCanary:i({useWorkspace:b,sdkVersion:F})}),agentSkillRoots.flatMap(i=>[e(`${i}/phoenix/SKILL.md`,j.content),...j.references.map(r=>e(`${i}/phoenix/${r.path}`,r.content))])),...k.strippedFiles],initialProjectFiles:[...L.initialProjectFiles,e("public/favicon.ico",t(),{binary:!0}),e("public/robots.txt",n(),{format:!1})],removedProjectFiles:k.removedFiles}};
|
|
@@ -37,12 +37,8 @@ export { generateApplicationSpecGlobals } from './globals.js';
|
|
|
37
37
|
export { generateApplicationSpecHtmlAdminIndex } from './html-admin-index.js';
|
|
38
38
|
export { generateApplicationSpecHtmlIndex } from './html-index.js';
|
|
39
39
|
export { generateLinguiRcFile } from './lingui-rc.js';
|
|
40
|
-
export {
|
|
41
|
-
export {
|
|
42
|
-
export { generatePhoenixFeedbackSkill } from './skills/phoenix-feedback-skill.js';
|
|
43
|
-
export { generatePhoenixReviewSkill } from './skills/phoenix-review-skill.js';
|
|
44
|
-
export { type PhoenixSkillOptions, followsCanaryBuilds, generatePhoenixSkill } from './skills/phoenix-skill.js';
|
|
45
|
-
export { generatePhoenixVariantsSkill } from './skills/phoenix-variants-skill.js';
|
|
40
|
+
export { generatePhoenixSkillBundle } from './skills/phoenix-skill-bundle.js';
|
|
41
|
+
export { type PhoenixSkillOptions, followsCanaryBuilds } from './skills/processes/index.js';
|
|
46
42
|
export { generateApplicationSpecPrettierConfig } from './prettier-config.js';
|
|
47
43
|
export { generateApplicationSpecRobotsTxt } from './robots-txt.js';
|
|
48
44
|
export { generateApplicationSpecRootTsconfig } from './root-tsconfig.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{stripSdkMarkerContent}from"./common/strip-sdk-marker-content.js";export{generateApplicationSpecAdminConfig}from"./admin-config.js";export{generateApplicationSpecAdminCode}from"./admin-domain-code.js";export{generateApplicationSpecAdminFrontendCode}from"./admin-frontend-code.js";export{generateAdminGlobalBindingBlock,generateApplicationSpecAdminGlobals}from"./admin-globals.js";export{generateApplicationSpecTypesModule}from"./application-types.js";export{generateApplicationSpecAdminFile}from"./admin.js";export{generateApplicationSpecConfiguratorConfig}from"./configurator-config.js";export{generateApplicationSpecConfiguratorCode}from"./configurator-domain-code.js";export{generateApplicationSpecConfiguratorFrontendCode}from"./configurator-frontend-code.js";export{generateApplicationSpecConfiguratorGlobals,generateConfiguratorGlobalBindingBlock}from"./configurator-globals.js";export{generateApplicationSpecConfiguratorFile}from"./configurator.js";export{generateApplicationSpecDomainSpecFile}from"./domain-spec.js";export{generateImportedStateConstants,generatePhxExportsBlock,generatePhxGlobalsBlock,generateStateConstants}from"./domain-spec/index.js";export{generateApplicationSpecDomainFile}from"./domain.js";export{generateApplicationSpecEditorFile}from"./editor.js";export{generateApplicationSpecEmbeddedAdmin}from"./embedded-admin.js";export{generateApplicationSpecEmbeddedConfigurator}from"./embedded-configurator.js";export{generateApplicationSpecEslintConfig}from"./eslint-config.js";export{generateApplicationSpecFavicon}from"./favicon.js";export{generateApplicationSpecFrontendConfig}from"./frontend-config.js";export{generateApplicationSpecGitignore}from"./gitignore.js";export{generateApplicationSpecGlobals}from"./globals.js";export{generateApplicationSpecHtmlAdminIndex}from"./html-admin-index.js";export{generateApplicationSpecHtmlIndex}from"./html-index.js";export{generateLinguiRcFile}from"./lingui-rc.js";export{
|
|
1
|
+
export{stripSdkMarkerContent}from"./common/strip-sdk-marker-content.js";export{generateApplicationSpecAdminConfig}from"./admin-config.js";export{generateApplicationSpecAdminCode}from"./admin-domain-code.js";export{generateApplicationSpecAdminFrontendCode}from"./admin-frontend-code.js";export{generateAdminGlobalBindingBlock,generateApplicationSpecAdminGlobals}from"./admin-globals.js";export{generateApplicationSpecTypesModule}from"./application-types.js";export{generateApplicationSpecAdminFile}from"./admin.js";export{generateApplicationSpecConfiguratorConfig}from"./configurator-config.js";export{generateApplicationSpecConfiguratorCode}from"./configurator-domain-code.js";export{generateApplicationSpecConfiguratorFrontendCode}from"./configurator-frontend-code.js";export{generateApplicationSpecConfiguratorGlobals,generateConfiguratorGlobalBindingBlock}from"./configurator-globals.js";export{generateApplicationSpecConfiguratorFile}from"./configurator.js";export{generateApplicationSpecDomainSpecFile}from"./domain-spec.js";export{generateImportedStateConstants,generatePhxExportsBlock,generatePhxGlobalsBlock,generateStateConstants}from"./domain-spec/index.js";export{generateApplicationSpecDomainFile}from"./domain.js";export{generateApplicationSpecEditorFile}from"./editor.js";export{generateApplicationSpecEmbeddedAdmin}from"./embedded-admin.js";export{generateApplicationSpecEmbeddedConfigurator}from"./embedded-configurator.js";export{generateApplicationSpecEslintConfig}from"./eslint-config.js";export{generateApplicationSpecFavicon}from"./favicon.js";export{generateApplicationSpecFrontendConfig}from"./frontend-config.js";export{generateApplicationSpecGitignore}from"./gitignore.js";export{generateApplicationSpecGlobals}from"./globals.js";export{generateApplicationSpecHtmlAdminIndex}from"./html-admin-index.js";export{generateApplicationSpecHtmlIndex}from"./html-index.js";export{generateLinguiRcFile}from"./lingui-rc.js";export{generatePhoenixSkillBundle}from"./skills/phoenix-skill-bundle.js";export{followsCanaryBuilds}from"./skills/processes/index.js";export{generateApplicationSpecPrettierConfig}from"./prettier-config.js";export{generateApplicationSpecRobotsTxt}from"./robots-txt.js";export{generateApplicationSpecRootTsconfig}from"./root-tsconfig.js";export{generateApplicationSpecStoryDevDeclaration,generateApplicationSpecStoryPhxModule,generateApplicationSpecStoryRawProjectFiles,generateApplicationSpecStoryWrapper}from"./story/index.js";export{generateApplicationSpecCodeFile}from"./spec-code/index.js";export{generateApplicationSpecMessagesFile}from"./spec-messages/index.js";export{generateApplicationSpecTsconfig}from"./tsconfig.js";export{generateApplicationSpecWebhookBuilders}from"./webhook-builders.js";export{generateApplicationSpecWebhookIndex}from"./webhook-index.js";export{generateApplicationSpecWebhooksConfig}from"./webhooks-config.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import{DEFAULT_FALLBACK_LOCALE as e,LOCALE_FALLBACK_MAP as a}from"#package/i18n";export const generateLinguiRcFile=
|
|
1
|
+
import{DEFAULT_FALLBACK_LOCALE as e,LOCALE_FALLBACK_MAP as a}from"#package/i18n";export const generateLinguiRcFile=o=>{let s;return`{
|
|
2
2
|
"sourceLocale": "en",
|
|
3
|
-
"locales": [${
|
|
3
|
+
"locales": [${o.map(e=>`"${e}"`).join(", ")}],
|
|
4
4
|
"fallbackLocales": {
|
|
5
|
-
${(
|
|
5
|
+
${(s=Object.entries(a).map(([e,a])=>{let o=Array.isArray(a)?`[${a.map(e=>`"${e}"`).join(", ")}]`:`"${a}"`;return` "${e}": ${o}`})).push(` "default": "${e}"`),s.join(",\n")}
|
|
6
6
|
},
|
|
7
7
|
"catalogs": [
|
|
8
8
|
{
|
|
@@ -13,7 +13,8 @@ ${(o=Object.entries(a).map(([e,a])=>{let s=Array.isArray(a)?`[${a.map(e=>`"${e}"
|
|
|
13
13
|
],
|
|
14
14
|
"exclude": [
|
|
15
15
|
"**/node_modules/**",
|
|
16
|
-
"**/dist/**"
|
|
16
|
+
"**/dist/**",
|
|
17
|
+
"**/.phoenix/workspace/**"
|
|
17
18
|
]
|
|
18
19
|
}
|
|
19
20
|
],
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createPhoenixTopicGuide as e}from"../guide.js";export const generatePhoenixCliCore=()=>e({path:"core/cli.md",title:"CLI",summary:"tooling, identity, project structure and ownership, local development and deployment",sections:["## Tooling and dependencies\n\nCommands use pnpm notation; use the project's package manager identified by its lockfile or `packageManager` in `package.json`, and ask when neither identifies it. Keep the SDK on its intended release channel: stable, PR beta and workspace-linked projects must not be moved to canary. For a canary project, follow the canary section of [Project operations](../processes/operations.md) when it has one.\n\n`phoenix deps` aligns missing or out-of-range peer dependencies in `package.json` but installs nothing. Install with the project's package manager, then `phoenix sync` regenerates project files and guidance. Refresh changed guidance after sync. [CLI and setup documentation](../features/index.md#cli-access-and-deployment) owns flags and installation details.\n\n## Identity and authentication\n\nA workspace contains projects, and a project has target environments and deployments. Confirm ambiguous identity before mutations or deploys. `phoenix login <workspace>` authorizes the CLI; local dev and deploy use that identity. Consult [project and authentication documentation](../features/index.md#cli-access-and-deployment) for local versus remote setup.\n\n## Project structure\n\n- `spec/` — domain, relations, expressions, invariants, components and application YAML.\n- `src/expressions/`, `actions/`, `invariants/`, `transformers/` — typed implementations of domain behavior and consistency rules.\n- `src/components/`, `elements/`, `handlers/` — runtime components, custom UI and layout elements, event and lifecycle handlers. See [Custom project layout](../features/custom-layout/index.md) and [Domain controls](../features/domain-controls/index.md).\n- `src/webhooks/` — server handlers. A project entry is the default export of `index.ts`; without it the SDK supplies anonymous auth only. Enabling custom or Clerk auth without the entry reports `AUTH_WITHOUT_PROJECT_WEBHOOK`; add the required auth handlers or disable unintended auth settings.\n- `src/migrations/` — versioned model migrations; `src/admin/` mirrors the main source structure for Admin.\n- `src/locales/` — authored PO catalogs and generated TS catalogs.\n- `src/_shared/`, `src/_utils/` and other `_`-prefixed folders — helpers and supporting modules. Phoenix skips these folders during auto-import; import their modules explicitly.\n- `public/` — static models, textures, images and fonts; `assets/` — uploadable resources such as templates and email assets.\n- `docs/` — rendered specification PDFs for the client.\n- `.phoenix/` — generated files, with the project-owned exceptions below. The root `tsconfig.json` belongs to the project and extends `.phoenix/tsconfig.json`.\n\nDo not edit generated output or compiled locale TS. `.phoenix/workspace/` holds the specification sources and project records; application-spec sync, build and clean preserve it, and the generated Git ignore rules leave it available for version control. Deploy includes `.phoenix/workspace/` and `docs/` in the private deployment sources, outside application inputs and public assets. `.phoenix/variants/` option files survive rebuilds. Legacy tooling has a separate lifecycle.\n\nSync rewrites and prunes Phoenix's `phoenix` and `phoenix-*` skill folders under `.claude/skills/` and `.agents/skills/`; keep custom skills under another name. Root `AGENTS.md` and client source documents are client-owned. Components use PascalCase TSX, utilities kebab-case TS, expressions entity-name TS, migrations sequential `v*.ts` and specs kebab-case YAML. `docs/phoenix/project-structure.mdx` has the full reference; the [capability index](../features/index.md#project-and-customization) lists it.\n\n### Source conventions\n\n- Auto-imported expressions, actions, invariants, transformers, components, handlers, elements and webhooks must default-export their folder's phx factory result, as one item or an array. Named exports are ignored.\n- `phx` is a global in every project: use it without importing it.\n- Keep plain helpers in underscore folders and import them explicitly.\n- Use relative imports: dev, build and webhook bundling do not resolve tsconfig `paths` aliases.\n\n## Local development\n\n`phoenix dev` runs the live preview, `sync` regenerates without bundling, `build` produces the production build, and `check` checks project quality. Start and keep the preview with [Project operations](../processes/operations.md); a model change needs a dev restart and a new preview address.\n\nLogs in `.phoenix/phoenix-dev.log` contain spec, build and runtime errors and watcher events; check them after changes. [Inspection tools](../features/inspection.md) cover assets, state, data, scene and screenshots. Runtime inspection needs dev running and the preview open in a browser; a screenshot of the canvas does not verify the surrounding interface.\n\n## Deployment\n\n`phoenix deploy` sends project sources for a server build and waits for the target environment to go live. Use [Project operations](../processes/operations.md) for preparation, transcript consent, Studio progress and completion. A successful local preview does not establish deployed model compatibility; use [Model migration](../processes/model-migration.md) when needed. [Deployment documentation](../features/index.md#cli-access-and-deployment) covers status and environment details.\n\n## Interactive and support tools\n\n[Variants](../features/variants.md) compares frontend alternatives over the live preview and applies the choice. [Feedback](../processes/feedback/index.md) submits an approved issue or evaluation. The [workflow](workflow.md) owns when either is useful and how much client interaction fits the task."]});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export*from"./workflow.js";export*from"./sdk.js";export*from"./cli.js";
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import{createPhoenixTopicGuide as e}from"../guide.js";let t=`## Project and customization
|
|
2
|
+
|
|
3
|
+
Phoenix turns YAML in \`spec/\` into a typed domain, configured components and a running configurator.
|
|
4
|
+
|
|
5
|
+
- Define domain and component behavior in YAML first.
|
|
6
|
+
- Compose the UI through a custom project layout, using Phoenix elements, slots and hooks.
|
|
7
|
+
- For other custom implementations, verify an SDK capability gap and explain the proposed approach. Missing documentation does not establish a missing capability.
|
|
8
|
+
|
|
9
|
+
### The \`phx\` global
|
|
10
|
+
|
|
11
|
+
Project code reaches the SDK through the \`phx\` global: \`phx.domain\` for model reflections and the implementations of expressions, invariants and actions, \`phx.frontend\` for elements, handlers, hooks, updates and transformers, and \`phx.webhooks\` for server builders and tasks. Each [feature guide](../features/index.md) teaches its part as \`phx.<namespace>.<member>\`; a few things \`phx\` does not carry, such as \`memoEval\`, are SDK subpath imports.
|
|
12
|
+
|
|
13
|
+
### Entity-component-system model
|
|
14
|
+
|
|
15
|
+
- **Entities** store product state, such as a cabinet and its width.
|
|
16
|
+
- **Components** attach configurable data or behavior definitions, such as a scene object or width control, to entities or aliases.
|
|
17
|
+
- **Systems** consume those components to apply domain or UI behavior, such as rendering the scene.
|
|
18
|
+
|
|
19
|
+
Stable references drive change detection. Use memoEval to reuse result objects and arrays while inputs are unchanged; return new references for changed outputs. Mutating results in place can hide changes; recreating equivalent results causes unnecessary updates.
|
|
20
|
+
|
|
21
|
+
[Capability index](../features/index.md#project-and-customization) \xb7 [Project structure](cli.md#project-structure)
|
|
22
|
+
|
|
23
|
+
## Model
|
|
24
|
+
|
|
25
|
+
| Concept | Responsibility | Guide |
|
|
26
|
+
| --- | --- | --- |
|
|
27
|
+
| Entity, alias, relation | Saved product state and choices, shared views over entity types, and ownership, such as a cabinet's width and its shelves | [Entities and relations](../features/domain-model/entities-and-relations.md) |
|
|
28
|
+
| Component | Configured data or behavior bound to an entity or alias, shown by filters | [Components](../features/domain-model/components.md) |
|
|
29
|
+
| Expression | Pure derived value with a \`$\` prefix, such as \`$price\` | [Expressions](../features/domain-model/expressions.md) |
|
|
30
|
+
| Invariant, transformer | Validation and violations, such as an unsupported width and finish, and repair after a change | [Validation and repair](../features/domain-model/validation-and-repair.md), [Transformers](../features/domain-model/transformers.md) |
|
|
31
|
+
| Action | Prepared named domain operation, such as adding a shelf | [Actions](../features/domain-model/actions.md) |
|
|
32
|
+
|
|
33
|
+
Keep a deployed model unchanged under its version. When it changes, retain the old version and migrate saved configurations with [Model migration](../processes/model-migration.md).
|
|
34
|
+
|
|
35
|
+
## Runtime state
|
|
36
|
+
|
|
37
|
+
- **Store** — every change is a set of updates. Transformers run first, then validation; a change with a \`fatal\` or \`fixable\` violation is rejected, and controls dry-run their options the same way to disable those that would fail: [State](../features/state/index.md).
|
|
38
|
+
- **Application states** — presets, navigation, view and tool states and the selection decide what the configurator shows and which filtered components apply: [Application states](../features/application-states/index.md).
|
|
39
|
+
|
|
40
|
+
## Frontend runtime
|
|
41
|
+
|
|
42
|
+
Build the interface from elements and handlers, connected through \`phx.frontend\`.
|
|
43
|
+
|
|
44
|
+
| Surface | Use for | Guide |
|
|
45
|
+
| --- | --- | --- |
|
|
46
|
+
| Layout elements | The project layout, loading and error pages, preset screen, assistant forms | [Custom project layout](../features/custom-layout/index.md) |
|
|
47
|
+
| Entity elements and control hooks | Controls the layout renders or anchors in the scene | [Domain controls](../features/domain-controls/index.md) |
|
|
48
|
+
| Handlers | Event and lifecycle behavior, registered finalization actions | [Finalization actions](../features/custom-layout/finalization-actions.md) |
|
|
49
|
+
| Spec texts | Translated texts and the language switch | [Localization](../features/localization.md) |
|
|
50
|
+
|
|
51
|
+
Prefer a custom \`ConfiguratorLayout\` composed from Phoenix controls, slots and hooks; it owns the canvas, messages, read mode and finalization. Register the React component with the supported factory:
|
|
52
|
+
|
|
53
|
+
\`\`\`tsx
|
|
54
|
+
export default phx.frontend.createCustomPhoenixLayoutElement('ConfiguratorLayout', ConfiguratorLayout)
|
|
55
|
+
\`\`\`
|
|
56
|
+
|
|
57
|
+
[Scene and safe area](../features/custom-layout/scene-and-safe-area.md) has the minimal complete layout.
|
|
58
|
+
|
|
59
|
+
## Webhooks and finalization
|
|
60
|
+
|
|
61
|
+
Webhooks run server-side integrations. Keep credentials there and browser-only imports out. Frontend components and handlers stay excluded unless explicitly included or automatically required.
|
|
62
|
+
|
|
63
|
+
### Hooks and stages
|
|
64
|
+
|
|
65
|
+
| Hook / stage | Purpose / registration |
|
|
66
|
+
| --- | --- |
|
|
67
|
+
| Authentication | \`withAuthHook\`; code, refresh, anonymous flows and Clerk code/session/refresh handlers |
|
|
68
|
+
| Backend data | \`withFetchBackendData\`; server-fetched data for the configuration |
|
|
69
|
+
| Configurator finalization | \`withConfiguratorFinalize\`; validate/prepare the agreed completion journey |
|
|
70
|
+
| Prefetch | Finalization's \`withPrefetch\`; data preparation before tasks |
|
|
71
|
+
| Callback | Finalization's \`withCallback\`; consume task resources and return the final result |
|
|
72
|
+
| Admin finalization | Generated Admin publishing handler; map and publish content |
|
|
73
|
+
| Assistant setup | Generated from assistant settings; optional \`createAssistantSetupHandler\` narrows session capabilities |
|
|
74
|
+
|
|
75
|
+
### Tasks
|
|
76
|
+
|
|
77
|
+
| Task types | Purpose |
|
|
78
|
+
| --- | --- |
|
|
79
|
+
| \`GenerateConfigurationLink\` | Shareable configuration link |
|
|
80
|
+
| \`GenerateImages\` | Server-rendered images |
|
|
81
|
+
| \`GenerateCsv\` | CSV export |
|
|
82
|
+
| \`GeneratePdf\`, \`GenerateStaticPdf\` | Template-based or prepared HTML/React PDF |
|
|
83
|
+
| \`SendEmail\`, \`SendStaticEmail\` | Template-based or prepared HTML/React email |
|
|
84
|
+
| \`SendHttpRequest\` | External HTTP integration |
|
|
85
|
+
| \`WooCommerceAddToCart\` | WooCommerce cart integration |
|
|
86
|
+
| \`EditGoogleSpreadsheet\` | Spreadsheet updates |
|
|
87
|
+
| \`PublishRevision\` | Admin content revision |
|
|
88
|
+
| \`PublishRevisionChunks\`, \`PublishRevisionChunksStaged\` | Chunked publication, including staged uploads |
|
|
89
|
+
| \`CallLambdaBack\` | Callback with generated resources |
|
|
90
|
+
|
|
91
|
+
- Use \`phx.webhooks\` builders and task factories. Named resources connect the tasks that produce them to their consumers.
|
|
92
|
+
- Execution proceeds from backend data and prefetch through ordered tasks to the callback/result. Resource dependencies must follow the platform task order.
|
|
93
|
+
- For a quote, generate a configuration link and render, include them in a PDF, then send the email and return the callback result. Test without real messages or orders until authorized.
|
|
94
|
+
|
|
95
|
+
[Webhooks](../features/webhooks.md) \xb7 [Hooks/tasks, complete examples and order](../features/index.md#webhooks-and-finalization) \xb7 [Finalization process](../processes/finalization.md)
|
|
96
|
+
|
|
97
|
+
## Data sources
|
|
98
|
+
|
|
99
|
+
Choose data by ownership and lifetime.
|
|
100
|
+
|
|
101
|
+
| Source | Ownership / lifetime |
|
|
102
|
+
| --- | --- |
|
|
103
|
+
| Entity state | Saved configuration choices |
|
|
104
|
+
| Published data | Released catalogue/content revision |
|
|
105
|
+
| Frontend data | Values from the embedding frontend |
|
|
106
|
+
| Session data | Authentication/session context |
|
|
107
|
+
| Backend data | Values fetched through the webhook |
|
|
108
|
+
|
|
109
|
+
[Expressions](../features/domain-model/expressions.md) shows how expressions and elements read these sources \xb7 [Data sources and connected data](../features/index.md#data-sources)
|
|
110
|
+
|
|
111
|
+
## Admin and Studio
|
|
112
|
+
|
|
113
|
+
- Use **Project Admin** to manage domain content and publish it for configurators.
|
|
114
|
+
- Use **Studio** to manage platform workspaces, projects, environments and deployments.
|
|
115
|
+
|
|
116
|
+
[Admin and Studio documentation](../features/index.md#admin-and-studio)
|
|
117
|
+
`;export const generatePhoenixSdkCore=()=>e({path:"core/sdk.md",title:"SDK",summary:"the SDK mental model, capabilities, invariants and supported customization",sections:[t]});
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import{createPhoenixTopicGuide as e}from"../guide.js";let t=`The client creates the configurator; its users may be buyers, salespeople or designers. The aim is a useful, polished product that fits the client's purpose, preferences and agreed effort.
|
|
2
|
+
|
|
3
|
+
These practices usually lead there; adapt them to the client, the product and the task rather than following a script.`,n=`## Where to start
|
|
4
|
+
|
|
5
|
+
- **A new project** — nothing in \`.phoenix/workspace/specification/\` and still the starter spec, or a first draft the project record shows in progress — usually starts with a [First draft](../processes/first-draft/index.md): a convincing first version, quickly.
|
|
6
|
+
- **Normal mode** — everything after that, and every existing project — builds on the specification and the plan. A small fix goes straight to the affected behavior.
|
|
7
|
+
|
|
8
|
+
The client can always redirect; follow their lead without nagging or repeated approval requests.`,a=`## Working with the client
|
|
9
|
+
|
|
10
|
+
Be a warm, direct expert who listens, recommends an approach and takes responsibility for SDK and tooling choices. Look at supplied materials before asking, and keep the conversation about the product rather than setup questionnaires or jargon. When uncertainty affects the next result, such as a blocking ambiguity, a business decision needed now or a departure from accepted design, ask with a recommendation; otherwise state reversible defaults and keep going. Keep facts, explicit preferences and provisional assumptions distinct.
|
|
11
|
+
|
|
12
|
+
Talk about the client's product: what they can try, see or decide. Modes, processes, stages, records and guide names are internal and never come up with the client. Say "next, I'll add the desk range", not "switching to normal mode and running Planning".`,r=`## Preferences
|
|
13
|
+
|
|
14
|
+
Preferences shape how much effort and autonomy fit the work; note them in the project record as they emerge:
|
|
15
|
+
|
|
16
|
+
- **Cost** — token and money sensitivity: subagent reviews, parallel agents, heavy rendering.
|
|
17
|
+
- **Time** — fast feedback in small steps, or thorough and slower increments.
|
|
18
|
+
- **Autonomy** — decide and report, or check in before choices; how large an autonomous batch may be.
|
|
19
|
+
- **Quality bar** — demo grade or ready for real users; it sets review depth.
|
|
20
|
+
- **Communication** — detail, technical depth and update frequency.
|
|
21
|
+
|
|
22
|
+
A first draft runs no reviews or parallel agents, so it needs none of these answers. Ask once, briefly and with a recommendation, at its handoff or when work on an existing project starts without them. With a cost- or time-sensitive client, offer an expensive action with what it would add and wait for a yes rather than starting it.`,i=`## Keeping the client oriented
|
|
23
|
+
|
|
24
|
+
Clients do best when they know what is happening, what comes next and whether anything is blocked. Share the plan before longer work, update briefly during long builds, and when stuck, name the dependency and what can continue. Records do not replace these updates.
|
|
25
|
+
|
|
26
|
+
A good handoff separates what is done, what is unverified and what remains. After the first draft, end every handoff with a recommended next step and one or two alternatives, often a [Phoenix capability](../features/index.md) the client may not know about. Note declined suggestions so they do not come back.`,s=`## Building in increments
|
|
27
|
+
|
|
28
|
+
After the first draft, [Planning](../processes/planning.md) establishes the full specification and an ordered plan. Work then goes best in small, useful increments: choose an outcome with observable checks; build it within the [branding and UX guidelines](../processes/specification/index.md), where they exist, using the [SDK guidance](sdk.md); exercise the changed interaction and what it affects, such as control targets, selection context and global versus per-part behavior; review it as the [review strategy](#review-strategy) suggests; then show the client what to try and fold their feedback into the specification and plan.
|
|
29
|
+
|
|
30
|
+
Habits that help: wait for feedback before expanding an increment unless the client asked for a larger batch; settle core interactions before multiplying options; keep agreed scope visible until it is built or deferred; preserve selections and accepted behavior; and when rules change, keep model, scene, controls, dimensions, pricing and checks consistent.`,o=`## Visual choices
|
|
31
|
+
|
|
32
|
+
When taste, branding or interaction has several reasonable answers that the client's materials do not settle, alternatives usually help: explain the tradeoffs and recommend one. Accepted choices stay settled, facts are not the client's to pick, and routine reversible details need no approval. [Variants](../features/variants.md) shows alternatives in the live preview.`,c=`## Review strategy
|
|
33
|
+
|
|
34
|
+
The first draft skips review processes; a quick look at the running preview before showing each result keeps broken work away from the client.
|
|
35
|
+
|
|
36
|
+
Later, review changed work before committing or handing it over with the [review processes](../processes/review/index.md), scaled to impact, uncertainty, the quality bar and the cost preference. A self-review is usually enough; an independent subagent adds a fresh view of visual fidelity, complex rules or broad interactions when the preferences allow it. Note whether review was independent and what remains unverified; a passing build does not prove product quality.`,d=`## Feedback and completion
|
|
37
|
+
|
|
38
|
+
Client feedback shapes the direction and the records; confirm material departures. Phoenix feedback is a separate, external report: [Feedback](../processes/feedback/index.md) covers SDK problems and the end-of-run evaluation, and only approved content is sent.
|
|
39
|
+
|
|
40
|
+
Some lines stay firm: publishing, real orders, real messages and connecting live systems need the client's authorization against the concrete result, and deploys go through [Project operations](../processes/operations.md), including its transcript consent.`;export const generatePhoenixWorkflowCore=()=>e({path:"core/workflow.md",title:"Workflow",summary:"where to start, working with the client, preferences, increments, records and review strategy",sections:[t,n,a,r,i,s,o,"## Records\n\n- **Specification** — client-facing documents: branding, UX guidelines, product definition and catalogs, with sources in `.phoenix/workspace/specification/` and rendered PDFs in `docs/`. [Specification](../processes/specification/index.md) describes them; later work follows them, and changing an accepted rule is the client's call.\n- **Project record** — `.phoenix/workspace/project.md` is the current snapshot: preferences, approach, decisions with rationale, declined suggestions, progress and open questions, rewritten as they change. `.phoenix/workspace/changelog/` keeps the history: append a dated entry for each meaningful change, decision, verification or piece of client feedback, and continue in a new numbered file when the current one gets long. Normal mode adds `.phoenix/workspace/plan.md`.\n\nReuse records when resuming; they are never a client task or an approval gate. Leave out secrets, unrelated personal information and raw transcripts; [project structure](cli.md#project-structure) describes how records are kept and deployed.",c,d]});
|