@salsita-ai/sdk 0.50.0-develop.d87b28256e → 0.50.0-develop.d9534cf412

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1105) hide show
  1. package/README.md +5 -1
  2. package/dist/admin/AdminShell.js +1 -1
  3. package/dist/admin/legacy-admin/Application.js +1 -1
  4. package/dist/application/index.d.ts +1 -0
  5. package/dist/application/index.js +1 -1
  6. package/dist/application/mount-application.d.ts +1 -1
  7. package/dist/application/mount-application.js +1 -1
  8. package/dist/application/mount-configurator.d.ts +19 -0
  9. package/dist/application/mount-configurator.js +1 -0
  10. package/dist/application/mounted-application-runtime.d.ts +4 -0
  11. package/dist/application/mounted-application-runtime.js +1 -0
  12. package/dist/application/register-web-component.d.ts +2 -0
  13. package/dist/application/register-web-component.js +1 -0
  14. package/dist/application-spec/core/enhanced-json-value.d.ts +2 -31
  15. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  16. package/dist/application-spec/core/index.d.ts +1 -3
  17. package/dist/application-spec/core/index.js +1 -1
  18. package/dist/application-spec/core/json-schema.d.ts +2 -52
  19. package/dist/application-spec/core/markers/index.d.ts +1 -1
  20. package/dist/application-spec/core/markers/index.js +1 -1
  21. package/dist/application-spec/core/markers/msg-marker.d.ts +2 -28
  22. package/dist/application-spec/core/markers/msg-marker.js +1 -1
  23. package/dist/application-spec/core/markers/raw-eval-write-marker.d.ts +1 -1
  24. package/dist/application-spec/core/markers/raw-eval-write-marker.js +1 -1
  25. package/dist/application-spec/core/markers/raw-read-write-marker.js +1 -1
  26. package/dist/application-spec/errors/diagnostic-codes.d.ts +17 -1
  27. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  28. package/dist/application-spec/errors/diagnostic-messages.d.ts +25 -2
  29. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  30. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  31. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  32. package/dist/application-spec/generate-application/code/templates/application-types.js +6 -6
  33. package/dist/application-spec/generate-application/code/templates/common/doc-comment.d.ts +2 -0
  34. package/dist/application-spec/generate-application/code/templates/common/doc-comment.js +1 -0
  35. package/dist/application-spec/generate-application/code/templates/configurator-globals.d.ts +2 -1
  36. package/dist/application-spec/generate-application/code/templates/configurator-globals.js +19 -6
  37. package/dist/application-spec/generate-application/code/templates/global-definition/generate-action-types.js +7 -7
  38. package/dist/application-spec/generate-application/code/templates/global-definition/generate-assistant-form-element-types.d.ts +12 -0
  39. package/dist/application-spec/generate-application/code/templates/global-definition/generate-assistant-form-element-types.js +7 -0
  40. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.js +24 -22
  41. package/dist/application-spec/generate-application/code/templates/global-definition/index.d.ts +1 -0
  42. package/dist/application-spec/generate-application/code/templates/global-definition/index.js +1 -1
  43. package/dist/application-spec/generate-application/code/templates/index.d.ts +2 -6
  44. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  45. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill-bundle.d.ts +10 -0
  46. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill-bundle.js +7 -0
  47. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  48. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +14 -7
  49. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +2 -2
  50. package/dist/application-spec/generate-application/code/templates/story/wrapper.js +2 -4
  51. package/dist/application-spec/generate-application/implementations/phx-application-types.d.ts +25 -0
  52. package/dist/application-spec/generate-application/implementations/phx-application-types.js +1 -0
  53. package/dist/application-spec/generate-application/implementations/phx-domain.d.ts +36 -0
  54. package/dist/application-spec/generate-application/implementations/phx-domain.js +1 -0
  55. package/dist/application-spec/generate-application/implementations/phx-model.d.ts +24 -0
  56. package/dist/application-spec/generate-application/implementations/phx-model.js +1 -0
  57. package/dist/application-spec/generate-application/implementations/phx.d.ts +22 -0
  58. package/dist/application-spec/generate-application/implementations/phx.js +1 -0
  59. package/dist/application-spec/generate-application/index.d.ts +2 -0
  60. package/dist/application-spec/generate-application/index.js +1 -1
  61. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.d.ts +3 -4
  62. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +7 -4
  63. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  64. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-spec-runtime.d.ts +16 -0
  65. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-spec-runtime.js +1 -0
  66. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +17 -4
  67. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  68. package/dist/application-spec/generate-application/runtime/application-spec-slice.d.ts +71 -0
  69. package/dist/application-spec/generate-application/runtime/application-spec-slice.js +1 -0
  70. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.d.ts +3 -4
  71. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +7 -5
  72. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  73. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-spec-runtime.d.ts +16 -0
  74. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-spec-runtime.js +1 -0
  75. package/dist/application-spec/generate-application/runtime/create-application.d.ts +57 -0
  76. package/dist/application-spec/generate-application/runtime/create-application.js +1 -0
  77. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.d.ts +1 -2
  78. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.d.ts +1 -1
  79. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.js +1 -1
  80. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.d.ts +1 -2
  81. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.js +1 -1
  82. package/dist/application-spec/generate-application/runtime/generate-runtime-instance.d.ts +1 -1
  83. package/dist/application-spec/generate-application/runtime/generate-runtime-instance.js +1 -1
  84. package/dist/application-spec/generate-application/runtime/index.d.ts +8 -0
  85. package/dist/application-spec/generate-application/runtime/index.js +1 -0
  86. package/dist/application-spec/generate-application/runtime/sections/actions-runtime.d.ts +1 -2
  87. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +1 -1
  88. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  89. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.d.ts +1 -1
  90. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +1 -2
  91. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.d.ts +9 -4
  92. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  93. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.d.ts +1 -2
  94. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.js +1 -1
  95. package/dist/application-spec/generate-application/runtime/sections/preset-runtime.d.ts +2 -3
  96. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.d.ts +1 -1
  97. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.d.ts +1 -1
  98. package/dist/application-spec/generate-application/runtime/spec-runtime.d.ts +21 -0
  99. package/dist/application-spec/generate-application/runtime/spec-runtime.js +1 -0
  100. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.d.ts +3 -2
  101. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +124 -24
  102. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.js +1 -1
  103. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.d.ts +1 -1
  104. package/dist/application-spec/parse-application-files/merge/merged-assistant.d.ts +13 -4
  105. package/dist/application-spec/parse-application-files/merge/merged-assistant.js +1 -1
  106. package/dist/application-spec/parse-application-files/merge/merged-infra.d.ts +4 -11
  107. package/dist/application-spec/parse-application-files/merge/merged-transformers.d.ts +2 -4
  108. package/dist/application-spec/parse-application-files/parse-application-files.js +1 -1
  109. package/dist/application-spec/parse-application-files/raw-spec/raw-acl.d.ts +2 -2
  110. package/dist/application-spec/parse-application-files/raw-spec/raw-acl.js +1 -1
  111. package/dist/application-spec/parse-application-files/raw-spec/raw-admin-pages.d.ts +3 -24
  112. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +58 -23
  113. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  114. package/dist/application-spec/parse-application-files/raw-spec/raw-expressions.d.ts +1 -1
  115. package/dist/application-spec/parse-application-files/raw-spec/raw-expressions.js +1 -1
  116. package/dist/application-spec/parse-application-files/raw-spec/raw-resources.d.ts +19 -64
  117. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-pages.d.ts +3 -20
  118. package/dist/application-spec/parse-application-files/spec/application/admin-spec/states.d.ts +3 -5
  119. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/states.d.ts +3 -8
  120. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding.d.ts +3 -13
  121. package/dist/application-spec/parse-application-files/spec/components/bindings/write-binding.d.ts +4 -32
  122. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +4 -10
  123. package/dist/application-spec/parse-application-files/spec/components/components.d.ts +3 -4
  124. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -2
  125. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  126. package/dist/application-spec/parse-application-files/spec/components/sdk-component-entry.d.ts +1 -1
  127. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +2 -3
  128. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  129. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +2 -3
  130. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +2 -2
  131. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +7 -29
  132. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  133. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.d.ts +4 -71
  134. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  135. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +2 -2
  136. package/dist/application-spec/parse-application-files/spec/invariants/invariant.d.ts +5 -21
  137. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +4 -14
  138. package/dist/application-spec/parse-application-files/spec/model/aliases.d.ts +3 -9
  139. package/dist/application-spec/parse-application-files/spec/model/common-types.d.ts +6 -14
  140. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +6 -31
  141. package/dist/application-spec/parse-application-files/spec/model/entity-types.d.ts +3 -8
  142. package/dist/application-spec/parse-application-files/spec/model/model-version-key.d.ts +3 -3
  143. package/dist/application-spec/parse-application-files/spec/model/names/action-name.d.ts +3 -7
  144. package/dist/application-spec/parse-application-files/spec/model/names/alias-name.d.ts +3 -7
  145. package/dist/application-spec/parse-application-files/spec/model/names/entity-or-alias-name.d.ts +3 -8
  146. package/dist/application-spec/parse-application-files/spec/model/names/entity-type-name.d.ts +3 -8
  147. package/dist/application-spec/parse-application-files/spec/model/names/expression-name.d.ts +3 -6
  148. package/dist/application-spec/parse-application-files/spec/model/names/instance-name.d.ts +3 -7
  149. package/dist/application-spec/parse-application-files/spec/model/names/invariant-name.d.ts +3 -3
  150. package/dist/application-spec/parse-application-files/spec/model/names/shape-property-name.d.ts +3 -11
  151. package/dist/application-spec/parse-application-files/spec/model/names/violation-type-name.d.ts +3 -3
  152. package/dist/application-spec/parse-application-files/spec/model/presets.d.ts +6 -29
  153. package/dist/application-spec/parse-application-files/spec/sections/actions.d.ts +6 -23
  154. package/dist/application-spec/parse-application-files/spec/sections/app-metadata.d.ts +3 -18
  155. package/dist/application-spec/parse-application-files/spec/sections/application-version.d.ts +3 -7
  156. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.d.ts +9 -0
  157. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.js +1 -0
  158. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +4 -1
  159. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  160. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant.js +1 -1
  161. package/dist/application-spec/parse-application-files/spec/sections/data-spec/chunks.d.ts +6 -23
  162. package/dist/application-spec/parse-application-files/spec/sections/data-spec/custom-data-spec.d.ts +1 -16
  163. package/dist/application-spec/parse-application-files/spec/sections/data-spec/data-entry-key.d.ts +3 -9
  164. package/dist/application-spec/parse-application-files/spec/sections/data-spec/data-spec.d.ts +1 -10
  165. package/dist/application-spec/parse-application-files/spec/sections/data-spec/swatch-data-spec.d.ts +1 -14
  166. package/dist/application-spec/parse-application-files/spec/sections/state-value.d.ts +3 -7
  167. package/dist/application-spec/parse-application-files/spec/sections/theme.d.ts +3 -10
  168. package/dist/application-spec/parse-application-files/spec/sections/transformers.d.ts +4 -11
  169. package/dist/application-spec/parse-application-files/spec/sections/ui.d.ts +3 -12
  170. package/dist/client/authorized-client.d.ts +3 -1
  171. package/dist/client/authorized-client.js +1 -1
  172. package/dist/client/contract.d.ts +30 -1
  173. package/dist/client/contract.js +1 -1
  174. package/dist/client/index.d.ts +1 -1
  175. package/dist/client/local-authorized-client.d.ts +3 -1
  176. package/dist/client/local-authorized-client.js +1 -1
  177. package/dist/client/memory-authorized-client.d.ts +4 -1
  178. package/dist/client/memory-authorized-client.js +1 -1
  179. package/dist/client/phoenix-api.d.ts +259 -1
  180. package/dist/configurator/ConfiguratorApp.js +1 -1
  181. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.d.ts +2 -0
  182. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.js +5 -0
  183. package/dist/configurator/app-loader-content/index.d.ts +1 -0
  184. package/dist/configurator/app-loader-content/index.js +1 -0
  185. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  186. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +68 -9
  187. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  188. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +52 -9
  189. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  190. package/dist/configurator/application-runtime/extensions/systems/canvas-system.d.ts +8 -0
  191. package/dist/configurator/application-runtime/extensions/systems/canvas-system.js +1 -1
  192. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.d.ts +8 -0
  193. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.js +1 -0
  194. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.d.ts +23 -1
  195. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.js +1 -1
  196. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +82 -55
  197. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  198. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +66 -4
  199. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  200. package/dist/configurator/application-runtime/extensions/systems/graphql-system/violations.d.ts +40 -0
  201. package/dist/configurator/application-runtime/extensions/systems/graphql-system/violations.js +1 -0
  202. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.d.ts +14 -5
  203. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.js +1 -1
  204. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  205. package/dist/configurator/common/configurator-interface.d.ts +91 -7
  206. package/dist/configurator/common/configurator-interface.js +1 -1
  207. package/dist/configurator/configuration-not-found-page/BuiltInConfigurationNotFoundPage.d.ts +5 -0
  208. package/dist/configurator/configuration-not-found-page/BuiltInConfigurationNotFoundPage.js +1 -0
  209. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.d.ts +0 -6
  210. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.js +1 -1
  211. package/dist/configurator/configuration-not-found-page/index.d.ts +2 -2
  212. package/dist/configurator/configuration-not-found-page/index.js +1 -1
  213. package/dist/configurator/configurator-context/PreviewContextProvider.js +1 -1
  214. package/dist/configurator/configurator-context/configurator-hooks/index.d.ts +0 -1
  215. package/dist/configurator/configurator-context/configurator-hooks/index.js +1 -1
  216. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +4 -0
  217. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.js +1 -1
  218. package/dist/configurator/configurator-context/index.d.ts +0 -5
  219. package/dist/configurator/configurator-context/index.js +1 -1
  220. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.d.ts +3 -3
  221. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.js +1 -1
  222. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.d.ts +0 -5
  223. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.js +1 -1
  224. package/dist/configurator/configurator-error-page/index.d.ts +1 -2
  225. package/dist/configurator/configurator-error-page/index.js +1 -1
  226. package/dist/configurator/index.d.ts +10 -2
  227. package/dist/configurator/index.js +1 -1
  228. package/dist/configurator/pages/ConfiguratorErrorPage.d.ts +0 -1
  229. package/dist/configurator/pages/ConfiguratorErrorPage.js +1 -1
  230. package/dist/configurator/pages/ConfiguratorNotFoundPage.js +1 -1
  231. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  232. package/dist/configurator/pages/NewConfiguratorPage.js +1 -1
  233. package/dist/configurator/pages/default-configurator-elements.d.ts +6 -1
  234. package/dist/configurator/pages/default-configurator-elements.js +1 -1
  235. package/dist/configurator/pages/default-elements/index.d.ts +1 -0
  236. package/dist/configurator/pages/default-elements/index.js +1 -1
  237. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.d.ts +3 -0
  238. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.js +1 -0
  239. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.d.ts +3 -0
  240. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.js +1 -0
  241. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.d.ts +3 -0
  242. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.js +1 -0
  243. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.d.ts +3 -0
  244. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.js +1 -0
  245. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.d.ts +3 -0
  246. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.js +1 -0
  247. package/dist/configurator/pages/default-elements/scene-controls/index.d.ts +6 -0
  248. package/dist/configurator/pages/default-elements/scene-controls/index.js +1 -0
  249. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.d.ts +6 -0
  250. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.js +1 -0
  251. package/dist/configurator/pages/error-boundaries/BuiltInGeneralErrorFallback.d.ts +5 -0
  252. package/dist/configurator/pages/error-boundaries/BuiltInGeneralErrorFallback.js +1 -0
  253. package/dist/configurator/pages/error-boundaries/DevContextFallback.js +1 -1
  254. package/dist/configurator/pages/error-boundaries/DevLoadingFallback.js +1 -1
  255. package/dist/configurator/pages/error-boundaries/LoadingErrorBoundary.js +1 -1
  256. package/dist/configurator/pages/error-boundaries/index.d.ts +1 -0
  257. package/dist/configurator/pages/error-boundaries/index.js +1 -1
  258. package/dist/configurator/{configurator-context → pages/provider-slots}/ConfiguratorResponsiveProvider.d.ts +3 -3
  259. package/dist/configurator/pages/provider-slots/ConfiguratorResponsiveProvider.js +1 -0
  260. package/dist/configurator/pages/provider-slots/ContainerSlotProvider.d.ts +3 -0
  261. package/dist/configurator/pages/provider-slots/ContainerSlotProvider.js +1 -0
  262. package/dist/configurator/pages/provider-slots/LoaderSlotProvider.d.ts +3 -0
  263. package/dist/configurator/pages/provider-slots/LoaderSlotProvider.js +1 -0
  264. package/dist/configurator/pages/provider-slots/MessageHostSlotProvider.d.ts +3 -0
  265. package/dist/configurator/pages/provider-slots/MessageHostSlotProvider.js +1 -0
  266. package/dist/configurator/pages/provider-slots/SceneResourcesSlotProvider.d.ts +3 -0
  267. package/dist/configurator/pages/provider-slots/SceneResourcesSlotProvider.js +1 -0
  268. package/dist/configurator/pages/provider-slots/ThemeSlotProvider.d.ts +3 -0
  269. package/dist/configurator/pages/provider-slots/ThemeSlotProvider.js +1 -0
  270. package/dist/configurator/pages/provider-slots/configurator-provider-slot-elements.d.ts +3 -0
  271. package/dist/configurator/pages/provider-slots/configurator-provider-slot-elements.js +1 -0
  272. package/dist/configurator/pages/provider-slots/index.d.ts +6 -0
  273. package/dist/configurator/pages/provider-slots/index.js +1 -0
  274. package/dist/configurator/pages/ui-elements/BuiltInInvalidDeploymentReload.d.ts +2 -0
  275. package/dist/configurator/pages/ui-elements/BuiltInInvalidDeploymentReload.js +1 -0
  276. package/dist/configurator/pages/ui-elements/configurator-ui-elements.d.ts +3 -0
  277. package/dist/configurator/pages/ui-elements/configurator-ui-elements.js +1 -0
  278. package/dist/configurator/pages/ui-elements/index.d.ts +2 -0
  279. package/dist/configurator/pages/ui-elements/index.js +1 -0
  280. package/dist/configurator/scene/index.d.ts +1 -0
  281. package/dist/configurator/scene/index.js +1 -1
  282. package/dist/configurator/scene/scene-controls/ToolFab.d.ts +4 -0
  283. package/dist/configurator/scene/scene-controls/ToolFab.js +1 -1
  284. package/dist/configurator/scene/scene-controls/use-scene-control-tooltip.d.ts +2 -1
  285. package/dist/configurator/scene/scene-entity/scene-controls/SceneEntityHtmlHotspots.js +1 -1
  286. package/dist/configurator/toolbar-actions/index.d.ts +3 -0
  287. package/dist/configurator/toolbar-actions/index.js +1 -0
  288. package/dist/configurator/toolbar-actions/use-assistant-panel.d.ts +18 -0
  289. package/dist/configurator/toolbar-actions/use-assistant-panel.js +1 -0
  290. package/dist/configurator/toolbar-actions/use-measurements.d.ts +35 -0
  291. package/dist/configurator/toolbar-actions/use-measurements.js +1 -0
  292. package/dist/configurator/toolbar-actions/use-toolbar-actions.d.ts +100 -0
  293. package/dist/configurator/toolbar-actions/use-toolbar-actions.js +1 -0
  294. package/dist/configurator/toolbar-actions/use-toolbar-help.d.ts +7 -0
  295. package/dist/configurator/toolbar-actions/use-toolbar-help.js +1 -0
  296. package/dist/configurator/ui/assistant/AssistantChips.d.ts +3 -2
  297. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  298. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +6 -0
  299. package/dist/configurator/ui/assistant/AssistantComposer.js +2 -1
  300. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +1 -1
  301. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  302. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  303. package/dist/configurator/ui/assistant/alert/AssistantAlert.d.ts +8 -0
  304. package/dist/configurator/ui/assistant/alert/AssistantAlert.js +1 -0
  305. package/dist/configurator/ui/assistant/alert/index.d.ts +2 -0
  306. package/dist/configurator/ui/assistant/alert/index.js +1 -0
  307. package/dist/configurator/ui/assistant/alert/remark-alerts.d.ts +10 -0
  308. package/dist/configurator/ui/assistant/alert/remark-alerts.js +1 -0
  309. package/dist/configurator/ui/assistant/attachments/MessageImages.d.ts +11 -0
  310. package/dist/configurator/ui/assistant/attachments/MessageImages.js +1 -0
  311. package/dist/configurator/ui/assistant/attachments/index.d.ts +2 -0
  312. package/dist/configurator/ui/assistant/attachments/index.js +1 -0
  313. package/dist/configurator/ui/assistant/attachments/prepare-image.d.ts +19 -0
  314. package/dist/configurator/ui/assistant/attachments/prepare-image.js +1 -0
  315. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -1
  316. package/dist/configurator/ui/assistant/form/compose-answer.d.ts +1 -1
  317. package/dist/configurator/ui/assistant/form/compose-answer.js +1 -1
  318. package/dist/configurator/ui/assistant/form/form-model.d.ts +3 -4
  319. package/dist/configurator/ui/assistant/form/form-state.d.ts +1 -1
  320. package/dist/configurator/ui/assistant/form/index.d.ts +2 -0
  321. package/dist/configurator/ui/assistant/form/index.js +1 -1
  322. package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +3 -2
  323. package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -1
  324. package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +1 -1
  325. package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -1
  326. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.d.ts +3 -0
  327. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.js +1 -0
  328. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.d.ts +31 -0
  329. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.js +1 -0
  330. package/dist/configurator/ui/assistant/form/{form-element-definition.d.ts → registry/form-element-definition.d.ts} +3 -1
  331. package/dist/configurator/ui/assistant/form/registry/form-element-definition.js +1 -0
  332. package/dist/configurator/ui/assistant/form/{form-registry.d.ts → registry/form-registry.d.ts} +2 -2
  333. package/dist/configurator/ui/assistant/form/registry/form-registry.js +1 -0
  334. package/dist/configurator/ui/assistant/form/registry/index.d.ts +6 -0
  335. package/dist/configurator/ui/assistant/form/registry/index.js +1 -0
  336. package/dist/configurator/ui/assistant/form/registry/use-form-registry.d.ts +8 -0
  337. package/dist/configurator/ui/assistant/form/registry/use-form-registry.js +1 -0
  338. package/dist/configurator/ui/assistant/form-elements/FormCard.d.ts +9 -0
  339. package/dist/configurator/ui/assistant/form-elements/FormCard.js +1 -0
  340. package/dist/configurator/ui/assistant/form-elements/FormConfirm.d.ts +9 -0
  341. package/dist/configurator/ui/assistant/form-elements/FormConfirm.js +1 -0
  342. package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +4 -1
  343. package/dist/configurator/ui/assistant/form-elements/FormNumber.d.ts +9 -0
  344. package/dist/configurator/ui/assistant/form-elements/FormNumber.js +1 -0
  345. package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +4 -1
  346. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +4 -1
  347. package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -1
  348. package/dist/configurator/ui/assistant/form-elements/FormSwatch.d.ts +10 -0
  349. package/dist/configurator/ui/assistant/form-elements/FormSwatch.js +1 -0
  350. package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +4 -1
  351. package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -1
  352. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.d.ts +10 -0
  353. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.js +1 -0
  354. package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +20 -16
  355. package/dist/configurator/ui/assistant/form-elements/index.d.ts +4 -0
  356. package/dist/configurator/ui/assistant/form-elements/index.js +1 -1
  357. package/dist/configurator/ui/assistant/index.d.ts +3 -0
  358. package/dist/configurator/ui/assistant/index.js +1 -1
  359. package/dist/configurator/ui/assistant/resource-image/index.d.ts +1 -1
  360. package/dist/configurator/ui/assistant/resource-image/index.js +1 -1
  361. package/dist/configurator/ui/assistant/resource-image/resource-path.d.ts +0 -9
  362. package/dist/configurator/ui/assistant/resource-image/resource-path.js +1 -1
  363. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.d.ts +9 -0
  364. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.js +1 -0
  365. package/dist/configurator/ui/assistant/screenshots/index.d.ts +3 -0
  366. package/dist/configurator/ui/assistant/screenshots/index.js +1 -0
  367. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.d.ts +22 -0
  368. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.js +1 -0
  369. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.d.ts +8 -0
  370. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.js +1 -0
  371. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +2 -2
  372. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  373. package/dist/configurator/ui/assistant/thread-items.d.ts +2 -0
  374. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  375. package/dist/configurator/ui/assistant/tool-chip.d.ts +19 -9
  376. package/dist/configurator/ui/assistant/tool-chip.js +1 -1
  377. package/dist/configurator/ui/configurator-layout/slots/canvas/GPUAccelerationDisabled.js +1 -1
  378. package/dist/configurator/ui/configurator-layout/slots/canvas/LayoutCanvas.js +1 -1
  379. package/dist/configurator/ui/configurator-layout/slots/canvas/SharedCanvas.js +1 -1
  380. package/dist/configurator/ui/configurator-layout/slots/canvas/WebGLNotSupported.js +1 -1
  381. package/dist/configurator/ui/configurator-layout/slots/readonly-banner/CloneToEditDialog.js +1 -1
  382. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  383. package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.d.ts +5 -0
  384. package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.js +1 -0
  385. package/dist/configurator/ui/configurator-layout/universal/Layout.js +1 -1
  386. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  387. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -1
  388. package/dist/configurator/ui/index.d.ts +1 -0
  389. package/dist/configurator/ui/index.js +1 -1
  390. package/dist/configurator/ui/legacy/chat/MobileChat.js +1 -1
  391. package/dist/configurator/ui/legacy/layout/common/CommonTopNavigation.js +1 -1
  392. package/dist/configurator/ui/legacy/layout/common/ReactiveInterfaceLayout.js +1 -1
  393. package/dist/configurator/ui/legacy/layout/simple/SimpleSidebar.js +1 -1
  394. package/dist/configurator/ui/legacy/layout/simple/SimpleTopNavigation.js +1 -1
  395. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.js +1 -1
  396. package/dist/configurator/ui/legacy/layout/steps/StepsOwnerLayout.js +1 -1
  397. package/dist/configurator/ui/legacy/layout/steps/StepsSideBar.js +1 -1
  398. package/dist/configurator/ui/legacy/layout/tabs/TabsSidebar.js +1 -1
  399. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.d.ts +0 -7
  400. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.js +2 -6
  401. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -1
  402. package/dist/configurator/ui/phoenix-layout-elements/LanguageMenuAction.js +1 -1
  403. package/dist/configurator/ui/phoenix-layout-elements/LanguageToolbarButton.js +1 -1
  404. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsMenuAction.js +1 -1
  405. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsToolbarButton.js +1 -1
  406. package/dist/configurator/ui/phoenix-layout-elements/ShareToolbarButton.js +1 -1
  407. package/dist/configurator/ui/phoenix-layout-elements/header/common/back-button/use-go-back-action.js +1 -1
  408. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
  409. package/dist/configurator/ui/phoenix-layout-elements/index.d.ts +8 -1
  410. package/dist/configurator/ui/phoenix-layout-elements/index.js +1 -1
  411. package/dist/configurator/ui/phoenix-layout-elements/measurements/DimensionUnitSelector.js +1 -1
  412. package/dist/configurator/ui/phoenix-layout-elements/measurements/MeasurementsIndicatorsSwitch.js +1 -1
  413. package/dist/configurator/ui/phoenix-layout-elements/share/ShareModal.js +1 -1
  414. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.d.ts +7 -8
  415. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.js +1 -1
  416. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/basic/use-basic-sidebar-footer.js +1 -1
  417. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
  418. package/dist/configurator/ui/preset-layout/CategoryPresetUi.js +1 -1
  419. package/dist/configurator/ui/preset-layout/PresetUi.d.ts +0 -2
  420. package/dist/configurator/ui/preset-layout/PresetUi.js +1 -1
  421. package/dist/configurator/ui/preset-layout/index.d.ts +6 -1
  422. package/dist/configurator/ui/preset-layout/index.js +1 -1
  423. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -1
  424. package/dist/docs/3d-scene/cameras/custom.mdx +4 -2
  425. package/dist/docs/complex-use-cases/focus-mode.mdx +2 -0
  426. package/dist/docs/drag-and-drop/room-planner.mdx +1 -1
  427. package/dist/docs/fabs/basic.mdx +4 -0
  428. package/dist/docs/index.json +95 -1
  429. package/dist/docs/integrations/webcomponent-api/basics.mdx +2 -0
  430. package/dist/docs/layouts/custom-layout.mdx +321 -159
  431. package/dist/docs/layouts/gallery/ardent-compressor.mdx +3516 -0
  432. package/dist/docs/layouts/gallery/corvid-drone.mdx +3428 -0
  433. package/dist/docs/layouts/gallery/fenwick-window.mdx +2803 -0
  434. package/dist/docs/layouts/gallery/ferrule-bar-station.mdx +6567 -0
  435. package/dist/docs/layouts/gallery/kestrel-kettle.mdx +1858 -0
  436. package/dist/docs/layouts/gallery/nightjar-guitar.mdx +3698 -0
  437. package/dist/docs/layouts/gallery/sunfold-solar.mdx +2683 -0
  438. package/dist/docs/layouts/gallery/tidepool-aquascape.mdx +5203 -0
  439. package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -1
  440. package/dist/docs/other-features/navigation-hotspot.mdx +2 -0
  441. package/dist/docs/phoenix/configurator-interface.mdx +101 -17
  442. package/dist/docs/phoenix/domain-model.mdx +4 -1
  443. package/dist/docs/phoenix/layout-slots.mdx +25 -4
  444. package/dist/docs/phoenix/migration-guide.mdx +3 -3
  445. package/dist/docs/phoenix/phoenix-cli.mdx +40 -7
  446. package/dist/docs/phoenix/project-structure.mdx +23 -19
  447. package/dist/docs/phoenix/sdk-builder-workflow.mdx +7 -5
  448. package/dist/docs/phoenix/sessions-and-access.mdx +2 -0
  449. package/dist/docs/phoenix/testing.mdx +8 -3
  450. package/dist/docs/phoenix/webhooks.mdx +9 -1
  451. package/dist/docs/selection-and-highlight/hotspots.mdx +2 -0
  452. package/dist/domain/application/application-config.d.ts +6 -24
  453. package/dist/domain/application/assistant/assistant-manifest.d.ts +29 -4
  454. package/dist/domain/application/assistant/assistant-manifest.js +1 -1
  455. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +12 -9
  456. package/dist/domain/application/assistant/assistant-resolved-manifest.js +1 -1
  457. package/dist/domain/application/assistant/build-assistant-lenses.js +1 -1
  458. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  459. package/dist/domain/application/assistant/form/assistant-form-element-name.d.ts +11 -0
  460. package/dist/domain/application/assistant/form/assistant-form-element-name.js +8 -0
  461. package/dist/domain/application/assistant/form/assistant-form-elements.d.ts +174 -0
  462. package/dist/domain/application/assistant/form/assistant-form-elements.js +1 -0
  463. package/dist/domain/application/assistant/form/assistant-resource-path.d.ts +10 -0
  464. package/dist/domain/application/assistant/form/assistant-resource-path.js +1 -0
  465. package/dist/domain/application/assistant/form/index.d.ts +4 -0
  466. package/dist/domain/application/assistant/form/index.js +1 -0
  467. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
  468. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  469. package/dist/domain/application/assistant/index.d.ts +4 -5
  470. package/dist/domain/application/assistant/index.js +1 -1
  471. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -1
  472. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +4 -4
  473. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -1
  474. package/dist/domain/application/assistant-mutations.js +1 -1
  475. package/dist/domain/application/configurator-builder.d.ts +7 -1
  476. package/dist/domain/application/configurator-builder.js +1 -1
  477. package/dist/domain/application/index.d.ts +1 -1
  478. package/dist/domain/application/index.js +1 -1
  479. package/dist/domain/application/standard-properties.js +1 -1
  480. package/dist/domain/application/web-component-property.d.ts +3 -1
  481. package/dist/domain/application/web-component-property.js +1 -1
  482. package/dist/domain/available-system-components/available-system-components.d.ts +11 -0
  483. package/dist/domain/available-system-components/available-system-components.js +1 -0
  484. package/dist/domain/available-system-components/index.d.ts +1 -0
  485. package/dist/domain/available-system-components/index.js +1 -0
  486. package/dist/domain/{domain-builder.d.ts → domain-builder/domain-builder.d.ts} +11 -5
  487. package/dist/domain/domain-builder/domain-builder.js +1 -0
  488. package/dist/domain/domain-builder/index.d.ts +1 -0
  489. package/dist/domain/domain-builder/index.js +1 -0
  490. package/dist/domain/domain-context/store-system/store-system.d.ts +5 -0
  491. package/dist/domain/domain-context/store-system/store-system.js +1 -1
  492. package/dist/domain/domain-runtime/application.d.ts +39 -0
  493. package/dist/domain/domain-runtime/application.js +1 -0
  494. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +1 -0
  495. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  496. package/dist/domain/domain-runtime/domain-runtime.d.ts +44 -4
  497. package/dist/domain/domain-runtime/domain-runtime.js +1 -1
  498. package/dist/domain/domain-runtime/environment/initialize.d.ts +1 -1
  499. package/dist/domain/domain-runtime/environment/types.d.ts +1 -1
  500. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +2 -0
  501. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -1
  502. package/dist/domain/domain-runtime/index.d.ts +2 -1
  503. package/dist/domain/domain-runtime/index.js +1 -1
  504. package/dist/domain/domain-runtime/spec/index.d.ts +1 -1
  505. package/dist/domain/domain-runtime/spec/index.js +1 -1
  506. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  507. package/dist/domain/domain-runtime/spec/module-checks/element-registration.d.ts +15 -1
  508. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -1
  509. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.d.ts +12 -0
  510. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.js +1 -0
  511. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +3 -1
  512. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -1
  513. package/dist/domain/domain-runtime/spec/module-checks/merge-expression-modules.d.ts +23 -0
  514. package/dist/domain/domain-runtime/spec/module-checks/merge-expression-modules.js +1 -0
  515. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +3 -4
  516. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -1
  517. package/dist/domain/domain-runtime/spec/selectors.d.ts +3 -1
  518. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  519. package/dist/domain/domain-runtime/web-component/actions.d.ts +3 -0
  520. package/dist/domain/domain-runtime/web-component/actions.js +1 -1
  521. package/dist/domain/domain-runtime/web-component/initialize.d.ts +1 -0
  522. package/dist/domain/domain-runtime/web-component/initialize.js +1 -1
  523. package/dist/domain/domain-runtime/web-component/selectors.d.ts +2 -0
  524. package/dist/domain/domain-runtime/web-component/selectors.js +1 -1
  525. package/dist/domain/domain-runtime/web-component/types.d.ts +6 -3
  526. package/dist/domain/extensions/export-images/agent-screenshot.d.ts +30 -0
  527. package/dist/domain/extensions/export-images/agent-screenshot.js +1 -0
  528. package/dist/domain/extensions/{client-side-image.d.ts → export-images/client-side-image.d.ts} +2 -2
  529. package/dist/domain/extensions/export-images/client-side-image.js +1 -0
  530. package/dist/domain/extensions/export-images/index.d.ts +3 -0
  531. package/dist/domain/extensions/export-images/index.js +1 -0
  532. package/dist/domain/extensions/{save-template-thumbnail.d.ts → export-images/save-template-thumbnail.d.ts} +2 -2
  533. package/dist/domain/extensions/export-images/save-template-thumbnail.js +1 -0
  534. package/dist/domain/extensions/index.d.ts +1 -2
  535. package/dist/domain/extensions/index.js +1 -1
  536. package/dist/domain/index.d.ts +3 -2
  537. package/dist/domain/index.js +1 -1
  538. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +9 -0
  539. package/dist/domain/spec/application/admin-pages-section.d.ts +29 -0
  540. package/dist/domain/spec/application/admin-pages.d.ts +26 -0
  541. package/dist/domain/spec/application/admin-states.d.ts +5 -0
  542. package/dist/domain/spec/application/configurator-states.d.ts +8 -0
  543. package/dist/domain/spec/application/index.d.ts +5 -0
  544. package/dist/domain/spec/application/index.js +1 -0
  545. package/dist/domain/spec/components/bindings/index.d.ts +2 -0
  546. package/dist/domain/spec/components/bindings/read-binding.d.ts +13 -0
  547. package/dist/domain/spec/components/bindings/write-binding.d.ts +32 -0
  548. package/dist/domain/spec/components/bindings/write-binding.js +1 -0
  549. package/dist/{application-spec/parse-application-files → domain}/spec/components/component-entry.d.ts +3 -3
  550. package/dist/domain/spec/components/component-entry.js +1 -0
  551. package/dist/{application-spec/core → domain/spec}/components/component-filter.d.ts +3 -2
  552. package/dist/domain/spec/components/component-filters.d.ts +10 -0
  553. package/dist/domain/spec/components/component-filters.js +1 -0
  554. package/dist/domain/spec/components/components.d.ts +4 -0
  555. package/dist/domain/spec/components/components.js +1 -0
  556. package/dist/domain/spec/components/index.d.ts +6 -0
  557. package/dist/domain/spec/enhanced-json/enhanced-json-value.d.ts +30 -0
  558. package/dist/domain/spec/enhanced-json/enhanced-json-value.js +1 -0
  559. package/dist/domain/spec/enhanced-json/index.d.ts +1 -0
  560. package/dist/domain/spec/enhanced-json/index.js +1 -0
  561. package/dist/{application-spec/parse-application-files → domain}/spec/expressions/expression.d.ts +9 -3
  562. package/dist/domain/spec/expressions/expression.js +1 -0
  563. package/dist/domain/spec/expressions/expressions.d.ts +27 -0
  564. package/dist/domain/spec/expressions/expressions.js +1 -0
  565. package/dist/domain/spec/expressions/index.d.ts +5 -0
  566. package/dist/domain/spec/expressions/memo-eval-plan.d.ts +70 -0
  567. package/dist/domain/spec/expressions/memo-eval-plan.js +1 -0
  568. package/dist/domain/spec/expressions/relation-expression-params.js +1 -0
  569. package/dist/domain/spec/index.d.ts +9 -0
  570. package/dist/domain/spec/index.js +1 -0
  571. package/dist/domain/spec/invariants/index.d.ts +2 -0
  572. package/dist/domain/spec/invariants/index.js +1 -0
  573. package/dist/domain/spec/invariants/invariant.d.ts +24 -0
  574. package/dist/domain/spec/invariants/invariant.js +1 -0
  575. package/dist/domain/spec/invariants/invariants.d.ts +14 -0
  576. package/dist/domain/spec/invariants/invariants.js +1 -0
  577. package/dist/domain/spec/json-schema.d.ts +52 -0
  578. package/dist/domain/spec/json-schema.js +1 -0
  579. package/dist/domain/spec/markers/index.d.ts +3 -0
  580. package/dist/domain/spec/markers/index.js +1 -0
  581. package/dist/domain/spec/markers/msg-marker.d.ts +28 -0
  582. package/dist/domain/spec/markers/msg-marker.js +1 -0
  583. package/dist/domain/spec/model/aliases.d.ts +9 -0
  584. package/dist/domain/spec/model/aliases.js +1 -0
  585. package/dist/domain/spec/model/common-types.d.ts +15 -0
  586. package/dist/domain/spec/model/common-types.js +1 -0
  587. package/dist/domain/spec/model/defaults.d.ts +33 -0
  588. package/dist/domain/spec/model/defaults.js +1 -0
  589. package/dist/domain/spec/model/entity-types.d.ts +8 -0
  590. package/dist/domain/spec/model/entity-types.js +1 -0
  591. package/dist/domain/spec/model/index.d.ts +7 -0
  592. package/dist/domain/spec/model/index.js +1 -0
  593. package/dist/domain/spec/model/model-version-key.d.ts +3 -0
  594. package/dist/domain/spec/model/model-version-key.js +1 -0
  595. package/dist/domain/spec/model/names/action-name.d.ts +7 -0
  596. package/dist/domain/spec/model/names/action-name.js +1 -0
  597. package/dist/domain/spec/model/names/alias-name.d.ts +7 -0
  598. package/dist/domain/spec/model/names/alias-name.js +1 -0
  599. package/dist/domain/spec/model/names/entity-or-alias-name.d.ts +8 -0
  600. package/dist/domain/spec/model/names/entity-or-alias-name.js +1 -0
  601. package/dist/domain/spec/model/names/entity-type-name.d.ts +8 -0
  602. package/dist/domain/spec/model/names/entity-type-name.js +1 -0
  603. package/dist/domain/spec/model/names/expression-name.d.ts +6 -0
  604. package/dist/domain/spec/model/names/expression-name.js +1 -0
  605. package/dist/domain/spec/model/names/index.d.ts +9 -0
  606. package/dist/domain/spec/model/names/index.js +1 -0
  607. package/dist/domain/spec/model/names/instance-name.d.ts +7 -0
  608. package/dist/domain/spec/model/names/instance-name.js +1 -0
  609. package/dist/domain/spec/model/names/invariant-name.d.ts +3 -0
  610. package/dist/domain/spec/model/names/invariant-name.js +1 -0
  611. package/dist/domain/spec/model/names/shape-property-name.d.ts +11 -0
  612. package/dist/domain/spec/model/names/shape-property-name.js +1 -0
  613. package/dist/domain/spec/model/names/violation-type-name.d.ts +3 -0
  614. package/dist/domain/spec/model/names/violation-type-name.js +1 -0
  615. package/dist/domain/spec/model/presets.d.ts +30 -0
  616. package/dist/domain/spec/model/presets.js +1 -0
  617. package/dist/domain/spec/sections/actions.d.ts +23 -0
  618. package/dist/domain/spec/sections/actions.js +1 -0
  619. package/dist/domain/spec/sections/app-metadata.d.ts +18 -0
  620. package/dist/domain/spec/sections/app-metadata.js +1 -0
  621. package/dist/domain/spec/sections/application-version.d.ts +7 -0
  622. package/dist/domain/spec/sections/application-version.js +1 -0
  623. package/dist/domain/spec/sections/data-spec/chunks.d.ts +23 -0
  624. package/dist/domain/spec/sections/data-spec/chunks.js +1 -0
  625. package/dist/domain/spec/sections/data-spec/custom-data-spec-entry.d.ts +16 -0
  626. package/dist/domain/spec/sections/data-spec/custom-data-spec-entry.js +1 -0
  627. package/dist/domain/spec/sections/data-spec/data-entry-key.d.ts +9 -0
  628. package/dist/domain/spec/sections/data-spec/data-entry-key.js +1 -0
  629. package/dist/domain/spec/sections/data-spec/index.d.ts +5 -0
  630. package/dist/domain/spec/sections/data-spec/index.js +1 -0
  631. package/dist/domain/spec/sections/data-spec/parsed-data-spec-entries.d.ts +10 -0
  632. package/dist/domain/spec/sections/data-spec/parsed-data-spec-entries.js +1 -0
  633. package/dist/domain/spec/sections/data-spec/swatch-data-spec-entry.d.ts +14 -0
  634. package/dist/domain/spec/sections/data-spec/swatch-data-spec-entry.js +1 -0
  635. package/dist/domain/spec/sections/index.d.ts +9 -0
  636. package/dist/domain/spec/sections/index.js +1 -0
  637. package/dist/domain/spec/sections/infra/acl.d.ts +12 -0
  638. package/dist/domain/spec/sections/infra/acl.js +1 -0
  639. package/dist/domain/spec/sections/infra/index.d.ts +3 -0
  640. package/dist/domain/spec/sections/infra/index.js +1 -0
  641. package/dist/domain/spec/sections/infra/resource-entry.d.ts +46 -0
  642. package/dist/domain/spec/sections/infra/resource-entry.js +1 -0
  643. package/dist/domain/spec/sections/infra/resources-config.d.ts +10 -0
  644. package/dist/domain/spec/sections/infra/resources-config.js +1 -0
  645. package/dist/domain/spec/sections/state-value.d.ts +7 -0
  646. package/dist/domain/spec/sections/state-value.js +1 -0
  647. package/dist/domain/spec/sections/theme.d.ts +10 -0
  648. package/dist/domain/spec/sections/theme.js +1 -0
  649. package/dist/domain/spec/sections/transformers.d.ts +15 -0
  650. package/dist/domain/spec/sections/transformers.js +1 -0
  651. package/dist/domain/spec/sections/ui.d.ts +12 -0
  652. package/dist/domain/spec/sections/ui.js +1 -0
  653. package/dist/domain/system-definitions.js +1 -1
  654. package/dist/domain/utils/index.d.ts +2 -0
  655. package/dist/domain/utils/index.js +1 -0
  656. package/dist/editor/domain-editors/DomainSpecContext.js +1 -1
  657. package/dist/editor/domain-editors/apply-spec-update.d.ts +10 -2
  658. package/dist/editor/domain-editors/apply-spec-update.js +1 -1
  659. package/dist/editor/domain-editors/use-implementation-files.d.ts +6 -14
  660. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  661. package/dist/editor/graphql/GraphQLPanel.js +1 -1
  662. package/dist/editor/screenshot/ScreenshotHandler.js +1 -1
  663. package/dist/i18n/locales/cs/messages.js +1 -1
  664. package/dist/i18n/locales/da/messages.js +1 -1
  665. package/dist/i18n/locales/de/messages.js +1 -1
  666. package/dist/i18n/locales/de-AT/messages.js +1 -1
  667. package/dist/i18n/locales/en/messages.js +1 -1
  668. package/dist/i18n/locales/en-AU/messages.js +1 -1
  669. package/dist/i18n/locales/en-GB/messages.js +1 -1
  670. package/dist/i18n/locales/es/messages.js +1 -1
  671. package/dist/i18n/locales/fr/messages.js +1 -1
  672. package/dist/i18n/locales/hu/messages.js +1 -1
  673. package/dist/i18n/locales/it/messages.js +1 -1
  674. package/dist/i18n/locales/nl/messages.js +1 -1
  675. package/dist/i18n/locales/pl/messages.js +1 -1
  676. package/dist/i18n/locales/pt/messages.js +1 -1
  677. package/dist/i18n/locales/ro/messages.js +1 -1
  678. package/dist/i18n/locales/sk/messages.js +1 -1
  679. package/dist/i18n/locales/tr/messages.js +1 -1
  680. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  681. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  682. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +16 -0
  683. package/dist/legacy/domain-spec/spec/domain-spec.js +1 -1
  684. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  685. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  686. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  687. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +11 -5
  688. package/dist/legacy/phoenix-cli/services/webhook-service/transport.js +1 -1
  689. package/dist/legacy/phoenix-cli/services/webhook-service/tunnel.d.ts +1 -0
  690. package/dist/legacy/phoenix-cli/services/webhook-service/tunnel.js +1 -1
  691. package/dist/legacy/webhook-cli/lambda-local/index.js +1 -1
  692. package/dist/phoenix/application-spec/generate-application-spec-project.d.ts +1 -0
  693. package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
  694. package/dist/phoenix/application-spec/generate-project-files.d.ts +1 -0
  695. package/dist/phoenix/application-spec/index.d.ts +1 -0
  696. package/dist/phoenix/application-spec/index.js +1 -1
  697. package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +11 -0
  698. package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
  699. package/dist/phoenix/bin.js +1 -1
  700. package/dist/phoenix/cli.js +1 -1
  701. package/dist/phoenix/commands/activate-deployment.js +1 -1
  702. package/dist/phoenix/commands/build.js +1 -1
  703. package/dist/phoenix/commands/changelog.js +1 -1
  704. package/dist/phoenix/commands/check.js +1 -1
  705. package/dist/phoenix/commands/clean.js +1 -1
  706. package/dist/phoenix/commands/cleanup-environment.js +2 -2
  707. package/dist/phoenix/commands/create-environment.js +1 -1
  708. package/dist/phoenix/commands/data.js +1 -1
  709. package/dist/phoenix/commands/deploy.js +1 -1
  710. package/dist/phoenix/commands/deployment-build-envs-command.js +1 -1
  711. package/dist/phoenix/commands/dev.js +4 -5
  712. package/dist/phoenix/commands/docs.js +1 -1
  713. package/dist/phoenix/commands/finish-deployment-command.js +1 -1
  714. package/dist/phoenix/commands/fix.js +1 -1
  715. package/dist/phoenix/commands/index.d.ts +1 -1
  716. package/dist/phoenix/commands/index.js +1 -1
  717. package/dist/phoenix/commands/inspect-assets.js +1 -1
  718. package/dist/phoenix/commands/list-environments.js +1 -1
  719. package/dist/phoenix/commands/login.d.ts +4 -1
  720. package/dist/phoenix/commands/login.js +2 -2
  721. package/dist/phoenix/commands/prepare-deployment-command.js +2 -2
  722. package/dist/phoenix/commands/register-deployment.js +1 -1
  723. package/dist/phoenix/commands/scene.js +1 -1
  724. package/dist/phoenix/commands/screenshot.js +1 -1
  725. package/dist/phoenix/commands/state.js +1 -1
  726. package/dist/phoenix/commands/story-build.js +3 -3
  727. package/dist/phoenix/commands/story-create.js +1 -1
  728. package/dist/phoenix/commands/story-dev.js +2 -2
  729. package/dist/phoenix/commands/sync.js +1 -1
  730. package/dist/phoenix/commands/variants.js +1 -1
  731. package/dist/phoenix/editor-server/commands-router.js +1 -1
  732. package/dist/phoenix/editor-server/editor-server.d.ts +2 -13
  733. package/dist/phoenix/editor-server/editor-server.js +1 -1
  734. package/dist/phoenix/editor-server/spec-router.js +1 -1
  735. package/dist/phoenix/editor-server/trpc.d.ts +2 -12
  736. package/dist/phoenix/lingui/index.d.ts +1 -0
  737. package/dist/phoenix/lingui/index.js +1 -0
  738. package/dist/phoenix/lingui/lingui.d.ts +18 -0
  739. package/dist/phoenix/lingui/lingui.js +1 -0
  740. package/dist/phoenix/services/application-spec-project-watcher.d.ts +11 -6
  741. package/dist/phoenix/services/application-spec-project-watcher.js +2 -2
  742. package/dist/phoenix/services/cli-credentials.d.ts +3 -0
  743. package/dist/phoenix/services/cli-credentials.js +1 -1
  744. package/dist/phoenix/services/cli-exit.d.ts +5 -0
  745. package/dist/phoenix/services/cli-exit.js +1 -0
  746. package/dist/phoenix/services/deployment/deployment-preparation-service.d.ts +28 -0
  747. package/dist/phoenix/services/deployment/deployment-preparation-service.js +1 -0
  748. package/dist/phoenix/{commands → services/deployment}/generated-env-markers.d.ts +1 -0
  749. package/dist/phoenix/services/deployment/generated-env-markers.js +1 -0
  750. package/dist/phoenix/services/deployment/index.d.ts +2 -0
  751. package/dist/phoenix/services/deployment/index.js +1 -0
  752. package/dist/phoenix/services/index.d.ts +5 -1
  753. package/dist/phoenix/services/index.js +1 -1
  754. package/dist/phoenix/services/lingui-watcher.js +1 -1
  755. package/dist/phoenix/services/phoenix-store.d.ts +3 -0
  756. package/dist/phoenix/services/phoenix-store.js +1 -1
  757. package/dist/phoenix/services/prepare-development-environment.js +1 -1
  758. package/dist/phoenix/services/session/editor-server-handle.d.ts +5 -0
  759. package/dist/phoenix/services/session/editor-server-handle.js +1 -0
  760. package/dist/phoenix/services/session/index.d.ts +2 -0
  761. package/dist/phoenix/services/session/index.js +1 -0
  762. package/dist/phoenix/services/session/phoenix-application.d.ts +82 -0
  763. package/dist/phoenix/services/session/phoenix-application.js +2 -0
  764. package/dist/phoenix/services/telemetry/amplitude-telemetry-transport.d.ts +9 -0
  765. package/dist/phoenix/services/telemetry/amplitude-telemetry-transport.js +1 -0
  766. package/dist/phoenix/services/telemetry/index.d.ts +3 -0
  767. package/dist/phoenix/services/telemetry/index.js +1 -0
  768. package/dist/phoenix/services/telemetry/telemetry-client.d.ts +25 -0
  769. package/dist/phoenix/services/telemetry/telemetry-client.js +1 -0
  770. package/dist/phoenix/services/telemetry/telemetry-command.d.ts +2 -0
  771. package/dist/phoenix/services/telemetry/telemetry-command.js +1 -0
  772. package/dist/phoenix/services/telemetry/telemetry-event.d.ts +44 -0
  773. package/dist/phoenix/services/telemetry/telemetry-event.js +1 -0
  774. package/dist/phoenix/services/telemetry/telemetry-state.d.ts +25 -0
  775. package/dist/phoenix/services/telemetry/telemetry-state.js +2 -0
  776. package/dist/phoenix/services/vite-config.js +1 -1
  777. package/dist/phoenix/services/webhook-service/transport.js +1 -1
  778. package/dist/phoenix/services/webhook-service/tunnel.d.ts +1 -0
  779. package/dist/phoenix/services/webhook-service/tunnel.js +1 -1
  780. package/dist/react-sdk/application-runtime/common-services/analytics/analytics-service.d.ts +1 -1
  781. package/dist/react-sdk/application-runtime/common-services/analytics/frontend-analytics.d.ts +4 -0
  782. package/dist/react-sdk/application-runtime/common-services/initialize.d.ts +2 -2
  783. package/dist/react-sdk/application-runtime/domain-application-context/chat-system.d.ts +1 -1
  784. package/dist/react-sdk/application-runtime/hooks/index.d.ts +2 -0
  785. package/dist/react-sdk/application-runtime/hooks/index.js +1 -1
  786. package/dist/react-sdk/application-runtime/hooks/loading/index.d.ts +5 -0
  787. package/dist/react-sdk/application-runtime/hooks/loading/index.js +1 -0
  788. package/dist/react-sdk/application-runtime/hooks/loading/loader-host-context.d.ts +11 -0
  789. package/dist/react-sdk/application-runtime/hooks/loading/loader-host-context.js +1 -0
  790. package/dist/react-sdk/application-runtime/hooks/loading/use-is-awaiting-loading-phase.d.ts +8 -0
  791. package/dist/react-sdk/application-runtime/hooks/loading/use-is-awaiting-loading-phase.js +1 -0
  792. package/dist/react-sdk/application-runtime/hooks/loading/use-is-loader-hosted.d.ts +7 -0
  793. package/dist/react-sdk/application-runtime/hooks/loading/use-is-loader-hosted.js +1 -0
  794. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-actions.d.ts +9 -0
  795. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-actions.js +1 -0
  796. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-application.d.ts +24 -0
  797. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-application.js +1 -0
  798. package/dist/react-sdk/application-runtime/hooks/responsive/index.d.ts +3 -0
  799. package/dist/react-sdk/application-runtime/hooks/responsive/index.js +1 -0
  800. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.d.ts +9 -0
  801. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.js +1 -0
  802. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.d.ts +26 -0
  803. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.js +1 -0
  804. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.d.ts +10 -0
  805. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.js +1 -0
  806. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.d.ts +24 -0
  807. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.js +1 -0
  808. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +5 -0
  809. package/dist/react-sdk/application-runtime/hooks/use-access-service.js +1 -1
  810. package/dist/react-sdk/application-runtime/hooks/use-phoenix-element-slots.d.ts +2 -1
  811. package/dist/react-sdk/application-runtime/hooks/use-web-component-readonly-sync.d.ts +4 -11
  812. package/dist/react-sdk/application-runtime/hooks/use-web-component-readonly-sync.js +1 -1
  813. package/dist/react-sdk/application-runtime/hooks/use-web-component.d.ts +5 -0
  814. package/dist/react-sdk/application-runtime/hooks/use-web-component.js +1 -1
  815. package/dist/react-sdk/application-runtime/host-properties/actions.d.ts +15 -0
  816. package/dist/react-sdk/application-runtime/host-properties/actions.js +1 -0
  817. package/dist/react-sdk/application-runtime/host-properties/connect-host-properties.d.ts +30 -0
  818. package/dist/react-sdk/application-runtime/host-properties/connect-host-properties.js +1 -0
  819. package/dist/react-sdk/application-runtime/host-properties/domain-host-properties.d.ts +7 -0
  820. package/dist/react-sdk/application-runtime/host-properties/domain-host-properties.js +1 -0
  821. package/dist/react-sdk/application-runtime/host-properties/host-property-descriptors.d.ts +21 -0
  822. package/dist/react-sdk/application-runtime/host-properties/host-property-descriptors.js +1 -0
  823. package/dist/react-sdk/application-runtime/host-properties/host-property-scopes.d.ts +42 -0
  824. package/dist/react-sdk/application-runtime/host-properties/host-property-scopes.js +1 -0
  825. package/dist/react-sdk/application-runtime/host-properties/index.d.ts +8 -0
  826. package/dist/react-sdk/application-runtime/host-properties/index.js +1 -0
  827. package/dist/react-sdk/application-runtime/host-properties/initialize.d.ts +7 -0
  828. package/dist/react-sdk/application-runtime/host-properties/initialize.js +1 -0
  829. package/dist/react-sdk/application-runtime/host-properties/selectors.d.ts +54 -0
  830. package/dist/react-sdk/application-runtime/host-properties/selectors.js +1 -0
  831. package/dist/react-sdk/application-runtime/host-properties/types.d.ts +18 -0
  832. package/dist/react-sdk/application-runtime/host-properties/types.js +1 -0
  833. package/dist/react-sdk/application-runtime/index.d.ts +3 -0
  834. package/dist/react-sdk/application-runtime/integration/initialize.d.ts +7 -6
  835. package/dist/react-sdk/application-runtime/integration/initialize.js +1 -1
  836. package/dist/react-sdk/application-runtime/integration/selectors.d.ts +11 -2
  837. package/dist/react-sdk/application-runtime/integration/selectors.js +1 -1
  838. package/dist/react-sdk/application-runtime/integration/types.d.ts +5 -2
  839. package/dist/react-sdk/application-runtime/loading/actions.d.ts +45 -0
  840. package/dist/react-sdk/application-runtime/loading/actions.js +1 -0
  841. package/dist/react-sdk/application-runtime/loading/index.d.ts +4 -0
  842. package/dist/react-sdk/application-runtime/loading/index.js +1 -0
  843. package/dist/react-sdk/application-runtime/loading/initialize.d.ts +3 -0
  844. package/dist/react-sdk/application-runtime/loading/initialize.js +1 -0
  845. package/dist/react-sdk/application-runtime/loading/selectors.d.ts +18 -0
  846. package/dist/react-sdk/application-runtime/loading/selectors.js +1 -0
  847. package/dist/react-sdk/application-runtime/loading/types.d.ts +59 -0
  848. package/dist/react-sdk/application-runtime/loading/types.js +1 -0
  849. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  850. package/dist/react-sdk/application-runtime/provider/ApplicationRuntime.d.ts +6 -0
  851. package/dist/react-sdk/application-runtime/provider/ApplicationRuntime.js +1 -1
  852. package/dist/react-sdk/application-runtime/provider/ApplicationType.d.ts +7 -0
  853. package/dist/react-sdk/application-runtime/provider/ApplicationType.js +1 -1
  854. package/dist/react-sdk/application-runtime/responsive/actions.d.ts +47 -0
  855. package/dist/react-sdk/application-runtime/responsive/actions.js +1 -0
  856. package/dist/react-sdk/application-runtime/responsive/index.d.ts +4 -0
  857. package/dist/react-sdk/application-runtime/responsive/index.js +1 -0
  858. package/dist/react-sdk/application-runtime/responsive/initialize.d.ts +3 -0
  859. package/dist/react-sdk/application-runtime/responsive/initialize.js +1 -0
  860. package/dist/react-sdk/application-runtime/responsive/selectors.d.ts +20 -0
  861. package/dist/react-sdk/application-runtime/responsive/selectors.js +1 -0
  862. package/dist/react-sdk/application-runtime/responsive/types.d.ts +104 -0
  863. package/dist/react-sdk/application-runtime/responsive/types.js +1 -0
  864. package/dist/react-sdk/application-runtime/routing/routing-service.d.ts +34 -2
  865. package/dist/react-sdk/application-runtime/routing/routing-service.js +1 -1
  866. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +313 -10
  867. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  868. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/ConfiguratorRoutingProvider.d.ts +1 -1
  869. package/dist/react-sdk/configurator-routing/ConfiguratorRoutingProvider.js +1 -0
  870. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/OnGoToIndexHandler.d.ts +1 -2
  871. package/dist/react-sdk/configurator-routing/OnGoToIndexHandler.js +1 -0
  872. package/dist/react-sdk/configurator-routing/index.d.ts +3 -0
  873. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/index.js +1 -1
  874. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/use-power-routing-lifecycle.d.ts +2 -0
  875. package/dist/react-sdk/configurator-routing/use-power-routing-lifecycle.js +1 -0
  876. package/dist/react-sdk/configurator-ui-elements/ConfiguratorUiElementHost.d.ts +7 -0
  877. package/dist/react-sdk/configurator-ui-elements/ConfiguratorUiElementHost.js +1 -0
  878. package/dist/react-sdk/configurator-ui-elements/ErrorFallbackElement.d.ts +14 -0
  879. package/dist/react-sdk/configurator-ui-elements/ErrorFallbackElement.js +1 -0
  880. package/dist/react-sdk/configurator-ui-elements/ErrorFallbackPropsProvider.d.ts +18 -0
  881. package/dist/react-sdk/configurator-ui-elements/ErrorFallbackPropsProvider.js +1 -0
  882. package/dist/react-sdk/configurator-ui-elements/PlainErrorFallback.d.ts +5 -0
  883. package/dist/react-sdk/configurator-ui-elements/PlainErrorFallback.js +1 -0
  884. package/dist/react-sdk/configurator-ui-elements/configurator-ui-element.d.ts +17 -0
  885. package/dist/react-sdk/configurator-ui-elements/configurator-ui-element.js +1 -0
  886. package/dist/react-sdk/configurator-ui-elements/create-configurator-ui-element.d.ts +5 -0
  887. package/dist/react-sdk/configurator-ui-elements/create-configurator-ui-element.js +1 -0
  888. package/dist/react-sdk/configurator-ui-elements/index.d.ts +6 -0
  889. package/dist/react-sdk/configurator-ui-elements/index.js +1 -0
  890. package/dist/react-sdk/domain-application-context/BackendDataProvider.js +1 -1
  891. package/dist/react-sdk/domain-application-context/ConfigurationPersistSystemFailureHandler.js +1 -1
  892. package/dist/react-sdk/domain-application-context/FrontendDataProvider.js +1 -1
  893. package/dist/react-sdk/domain-application-context/OnPresetLoadedHandler.js +1 -0
  894. package/dist/react-sdk/domain-application-context/PublishedDataProvider.js +1 -1
  895. package/dist/react-sdk/domain-application-context/chat-hooks.d.ts +4 -0
  896. package/dist/react-sdk/domain-application-context/chat-hooks.js +1 -0
  897. package/dist/react-sdk/domain-application-context/index.d.ts +2 -0
  898. package/dist/react-sdk/domain-application-context/index.js +1 -1
  899. package/dist/react-sdk/domain-context/common-hooks/index.d.ts +9 -0
  900. package/dist/react-sdk/domain-context/common-hooks/index.js +1 -0
  901. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.d.ts +23 -0
  902. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.js +1 -0
  903. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +1 -0
  904. package/dist/react-sdk/domain-context/component-hooks/index.d.ts +1 -0
  905. package/dist/react-sdk/domain-context/component-hooks/index.js +1 -0
  906. package/dist/react-sdk/domain-context/component-hooks/use-component.js +1 -1
  907. package/dist/react-sdk/domain-context/entity-hooks/use-domain-entity-state.js +1 -1
  908. package/dist/react-sdk/domain-context/entity-hooks/use-entity-price.js +1 -1
  909. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-id.js +1 -1
  910. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-state.js +1 -1
  911. package/dist/react-sdk/domain-context/index.d.ts +4 -0
  912. package/dist/react-sdk/domain-context/index.js +1 -1
  913. package/dist/react-sdk/domain-context/system-hooks/composition-hooks.js +1 -1
  914. package/dist/react-sdk/domain-context/system-hooks/dimension-hooks.js +1 -1
  915. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.d.ts +8 -0
  916. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.js +1 -0
  917. package/dist/react-sdk/domain-context/system-hooks/hover-hooks.js +1 -1
  918. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.d.ts +24 -0
  919. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.js +1 -0
  920. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  921. package/dist/react-sdk/domain-context/system-hooks/selection-hooks.js +1 -1
  922. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.d.ts +32 -0
  923. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.js +1 -0
  924. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.js +1 -1
  925. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.js +1 -1
  926. package/dist/react-sdk/elements/PhoenixEntityElement.js +1 -1
  927. package/dist/react-sdk/elements/PhoenixLayoutElement.js +1 -1
  928. package/dist/react-sdk/elements/index.d.ts +0 -1
  929. package/dist/react-sdk/index.d.ts +9 -1
  930. package/dist/react-sdk/index.js +1 -1
  931. package/dist/react-sdk/integration/IntegrationSubscription.js +1 -0
  932. package/dist/react-sdk/integration/index.d.ts +1 -0
  933. package/dist/react-sdk/integration/index.js +1 -0
  934. package/dist/react-sdk/lifecycle-providers/ConfiguratorDataProvider.d.ts +8 -0
  935. package/dist/react-sdk/lifecycle-providers/ConfiguratorDataProvider.js +1 -0
  936. package/dist/react-sdk/lifecycle-providers/LifecycleProviders.js +1 -0
  937. package/dist/react-sdk/lifecycle-providers/index.d.ts +2 -0
  938. package/dist/react-sdk/lifecycle-providers/index.js +1 -0
  939. package/dist/react-sdk/loading-state/LoaderHost.d.ts +20 -0
  940. package/dist/react-sdk/loading-state/LoaderHost.js +1 -0
  941. package/dist/react-sdk/loading-state/built-in-loading-phase.d.ts +9 -0
  942. package/dist/react-sdk/loading-state/built-in-loading-phase.js +1 -0
  943. package/dist/react-sdk/loading-state/create-app-loader.d.ts +18 -0
  944. package/dist/react-sdk/loading-state/create-app-loader.js +1 -0
  945. package/dist/react-sdk/loading-state/index.d.ts +4 -2
  946. package/dist/react-sdk/loading-state/index.js +1 -1
  947. package/dist/react-sdk/loading-state/{LoadingStateProvider.d.ts → loading-state-hooks.d.ts} +3 -12
  948. package/dist/react-sdk/loading-state/loading-state-hooks.js +1 -0
  949. package/dist/react-sdk/notifications/index.d.ts +1 -0
  950. package/dist/react-sdk/notifications/index.js +1 -0
  951. package/dist/react-sdk/notifications/snackbar-action-button.d.ts +30 -0
  952. package/dist/react-sdk/notifications/snackbar-action-button.js +1 -0
  953. package/dist/react-sdk/page-elements/ConfigurationNotFoundPagePropsProvider.d.ts +17 -0
  954. package/dist/react-sdk/page-elements/ConfigurationNotFoundPagePropsProvider.js +1 -0
  955. package/dist/react-sdk/page-elements/ConfiguratorErrorPagePropsProvider.d.ts +17 -0
  956. package/dist/react-sdk/page-elements/ConfiguratorErrorPagePropsProvider.js +1 -0
  957. package/dist/react-sdk/page-elements/configurator-error-page-props.js +1 -0
  958. package/dist/{configurator/configuration-not-found-page → react-sdk/page-elements}/create-configuration-not-found-page.d.ts +7 -1
  959. package/dist/react-sdk/page-elements/create-configuration-not-found-page.js +1 -0
  960. package/dist/{configurator/configurator-error-page → react-sdk/page-elements}/create-configurator-error-page.d.ts +6 -1
  961. package/dist/react-sdk/page-elements/create-configurator-error-page.js +1 -0
  962. package/dist/react-sdk/page-elements/create-preset-ui.d.ts +9 -0
  963. package/dist/react-sdk/page-elements/create-preset-ui.js +1 -0
  964. package/dist/react-sdk/page-elements/index.d.ts +6 -0
  965. package/dist/react-sdk/page-elements/index.js +1 -0
  966. package/dist/react-sdk/preset-selection/PresetSelectionProvider.js +1 -0
  967. package/dist/react-sdk/preset-selection/index.d.ts +1 -0
  968. package/dist/react-sdk/preset-selection/index.js +1 -0
  969. package/dist/react-sdk/provider-slots/ConfiguratorProviderSlotHost.d.ts +11 -0
  970. package/dist/react-sdk/provider-slots/ConfiguratorProviderSlotHost.js +1 -0
  971. package/dist/react-sdk/provider-slots/configurator-provider-slot.d.ts +24 -0
  972. package/dist/react-sdk/provider-slots/configurator-provider-slot.js +1 -0
  973. package/dist/react-sdk/provider-slots/create-configurator-provider-slot.d.ts +5 -0
  974. package/dist/react-sdk/provider-slots/create-configurator-provider-slot.js +1 -0
  975. package/dist/react-sdk/provider-slots/index.d.ts +3 -0
  976. package/dist/react-sdk/provider-slots/index.js +1 -0
  977. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.d.ts +36 -0
  978. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.js +1 -0
  979. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.d.ts +44 -0
  980. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.js +1 -0
  981. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.d.ts +38 -0
  982. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.js +1 -0
  983. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.d.ts +30 -0
  984. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.js +1 -0
  985. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.d.ts +30 -0
  986. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.js +1 -0
  987. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.d.ts +9 -0
  988. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.js +1 -0
  989. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.d.ts +9 -0
  990. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.js +1 -0
  991. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.d.ts +10 -0
  992. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.js +1 -0
  993. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.d.ts +9 -0
  994. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.js +1 -0
  995. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.d.ts +9 -0
  996. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.js +1 -0
  997. package/dist/react-sdk/scene-control-elements/index.d.ts +11 -0
  998. package/dist/react-sdk/scene-control-elements/index.js +1 -0
  999. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.d.ts +5 -0
  1000. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.js +1 -0
  1001. package/dist/react-sdk/session/SessionServiceProvider.d.ts +5 -0
  1002. package/dist/react-sdk/session/SessionServiceProvider.js +1 -1
  1003. package/dist/react-sdk/web-component/create-web-component.js +1 -1
  1004. package/dist/react-sdk/web-component/god-mode/god-mode-registry.d.ts +30 -0
  1005. package/dist/react-sdk/web-component/god-mode/god-mode-registry.js +1 -0
  1006. package/dist/react-sdk/web-component/god-mode/index.d.ts +1 -0
  1007. package/dist/react-sdk/web-component/god-mode/index.js +1 -0
  1008. package/dist/ui-sdk/components/snackbar/Snackbar.d.ts +24 -3
  1009. package/dist/ui-sdk/components/snackbar/Snackbar.js +1 -1
  1010. package/dist/ui-sdk/icons/__generated/Lightbulb.d.ts +3 -0
  1011. package/dist/ui-sdk/icons/__generated/Lightbulb.js +1 -0
  1012. package/dist/ui-sdk/icons/__generated/Paperclip.d.ts +3 -0
  1013. package/dist/ui-sdk/icons/__generated/Paperclip.js +1 -0
  1014. package/dist/ui-sdk/icons/__generated/XCircle.d.ts +3 -0
  1015. package/dist/ui-sdk/icons/__generated/XCircle.js +1 -0
  1016. package/dist/ui-sdk/icons/__generated/index.d.ts +6 -0
  1017. package/dist/ui-sdk/icons/__generated/index.js +1 -1
  1018. package/dist/ui-sdk/icons/icons-registry.js +1 -1
  1019. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.d.ts +2 -2
  1020. package/dist/ui-sdk/responsive-application/responsive-state-store.d.ts +11 -9
  1021. package/dist/ui-sdk/responsive-application/use-store-responsive-info.js +1 -1
  1022. package/dist/ui-sdk/theme/types.d.ts +5 -1
  1023. package/dist/watch/glob-matcher.d.ts +4 -4
  1024. package/dist/watch/glob-matcher.js +1 -1
  1025. package/dist/watch/watch.d.ts +4 -4
  1026. package/dist/watch/watch.js +1 -1
  1027. package/package.json +13 -3
  1028. package/schema/domain-spec.json +158 -0
  1029. package/dist/application-spec/core/components/index.d.ts +0 -2
  1030. package/dist/application-spec/core/expressions/index.d.ts +0 -2
  1031. package/dist/configurator/configuration-not-found-page/create-configuration-not-found-page.js +0 -1
  1032. package/dist/configurator/configurator-context/ConfiguratorDataProvider.d.ts +0 -2
  1033. package/dist/configurator/configurator-context/ConfiguratorDataProvider.js +0 -1
  1034. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.js +0 -1
  1035. package/dist/configurator/configurator-context/IntegrationSubscription.js +0 -1
  1036. package/dist/configurator/configurator-context/LifecycleProviders.js +0 -1
  1037. package/dist/configurator/configurator-context/OnPresetLoadedHandler.js +0 -1
  1038. package/dist/configurator/configurator-context/PresetSelectionProvider.js +0 -1
  1039. package/dist/configurator/configurator-context/configurator-hooks/chat-hooks.d.ts +0 -1
  1040. package/dist/configurator/configurator-context/configurator-hooks/chat-hooks.js +0 -1
  1041. package/dist/configurator/configurator-context/configurator-routing/ConfiguratorRoutingProvider.js +0 -1
  1042. package/dist/configurator/configurator-context/configurator-routing/OnGoToIndexHandler.js +0 -1
  1043. package/dist/configurator/configurator-context/configurator-routing/index.d.ts +0 -2
  1044. package/dist/configurator/configurator-context/configurator-routing/use-power-routing-lifecycle.js +0 -1
  1045. package/dist/configurator/configurator-error-page/create-configurator-error-page.js +0 -1
  1046. package/dist/configurator/ui/assistant/form/built-in-form-registry.d.ts +0 -10
  1047. package/dist/configurator/ui/assistant/form/built-in-form-registry.js +0 -1
  1048. package/dist/configurator/ui/assistant/form/form-registry.js +0 -8
  1049. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.d.ts +0 -4
  1050. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.js +0 -1
  1051. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.d.ts +0 -4
  1052. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.js +0 -1
  1053. package/dist/domain/application/assistant/assistant-form-elements.d.ts +0 -28
  1054. package/dist/domain/application/assistant/assistant-form-elements.js +0 -1
  1055. package/dist/domain/available-system-components.d.ts +0 -11
  1056. package/dist/domain/available-system-components.js +0 -1
  1057. package/dist/domain/domain-builder.js +0 -1
  1058. package/dist/domain/extensions/client-side-image.js +0 -1
  1059. package/dist/domain/extensions/save-template-thumbnail.js +0 -1
  1060. package/dist/phoenix/commands/generated-env-markers.js +0 -1
  1061. package/dist/phoenix/services/lingui.d.ts +0 -15
  1062. package/dist/phoenix/services/lingui.js +0 -1
  1063. package/dist/phoenix/services/phoenix-application.d.ts +0 -21
  1064. package/dist/phoenix/services/phoenix-application.js +0 -1
  1065. package/dist/react-sdk/application-runtime/runtime/god-mode.d.ts +0 -19
  1066. package/dist/react-sdk/application-runtime/runtime/god-mode.js +0 -1
  1067. package/dist/react-sdk/loading-state/LoadingStateProvider.js +0 -1
  1068. package/dist/react-sdk/loading-state/loading-state-manager.d.ts +0 -32
  1069. package/dist/react-sdk/loading-state/loading-state-manager.js +0 -1
  1070. package/dist/react-sdk/responsive-state/ResponsiveStateProvider.d.ts +0 -25
  1071. package/dist/react-sdk/responsive-state/ResponsiveStateProvider.js +0 -1
  1072. package/dist/react-sdk/responsive-state/canvas-padding.d.ts +0 -14
  1073. package/dist/react-sdk/responsive-state/index.d.ts +0 -5
  1074. package/dist/react-sdk/responsive-state/index.js +0 -1
  1075. package/dist/react-sdk/responsive-state/responsive-state-manager.d.ts +0 -111
  1076. package/dist/react-sdk/responsive-state/responsive-state-manager.js +0 -1
  1077. package/dist/react-sdk/responsive-state/use-responsive-state-manager.d.ts +0 -10
  1078. package/dist/react-sdk/responsive-state/use-responsive-state-manager.js +0 -1
  1079. package/dist/react-sdk/responsive-state/use-responsive-state.d.ts +0 -11
  1080. package/dist/react-sdk/responsive-state/use-responsive-state.js +0 -1
  1081. /package/dist/{application-spec/core/expressions/relation-expression-params.js → domain/spec/application/admin-pages-section.js} +0 -0
  1082. /package/dist/{application-spec/parse-application-files/spec/components/component-entry.js → domain/spec/application/admin-pages.js} +0 -0
  1083. /package/dist/{application-spec/parse-application-files/spec/expressions/expression.js → domain/spec/application/admin-states.js} +0 -0
  1084. /package/dist/{application-spec/core → domain/spec/application}/application-instance.d.ts +0 -0
  1085. /package/dist/{application-spec/core → domain/spec/application}/application-instance.js +0 -0
  1086. /package/dist/{configurator/ui/assistant/form/form-element-definition.js → domain/spec/application/configurator-states.js} +0 -0
  1087. /package/dist/{react-sdk/elements/configurator-error-page-props.js → domain/spec/components/bindings/index.js} +0 -0
  1088. /package/dist/{react-sdk/responsive-state/canvas-padding.js → domain/spec/components/bindings/read-binding.js} +0 -0
  1089. /package/dist/{application-spec/core → domain/spec}/components/component-filter.js +0 -0
  1090. /package/dist/{application-spec/core → domain/spec}/components/index.js +0 -0
  1091. /package/dist/{application-spec/core → domain/spec}/components/sdk-code-ref.d.ts +0 -0
  1092. /package/dist/{application-spec/core → domain/spec}/components/sdk-code-ref.js +0 -0
  1093. /package/dist/{application-spec/core → domain/spec}/expressions/index.js +0 -0
  1094. /package/dist/{application-spec/core → domain/spec}/expressions/relation-expression-params.d.ts +0 -0
  1095. /package/dist/{application-spec/core → domain/spec}/expressions/sdk-expression-implementation.d.ts +0 -0
  1096. /package/dist/{application-spec/core → domain/spec}/expressions/sdk-expression-implementation.js +0 -0
  1097. /package/dist/{application-spec/parse-application-files/spec/components → domain/spec/markers}/component-prop-target.d.ts +0 -0
  1098. /package/dist/{application-spec/parse-application-files/spec/components → domain/spec/markers}/component-prop-target.js +0 -0
  1099. /package/dist/{application-spec/core → domain/spec}/markers/eval-marker.d.ts +0 -0
  1100. /package/dist/{application-spec/core → domain/spec}/markers/eval-marker.js +0 -0
  1101. /package/dist/{configurator/configurator-context → react-sdk/domain-application-context}/OnPresetLoadedHandler.d.ts +0 -0
  1102. /package/dist/{configurator/configurator-context → react-sdk/integration}/IntegrationSubscription.d.ts +0 -0
  1103. /package/dist/{configurator/configurator-context → react-sdk/lifecycle-providers}/LifecycleProviders.d.ts +0 -0
  1104. /package/dist/react-sdk/{elements → page-elements}/configurator-error-page-props.d.ts +0 -0
  1105. /package/dist/{configurator/configurator-context → react-sdk/preset-selection}/PresetSelectionProvider.d.ts +0 -0
@@ -40,7 +40,31 @@ pnpm phoenix dev
40
40
  3. Adds the `dev`, `build`, `deploy`, `check` and `fix` scripts to `package.json` (see [Project Scripts](#project-scripts)). A script the project already has under one of those names keeps its command.
41
41
  4. Writes a starter spec (`spec/application.yaml`, `spec/configurator.yaml`) with one resizable, recolorable box, and switches `package.json` to the application-spec pipeline.
42
42
 
43
- The next steps it prints use the package manager you ran it with, or name none when it cannot tell. It asks nothing, writes no `.env` and contacts no server. `phoenix sync` then generates every other project file, including the agent skills described in [Project Structure](?path=/docs/phoenix-project-structure--docs). The `.gitignore` is among them only when the folder is inside a git repository, so run `git init` before the first sync, or sync again after it.
43
+ The next steps it prints use the package manager you ran it with, or name none when it cannot tell. It asks nothing, writes no `.env` and contacts no Phoenix server. It does send the operational telemetry described below unless telemetry is disabled. `phoenix sync` then generates every other project file, including the agent skills described in [Project Structure](?path=/docs/phoenix-project-structure--docs). The `.gitignore` is among them only when the folder is inside a git repository, so run `git init` before the first sync, or sync again after it.
44
+
45
+ ### CLI telemetry
46
+
47
+ Operational CLI telemetry is enabled by default. Recognized top-level `phoenix` commands send lifecycle events directly to Amplitude's US ingestion endpoint. Current commands record both started and completed events. Legacy commands retain their existing exit behavior, so completion may be absent when they exit directly, including when legacy `dev` stops.
48
+
49
+ For `phoenix dev`, `cli_dev_server_ready` records that startup finished and the server is listening; it does not prove that a browser connected or the application works. Its `duration_ms` measures startup time. With the current application-spec pipeline, the command stays open until its existing shutdown path emits completion, whose duration covers the whole run. A normal stop is not evidence of abandonment, and a missing completion (for example after a forced kill) means the outcome is unknown.
50
+
51
+ Aliases are recorded as their canonical command names. Delivery failures never change the command result, and the CLI stops waiting for each delivery after one second.
52
+
53
+ Before a successful `phoenix login`, telemetry uses only random anonymous identifiers. Failed login attempts remain anonymous. The CLI stores an installation UUID, work-session UUID and last activity time in `~/.phoenix/telemetry.json`; a work session continues while commands occur less than 30 minutes apart.
54
+
55
+ After a successful login, the login completion and later commands from that installation include the stable authenticated builder user ID and the internal workspace UUID. Amplitude uses the unchanged installation ID to associate the earlier anonymous command path with that user. A later successful login replaces the stored user and workspace association. The state file never contains a login token, email address, machine fingerprint, project path or project content. Because the installation ID belongs to the operating-system user profile, people who share that profile also share its command history and latest association.
56
+
57
+ The events contain only:
58
+
59
+ - schema version, source (`cli`) and command name;
60
+ - unique event and command-attempt IDs;
61
+ - occurrence time, phase, safe outcome/failure category and duration;
62
+ - SDK version, traffic classification (`unknown` before authentication, `general` after it) and work-session ID;
63
+ - after successful login only, the authenticated builder user ID and workspace UUID.
64
+
65
+ The CLI never sends raw arguments, local paths, environment values, credentials, source/specification content, URLs, free text or raw error messages. The shipped Amplitude ingestion API key is public and only selects the destination project; it grants no read or administrative access. Events sent by a public client can be forged and are observations, not authoritative proof of deployment or server state.
66
+
67
+ Set `PHOENIX_TELEMETRY_DISABLED=1` to opt out. The opted-out CLI neither sends telemetry nor creates or updates the state file. `PHOENIX_TELEMETRY_FILE` overrides the state path for tests and other isolated environments.
44
68
 
45
69
  ### Which project `phoenix dev` develops in
46
70
 
@@ -164,6 +188,8 @@ A project has one generated env file. Phoenix keeps it in `.phoenix/`, as `.phoe
164
188
  - The deployment and environment commands (`deployment:prepare`, `deployment:prepare-dev`, `deployment:prepare-local`, `deployment:build-envs` and the others with an `--outFile` option) write `.env.generated` in the project root unless `--outFile` or `OUT_FILE` names another file. Deploy pipelines read it there. Once one of them has written it, `phoenix dev` and `phoenix build` use it.
165
189
  - Everything that reads environment variables follows the same rule: the root `.env.generated` when it exists, otherwise `.phoenix/.env.generated`. The two files are never merged.
166
190
  - `phoenix clean` removes `.phoenix/` and with it `.phoenix/.env.generated`; the next `phoenix dev` prepares the development deployment again. A root `.env.generated` stays.
191
+ - `phoenix dev` starts on the deployment the file names, and prepares a new one when the file was written for another project, environment or server, when the spec registers something on the server the deployment was not prepared with (the domain model, the published data schema, the auth hook, the roles that may create configurations, or the assistant), and on `--force`. A running `phoenix dev` does not prepare again after such a change: it logs an error that asks for a restart.
192
+ - Asset contents do not trigger preparation. After changing uploaded assets, restart with `phoenix dev --force` to prepare and upload them again.
167
193
 
168
194
  This holds for a project on the application-spec pipeline. In a project on the legacy pipeline (see [Current and legacy project tooling](#current-and-legacy-project-tooling)), `phoenix dev` always reads and writes `.env.generated` in the project root.
169
195
 
@@ -305,14 +331,16 @@ Starts the full development environment: Vite dev server, development webhook tu
305
331
  | `--environmentSlug` | `ENVIRONMENT_SLUG` | package.json name | Environment slug |
306
332
  | `--withLingui` | `WITH_LINGUI` | `false` | Enable i18n extraction/compilation and watch i18n sources during dev |
307
333
  | `--persistence` | `PERSISTENCE_MODE` | `server` | Persistence mode |
308
- | `--force` / `-f` | `FORCE_REBUILD` | `false` | Force full rebuild, skip cache |
334
+ | `--force` / `-f` | `FORCE_REBUILD` | `false` | Force full rebuild, skip cache, and prepare the development deployment again |
309
335
  | `--serverUrl` | `SERVER_URL` | the region's server | Phoenix server URL |
310
336
  | `--region` | `PHOENIX_REGION` | `eu` | Region of the signed-in workspace, used when no server URL is set |
311
337
  | `--skipUpload` / `--su` | `SKIP_UPLOAD` | `false` | Skip the S3 asset upload when the development deployment is prepared at startup |
312
338
 
313
339
  With the application-spec pipeline, `phoenix dev` creates an empty `src/` folder when the project has none, so that it rebuilds when the first source file, such as `src/webhooks/index.ts`, is added.
314
340
 
315
- With the application-spec pipeline, the SDK's own Lingui CLI runs with the configuration in `.phoenix/.linguirc`, both for `--withLingui` and when `phoenix sync` and `phoenix build` extract and compile the catalogs; see [Root Level Files](?path=/docs/phoenix-project-structure--docs#root-level-files). The dev server and `phoenix build` compile the Lingui macros (`msg`, `t`, `Trans` and the others, imported from `@lingui/core/macro`, `@lingui/react/macro` or `@lingui/macro`) with the SDK's own Lingui macro plugin and the same configuration, so the project needs neither `babel-plugin-macros` nor `@lingui/macro` for them. Babel macros of other packages are not compiled.
341
+ By default, with the application-spec pipeline, `phoenix dev` bootstraps missing compiled catalogs for every configured locale at startup, so a fresh project can start without a prior sync. It compiles existing `.po` translations as they are and extracts a locale only when its `.po` source is also missing. Existing compiled catalogs and `.po` sources stay unchanged. New or changed messages still need `phoenix sync` or continuous updates enabled by `--withLingui` or `WITH_LINGUI=true`.
342
+
343
+ The SDK's own Lingui CLI uses the configuration generated in `.phoenix/.linguirc`, both for `--withLingui` and when `phoenix sync` and `phoenix build` extract and compile the catalogs; see [Root Level Files](?path=/docs/phoenix-project-structure--docs#root-level-files). The dev server and `phoenix build` compile the Lingui macros (`msg`, `t`, `Trans` and the others, imported from `@lingui/core/macro`, `@lingui/react/macro` or `@lingui/macro`) with the SDK's own Lingui macro plugin and the same configuration, so the project needs neither `babel-plugin-macros` nor `@lingui/macro` for them. Babel macros of other packages are not compiled.
316
344
 
317
345
  In `server` persistence mode the project comes from `--projectSlug`, `PROJECT_SLUG` or `project` in the spec, and the credential from `DEVELOPMENT_KEY` or the `phoenix login` sign-in; see [Starting a New Project](#starting-a-new-project). When signed in, the environment is always your own development environment and `--environmentSlug` is ignored.
318
346
 
@@ -320,6 +348,7 @@ The dev server watches for changes in:
320
348
 
321
349
  - `spec/**/*.yaml` — Domain specification files
322
350
  - `src/**/*.{ts,tsx,yaml,yml,json,html,css}` — Source files
351
+ - `package.json` — Root dependency declarations; changes recheck the SDK's peers. A mismatch is reported without stopping dev, and correcting the manifest triggers another rebuild. Install changed dependencies with your package manager; changes to installed packages can still require restarting dev.
323
352
  - `.env` — Environment file; a change restarts the Vite dev server
324
353
  - `.env.generated`, `.phoenix/.env.generated` — Generated env files; a change rebuilds the project files. Only a file that exists when `phoenix dev` starts is watched: a root `.env.generated` that a deployment command creates while dev runs is not watched; restart `phoenix dev` to use it.
325
354
 
@@ -336,7 +365,11 @@ Restart the application after fixing either failure; a subscriber or generation
336
365
  observed the attempted update.
337
366
 
338
367
  Domain-model changes are not applied live yet. Phoenix rejects them with a restart-required
339
- diagnostic so the mounted application cannot observe a new model with old configuration data. Other
368
+ diagnostic so the mounted application cannot observe a new model with old configuration data. With
369
+ server persistence, `phoenix dev` logs an error that asks for its own restart, because the
370
+ development deployment keeps the schema it was prepared with until `phoenix dev` starts again and
371
+ prepares it. After the restart, open the preview address it prints: a tab whose address has `?cid=`
372
+ loads a configuration saved with the earlier model, which the new model rejects. Other
340
373
  generated bootstrap, admin, data, environment, and host-integration surfaces should also be treated
341
374
  as restart-required unless their feature documentation explicitly states live-update support.
342
375
 
@@ -609,7 +642,7 @@ Known limits:
609
642
  - Binary assets, CSS files, locale catalog changes, dependency changes and edits requiring a full application restart are unsupported.
610
643
  - Storybook `story-dev` has no variant previews. A project on the legacy pipeline has no variant previews; the command says so and exits.
611
644
 
612
- Generated projects carry the `phoenix-variants` agent skill, which tells coding agents when to offer options, how to write each kind and what to do with your answer.
645
+ Generated projects carry the `phoenix` agent skill, whose linked Variants guide tells coding agents when to offer options, how to write each kind and what to do with your answer.
613
646
 
614
647
  ## SDK Development
615
648
 
@@ -750,7 +783,7 @@ Revokes the token on the server and removes it from the credentials file. `--reg
750
783
 
751
784
  ### `phoenix deploy`
752
785
 
753
- Validates the spec, packs and uploads the project, starts its build on the server and follows it until the configurator is live. Before the upload the server compares the domain model with the deployed one: a model that changed under an already deployed model version is refused with the reason, and needs a new model version and a [migration](?path=/docs/phoenix-migrations--docs). Once the build starts it prints `Follow the build in Studio: <url>`, the build's page in the Studio you signed in through; a sign-in stored by an older CLI has no Studio URL, so sign in again to get the link. After `Your configurator is live at <url>` it prints one line for coding agents, which tells them to offer the run evaluation of the `phoenix-feedback` skill once you have nothing more to build; you can ignore it when you run the command yourself. `--region` or `--serverUrl` selects the server, as for `login`; `--no-wait` returns as soon as the build starts.
786
+ Validates the spec, packs and uploads the project, starts its build on the server and follows it until the configurator is live. Before the upload the server compares the domain model with the deployed one: a model that changed under an already deployed model version is refused with the reason, and needs a new model version and a [migration](?path=/docs/phoenix-migrations--docs). Once the build starts it prints `Follow the build in Studio: <url>`, the build's page in the Studio you signed in through; a sign-in stored by an older CLI has no Studio URL, so sign in again to get the link. After `Your configurator is live at <url>` it prints one line for coding agents, which tells them to offer the run evaluation in the Feedback guide linked from the `phoenix` skill once you have nothing more to build; you can ignore it when you run the command yourself. `--region` or `--serverUrl` selects the server, as for `login`; `--no-wait` returns as soon as the build starts.
754
787
 
755
788
  To keep the conversation that led to a build, place a reviewed UTF-8 transcript in `conversation.log` at the project root before deploying. Deploy automatically includes it in the private source archive. Download the build's sources from Studio to read it; access is the same as for the rest of that build's sources. The build extractor skips the log, so it is not an application build input or a public asset. Missing logs produce a warning and deployment continues. Directories, links and special files at that path are rejected.
756
789
 
@@ -779,7 +812,7 @@ Pass the message as the argument for a short note, or `--file` for a longer repo
779
812
 
780
813
  A message holds at most 100,000 characters, from the argument or from the file. Besides the message and the flags, the CLI sends only the SDK version, the operating system and the Node.js version; no file of the project is attached, and the Phoenix team reads a build's sources through the build's page in Studio. The project must belong to the signed-in workspace, otherwise the server refuses the feedback; without a project, the feedback is sent on its own.
781
814
 
782
- Generated projects carry the `phoenix-feedback` agent skill. It tells coding agents when to draft feedback, to show you the draft and send it only after you approve it, and how to write a report: the build id with its Studio page link, the live configurator link, what the agent was doing, what happened and what was expected, the exact error or output, the workaround and a condensed conversation log. When you say you are done, or a deploy went live and you confirm the run is finished, the agent asks you to evaluate the run, one question at a time: minutes spent, then a score from 0 to 10 for the agent's guidance, the configurator's functionality, its UX, the quality of the 3D, the UI visuals and the overall result, then your comments. It never picks a score for you and sends nothing when you decline. Secrets, credentials and personal data never go into a message; file paths, spec and code snippets and your own words may, once you approved the draft that contains them. The command needs a server with API 1.40.0 or newer; a message over 5000 characters needs API 1.43.0 or newer.
815
+ Generated projects carry the `phoenix` agent skill. Its linked Feedback guide tells coding agents when to draft feedback, to show you the draft and send it only after you approve it, and how to write a report: the build id with its Studio page link, the live configurator link, what the agent was doing, what happened and what was expected, the exact error or output, the workaround and a condensed conversation log. When you say you are done, or a deploy went live and you confirm the run is finished, the agent asks you to evaluate the run, one question at a time: minutes spent, then a score from 0 to 10 for the agent's guidance, the configurator's functionality, its UX, the quality of the 3D, the UI visuals and the overall result, then your comments. It never picks a score for you and sends nothing when you decline. Secrets, credentials and personal data never go into a message; file paths, spec and code snippets and your own words may, once you approved the draft that contains them. The command needs a server with API 1.40.0 or newer; a message over 5000 characters needs API 1.43.0 or newer.
783
816
 
784
817
  ## Next Steps
785
818
 
@@ -199,23 +199,23 @@ type CustomMaterial = Phx['AdminModel']['CustomMaterial']
199
199
 
200
200
  ### Root Level Files
201
201
 
202
- | File | Auto-Generated? | Notes |
203
- | ------------------------------------------------------ | --------------- | ------------------------------------- |
204
- | `package.json` | No | Yours; see Dependencies |
205
- | `tsconfig.json` | Once | Yours; see below |
206
- | `eslint.config.js` | Once | Yours; see below |
207
- | `prettier.config.js` | Once | Yours; see below |
208
- | `.prettierignore` | No | Optional and your own; see below |
209
- | `pnpm-workspace.yaml` | No | Only with pnpm; see Package manager |
210
- | `.gitignore` | Partially | Only in a git repository; see Markers |
211
- | `.env` | No | Git-ignored, local config |
212
- | `.env.example` | No | Template for env vars |
213
- | `.env.generated` | Yes | Optional, git-ignored; see below |
214
- | `README.md` | No | Project documentation |
215
- | `AGENTS.md` | No | Your own coding-agent instructions |
216
- | `.claude/skills/phoenix*/`, `.agents/skills/phoenix*/` | Yes | Phoenix agent skills |
217
-
218
- Sync does not write `README.md`, `AGENTS.md`, `.env.example`, `.env.ci` or the `README.md` files in `assets/public/` and `assets/private/`. Earlier SDK versions wrote them once; a project that has them keeps them, and they are yours to edit.
202
+ | File | Auto-Generated? | Notes |
203
+ | ---------------------------------------------------- | --------------- | ------------------------------------- |
204
+ | `package.json` | No | Yours; see Dependencies |
205
+ | `tsconfig.json` | Once | Yours; see below |
206
+ | `eslint.config.js` | Once | Yours; see below |
207
+ | `prettier.config.js` | Once | Yours; see below |
208
+ | `.prettierignore` | No | Optional and your own; see below |
209
+ | `pnpm-workspace.yaml` | No | Only with pnpm; see Package manager |
210
+ | `.gitignore` | Partially | Only in a git repository; see Markers |
211
+ | `.env` | No | Git-ignored, local config |
212
+ | `.env.example` | No | Template for env vars |
213
+ | `.env.generated` | Yes | Optional, git-ignored; see below |
214
+ | `README.md` | No | Project documentation |
215
+ | `AGENTS.md` | No | Your own coding-agent instructions |
216
+ | `.claude/skills/phoenix/`, `.agents/skills/phoenix/` | Yes | Phoenix agent skills |
217
+
218
+ With the application-spec pipeline, sync does not write `README.md`, `AGENTS.md`, `.env.example`, `.env.ci` or the `README.md` files in `assets/public/` and `assets/private/`. These files are yours to create and edit; sync preserves them. The legacy pipeline writes `README.md`, `.env.example`, `.env.ci` and the asset-folder `README.md` files when they are missing.
219
219
 
220
220
  Phoenix keeps the generated env file, with the IDs and values of the prepared deployment, in `.phoenix/` unless the project has a `.env.generated` in its root, which then is the one that counts. `phoenix dev` creates no `.env.generated` in the project root; the deployment and environment commands write it there. See [The generated env file](?path=/docs/phoenix-phoenix-cli--docs#the-generated-env-file).
221
221
 
@@ -242,9 +242,13 @@ With the application-spec pipeline, the Lingui configuration is `.phoenix/.lingu
242
242
 
243
243
  ### Agent Guidance
244
244
 
245
- Coding agents (Claude Code, Codex, Cursor) read the Phoenix agent skills. An `AGENTS.md` is yours to add for your own instructions; sync does not write one. The `phoenix`, `phoenix-cli`, `phoenix-feedback` and `phoenix-review` skills carry the SDK conventions, CLI tooling and review checklist, and the `phoenix-create-configurator` skill walks the agent from your product documents and assets to a reviewed configurator in five stages. The `phoenix-variants` skill has the agent show you several options over the dev preview when a decision is a matter of taste, and build the one you pick. Phoenix keeps them in step with the installed SDK, including the reference files inside a skill folder. During the internal beta, a project created from a canary build of the SDK gets one more section in the `phoenix` skill: once per conversation the agent checks for a newer canary and, after telling you, updates the project's SDK, runs `phoenix deps`, installs, then runs `phoenix sync`. Other skill folders are never touched.
245
+ Coding agents (Claude Code, Codex, Cursor) enter through the single `phoenix` skill under `.claude/skills/phoenix/` or `.agents/skills/phoenix/`. Its `SKILL.md` routes to the existing project, CLI, configurator workflow, code review, variants and feedback guides in `references/`. Agents read the guides for their task rather than the whole tree. The configurator workflow retains its five stages and supporting discovery, UX, asset-conversion and appearance-review references.
246
246
 
247
- Projects created by earlier SDK versions had this guidance in `CLAUDE.md`, `.cursor/rules/phoenix.mdc` and `commands/review.md`. Sync removes the SDK block from the first two, keeps your own text around it, deletes a file that held nothing else, and deletes the review commands; use the `phoenix-review` skill instead of `/review`.
247
+ Phoenix keeps this guidance in step with the installed SDK. During the internal beta, a project created from a canary build gets the canary-update instructions in the linked project guide: once per conversation the agent checks for a newer canary and, after telling you, updates the SDK, runs `phoenix deps`, installs, then runs `phoenix sync`.
248
+
249
+ An `AGENTS.md` is yours to add; sync does not write one. Sync removes retired `phoenix-*` skill folders but leaves unrelated skills alone. If your own instructions name an earlier separate skill such as `phoenix-review`, point them at `phoenix` and the same task instead.
250
+
251
+ Projects created by earlier SDK versions had this guidance in `CLAUDE.md`, `.cursor/rules/phoenix.mdc` and `commands/review.md`. Sync removes the SDK block from the first two, keeps your own text around it, deletes a file that held nothing else, and deletes the review commands; ask `phoenix` to review instead of using `/review`.
248
252
 
249
253
  ### Markers for Partial Auto-Generation
250
254
 
@@ -65,7 +65,7 @@ Every user who signs the CLI in gets their own development environment, so a tea
65
65
 
66
66
  Coding agents follow the generated `phoenix` skill: before their first change they start `phoenix dev` and open the preview in your browser, and after `phoenix deploy` starts a build they open its page in Studio.
67
67
 
68
- To build the configurator with your coding agent, give it your product documents, prices, pictures, drawings or models and ask it to create the configurator. The generated `phoenix-create-configurator` skill guides it through five stages: a representative first slice you can try early, a plan of the whole configuration experience, options and features added in small increments, finalization, and a complete review. It studies the SDK documentation before building, keeps a `configurator-spec.md` in the project as the record of what is decided and what remains open, and asks you only for decisions it cannot derive from your materials.
68
+ To build the configurator with your coding agent, give it your product documents, prices, pictures, drawings or models and ask it to create the configurator. The generated `phoenix` skill’s Configurator workflow guide takes it through five stages: a representative first slice you can try early, a plan of the whole configuration experience, options and features added in small increments, finalization, and a complete review. It studies the SDK documentation before building, keeps a `configurator-spec.md` in the project as the record of what is decided and what remains open, and asks you only for decisions it cannot derive from your materials.
69
69
 
70
70
  ## 4. Deploy
71
71
 
@@ -85,7 +85,9 @@ On the server, the install runs pnpm. It follows your `pnpm-lock.yaml` and `pnpm
85
85
 
86
86
  If the build fails, is cancelled or takes too long, `phoenix deploy` prints the end of the build log and exits with an error. `--no-wait` returns as soon as the build starts.
87
87
 
88
- Studio's **Builds & deployments** page lists your builds and shows which one your configurator serves. Each build shows its progress, its error and the full build log while it runs.
88
+ Studio's **Builds & deployments** page lists your builds, 20 to a page, and shows which one your configurator serves. Filter it to the live build or to the builds that failed. Each build shows its progress, its error and the full build log while it runs, and who deployed it with which CLI token.
89
+
90
+ **Rebuild** on a build's page builds the files uploaded with that build again, with your environment variables as they are now, without a new `phoenix deploy`. Use it after changing a variable, or when a build failed for a reason on our side. If the rebuild succeeds it goes live, so rebuilding an older build rolls production back to it.
89
91
 
90
92
  `phoenix deploy` refuses symlinks, hard-linked files and other special files among the project files, because builds only accept regular files. Packing uses the system `tar`, which macOS, Linux and Windows 10 or later all include. The build runner checks the uploaded archive again and keeps only project files, so a file outside the list above never reaches the build.
91
93
 
@@ -95,9 +97,9 @@ Tell us what is broken, confusing or missing, from wherever you are:
95
97
 
96
98
  - In Studio, **Send beta feedback** in the sidebar opens a short form.
97
99
  - In the terminal, `pnpm phoenix feedback "<message>" --type bug|idea|other` sends it with your sign-in, and `--file <path>` sends a text file instead of the argument. See the [CLI reference](?path=/docs/phoenix-phoenix-cli--docs).
98
- - On a build's page in Studio, **Download sources** downloads the archive `phoenix deploy` uploaded for that build, so a report only needs to name the build.
100
+ - On a build's page in Studio, **Download** → **Sources** downloads the archive `phoenix deploy` uploaded for that build, so a report only needs to name the build.
99
101
 
100
- Coding agents working in your project use the same command, guided by the generated `phoenix-feedback` skill. They never send on their own: an agent shows you a draft, right away when the problem is crucial and otherwise at the end of the task, and sends it only after you approve it. A report names the build with its Studio page link and the live configurator, says what the agent was doing, what happened and what it expected, quotes the exact error and ends with a condensed conversation log. Agents are told never to include secrets, credentials or personal data; parts of your project and your own words go in only through a draft you approved. When you are done with the configurator, the agent also asks you, once per conversation, to evaluate the run: minutes spent, then scores from 0 to 10 for the agent's guidance, functionality, UX, 3D quality, UI visuals and the overall result, and your comments. It asks one question at a time, never picks a score for you, tells you the answers go to the Phoenix team, shows the message and sends it only after you approve it.
102
+ Coding agents working in your project use the same command, guided by the generated `phoenix` skill’s Feedback guide. They never send on their own: an agent shows you a draft, right away when the problem is crucial and otherwise at the end of the task, and sends it only after you approve it. A report names the build with its Studio page link and the live configurator, says what the agent was doing, what happened and what it expected, quotes the exact error and ends with a condensed conversation log. Agents are told never to include secrets, credentials or personal data; parts of your project and your own words go in only through a draft you approved. When you are done with the configurator, the agent also asks you, once per conversation, to evaluate the run: minutes spent, then scores from 0 to 10 for the agent's guidance, functionality, UX, 3D quality, UI visuals and the overall result, and your comments. It asks one question at a time, never picks a score for you, tells you the answers go to the Phoenix team, shows the message and sends it only after you approve it.
101
103
 
102
104
  ## Known limits
103
105
 
@@ -107,5 +109,5 @@ Coding agents working in your project use the same command, guided by the genera
107
109
  - `phoenix deploy` always deploys to the workspace's default project; it doesn't read `project` from the spec yet.
108
110
  - Only `phoenix dev` works from the sign-in. `phoenix deployment:prepare-dev` still needs the `.env` block of a Studio development environment.
109
111
  - Every deploy uploads the whole project; there are no incremental uploads.
110
- - Your own environment variables are set in Studio under Environment, by a super admin of the workspace, and apply from the next deploy. `phoenix dev` doesn't receive them: your development environment has its own variables. A build reads them from `process.env`; a webhook reads the ones the spec declares under `env.webhook`, through `phx.webhooksEnv` (see [Webhooks](?path=/docs/phoenix-webhooks--docs)). They can't use platform names such as `LAMBDA_FUNCTION_NAME`, the `AWS_` prefix, the identity provider settings such as `CLERK_API_KEY`, or names the CLI and the deploy tooling read themselves, such as `SERVER_URL` or `NODE_OPTIONS`; Studio refuses those names.
112
+ - Your own environment variables are set in Studio under Environment, by a super admin of the workspace, and apply from the next deploy. After a change, **Redeploy #N now** there rebuilds your live build with the new values, without a new `phoenix deploy`; it appears once your own build is live. `phoenix dev` doesn't receive them: your development environment has its own variables. A build reads them from `process.env`; a webhook reads the ones the spec declares under `env.webhook`, through `phx.webhooksEnv` (see [Webhooks](?path=/docs/phoenix-webhooks--docs)). They can't use platform names such as `LAMBDA_FUNCTION_NAME`, the `AWS_` prefix, the identity provider settings such as `CLERK_API_KEY`, or names the CLI and the deploy tooling read themselves, such as `SERVER_URL` or `NODE_OPTIONS`; Studio refuses those names.
111
113
  - Only super admins of a workspace can open its Studio. Admins and users see a page that says so.
@@ -427,6 +427,8 @@ The `readonly` web component property lets the host force view mode without chan
427
427
 
428
428
  Because an owner-token session can be forced read-only client-side while the server still accepts writes from that owner token, Phoenix skips persistence and logs a warning instead of updating the configuration. This guards against the configuration being silently overwritten by code paths that mutate state in read-only mode. UI that triggers significant changes (anything that produces a new revision) should still be disabled when `accessInfo.viewMode` is true — the warning is a backstop, not a substitute.
429
429
 
430
+ The assistant follows the same read-only rule as the UI: its `apply` tool refuses changes while `accessInfo.viewMode` is true, that is with a read-revision token or while `readonly` is set, and makes them again once it is false. A switch of `readonly` takes effect at once, in both directions, and the configurator loads the configuration again. A change applied after `readonly` is cleared and before the configuration has loaded again is not saved; saving resumes once it has loaded. The `query` tool keeps working, including its dry-run mutations.
431
+
430
432
  ```html
431
433
  <salsita-configurator readonly></salsita-configurator>
432
434
  ```
@@ -34,9 +34,14 @@ handler, element and transformer; it reads the frontend environment when it is i
34
34
  uses it stubs `phx.frontendEnv` first.
35
35
 
36
36
  A test that mounts the configurator's UI builds from `configuratorConfig`: it carries the SDK's default
37
- elements, the built-in layout, preset screen, not-found, not-authenticated and error pages, controls, toolbar
38
- buttons and sidebar-footer pieces, which `configuratorBuilder` does not, so a test that mounts the UI from `createTestApplicationConfig(configuratorBuilder)`
39
- shows a "not found" box in place of every built-in element. Code that assembles a config without the
37
+ elements, the built-in layout, preset screen, not-found, not-authenticated and error pages, app loader content,
38
+ controls, toolbar buttons and sidebar-footer pieces, which `configuratorBuilder` does not, so a test that mounts the UI from `createTestApplicationConfig(configuratorBuilder)`
39
+ shows a "not found" box in place of every built-in element. The defaults also hold the configurator's
40
+ visual providers and the error page and dialog its runtime renders, and a config without them runs the
41
+ lifecycle without them, with a plain error message in place of the error page. Without them nothing
42
+ provides the responsive context, so an SDK layout slot that reads it, for example
43
+ `LayoutSlots.SharedCanvas`, stops the configurator with that plain error message instead of showing a
44
+ "not found" box, and snackbar messages have no host. Code that assembles a config without the
40
45
  generated files calls `.withDefaultElements(defaultConfiguratorElements)` on its configurator builder, with
41
46
  the list from `@salsita-ai/sdk/configurator`, or `defaultAdminElements` from `@salsita-ai/sdk/admin` for
42
47
  the admin.
@@ -36,7 +36,11 @@ Phoenix provides domain-aware builders through the global `phx.webhooks` namespa
36
36
 
37
37
  Your webhook is the default export of `src/webhooks/index.ts`. With the application-spec pipeline (see [Current and legacy project tooling](?path=/docs/phoenix-phoenix-cli--docs#current-and-legacy-project-tooling)), the file is yours to create; sync does not write it. A project without it gets a built-in webhook, so it builds and deploys with no webhook code. The built-in webhook has one handler, an anonymous auth handler, which the platform calls only when `spec/application.yaml` sets `useAuthHook`. The legacy pipeline writes the file with that webhook on the first sync.
38
38
 
39
- Create `src/webhooks/index.ts` when the project needs its own handlers: finalization, backend data, or an auth handler that does more than start an anonymous session. A project that sets `useAuthHook` or `useClerk` needs its own auth handler, because the built-in one answers only anonymous requests. The smallest file is the built-in webhook itself:
39
+ Create `src/webhooks/index.ts` when the project needs its own handlers: finalization, backend data, or an auth handler that does more than start an anonymous session.
40
+
41
+ If `useAuthHook` or `useClerk` is enabled without this file, sync, build, clean and dev report `AUTH_WITHOUT_PROJECT_WEBHOOK` and generation continues with the anonymous-only built-in webhook. This warning also applies when `useAuthHook: false` is explicit alongside `useClerk: true`. Add a default-exported webhook with the required Clerk or custom auth handlers, or disable the settings if they are unintended.
42
+
43
+ The smallest file is the built-in webhook itself:
40
44
 
41
45
  ```ts
42
46
  // src/webhooks/index.ts
@@ -1374,6 +1378,10 @@ export const emailTask = phx.webhooks.taskFactory.createSendEmailTask((resources
1374
1378
 
1375
1379
  The Backend Data Handler allows you to fetch data on the server that will be automatically made available both in the domain (client-side) and in webhook contexts. Its main purpose is to securely fetch data using API keys or other sensitive credentials that cannot be exposed to the client, while making that data available throughout your application.
1376
1380
 
1381
+ Responses of at least 32 KiB are automatically gzip-compressed when the caller accepts gzip and the base64 representation is smaller. Project handlers return the same `backendData` object; the API and configurator receive decoded JSON. This also works through `phoenix dev` when both the server and CLI support gzip. Older tunnel clients keep plain JSON.
1382
+
1383
+ Compression does not remove platform limits: the complete encoded development-tunnel request must fit within 5 MiB, and deployed webhooks remain subject to Lambda's buffered response limit. The tunnel accepts up to 100 MiB of decoded gzip data. Data that does not compress enough must be reduced or split. Binary responses appear as a byte-count placeholder in the development tunnel inspector.
1384
+
1377
1385
  ### Defining a Backend Data Handler
1378
1386
 
1379
1387
  Backend data handlers are defined inline in the webhook builder:
@@ -56,6 +56,8 @@ sceneEntitySelectHotspot:
56
56
 
57
57
  The `title` supplies the tooltip text. Tooltips appear on hover by default; `tooltipVisibility` can instead keep them visible continuously, while the camera is still, or hide them. The `showWhen` property controls visibility based on selection state. The default `['unselected']` hides hotspots once entities are selected, keeping the view clean. Setting it to `['selected', 'unselected']` keeps hotspots always visible.
58
58
 
59
+ The hotspot is the entity element `SelectionHotspot`. A project replaces its look by registering its own with `phx.frontend.createSelectionHotspot`, which receives `onSelect`, the selection with its analytics event; the settings above still apply. See [Configurator Interface → In-Scene Controls](?path=/docs/phoenix-configurator-interface--docs#in-scene-controls).
60
+
59
61
  ## System Component Interfaces
60
62
 
61
63
  ```typescript
@@ -9,6 +9,7 @@ import type { AdminIntegrationService } from '#package/react-sdk';
9
9
  import type { $DomainEntity, DataCellValue, DataSchema, DomainEntity, DomainFactory, ProductPreset } from '../core/index.js';
10
10
  import type { AnalyticsSystem, RegistrableTransformer, TransformerFactory } from '../domain-context/index.js';
11
11
  import type { ElementRegistration, ProjectModule } from '../domain-runtime/index.js';
12
+ import type { AdminPagesSection } from '../spec/index.js';
12
13
  import type { AssistantResolvedManifest } from './assistant/index.js';
13
14
  import type { WebComponentEventDescriptor } from './web-component-event.js';
14
15
  import type { WebComponentPropertyDescriptor } from './web-component-property.js';
@@ -55,30 +56,11 @@ export type DataSpec = {
55
56
  export type ChunksSpec = Readonly<Record<string, {
56
57
  readonly scope: string;
57
58
  }>>;
58
- export type AdminPagesSpec = {
59
- readonly presets?: boolean | {
60
- readonly categoryNavigationState?: string;
61
- readonly presetNavigationState?: string;
62
- };
63
- readonly recipes?: ReadonlyArray<{
64
- readonly name: string;
65
- readonly navigationState?: string;
66
- }>;
67
- readonly pages?: ReadonlyArray<{
68
- readonly key: string;
69
- readonly title: string;
70
- readonly icon?: string;
71
- readonly navigationState?: string;
72
- readonly entity?: string;
73
- readonly component?: string;
74
- readonly actionsComponent?: string;
75
- readonly connectedDataEntry?: string;
76
- readonly sidebar?: {
77
- readonly title: string;
78
- readonly component: string;
79
- };
80
- }>;
81
- };
59
+ /**
60
+ * The admin pages of an application config: the `$adminPages` section of the application spec as
61
+ * written, which `createAdminPagesFromSpec` turns into admin pages; see {@link AdminPagesSection}.
62
+ */
63
+ export type AdminPagesSpec = AdminPagesSection;
82
64
  type PersistenceConfig = {
83
65
  readonly type: 'server';
84
66
  /**
@@ -1,3 +1,4 @@
1
+ import type { AssistantFormElementDescriptor } from './form/index.js';
1
2
  /**
2
3
  * Where one exposed assistant GraphQL field reads its value on the `$` entity: a stored field name,
3
4
  * or an expression name including its `$`. `localized` marks a localizable value that resolves to a
@@ -7,18 +8,28 @@ export interface AssistantFieldSource {
7
8
  readonly source: string;
8
9
  readonly localized?: true;
9
10
  }
11
+ /**
12
+ * What the integrator promises about a list of choices, so the agent can read it once and reuse it:
13
+ * `sameForAllInstances` when every entity of the type gets the same list, `constantDuringSession`
14
+ * when the list does not change during a session. A hint only adds a sentence to the description of
15
+ * the recipe group or options edge it is declared on; nothing verifies it.
16
+ */
17
+ export declare const ASSISTANT_HINTS: readonly ['sameForAllInstances', 'constantDuringSession'];
18
+ export type AssistantResolvedHint = (typeof ASSISTANT_HINTS)[number];
10
19
  /**
11
20
  * One recipe group the assistant manifest exposes on an entity type: a `childEntityRecipes` instance
12
21
  * under `childRecipes`, a `replaceEntityRecipes` instance under `replaceRecipes`. `groupId` is the
13
- * name the agent addresses the group by, `instanceName` the component instance it reads,
14
- * `description` the manifest's text replacing the component's group description, and `dryRuns`
15
- * whether the recipes of the group can be dry-run.
22
+ * name of its field on `<Type>ChildRecipes` or `<Type>ReplaceRecipes` and the id the agent passes to
23
+ * `addChild` or `replaceEntity`, `instanceName` the component instance it reads, `description` the
24
+ * manifest's text for that field, `dryRuns` whether the recipes of the group can be dry-run, and
25
+ * `hints` the sentences of the field's description saying when the agent can reuse what it read.
16
26
  */
17
27
  export interface AssistantRecipeGroup {
18
28
  readonly groupId: string;
19
29
  readonly instanceName: string;
20
30
  readonly description?: string;
21
31
  readonly dryRuns: boolean;
32
+ readonly hints: readonly AssistantResolvedHint[];
22
33
  }
23
34
  /**
24
35
  * The options edge of one writable field the assistant manifest links to its component. `field` is
@@ -35,6 +46,16 @@ export interface AssistantFieldOptions {
35
46
  readonly validate: boolean;
36
47
  readonly dryRuns: boolean;
37
48
  }
49
+ /**
50
+ * One view the assistant manifest lets the agent take a screenshot of an entity from: `view` is the
51
+ * value of the `<Type>ScreenshotView` enum the agent asks for it by, `instanceName` the
52
+ * `agentScreenshot` component instance that renders it, and `description` what the view shows.
53
+ */
54
+ export interface AssistantScreenshotView {
55
+ readonly view: string;
56
+ readonly instanceName: string;
57
+ readonly description: string;
58
+ }
38
59
  /**
39
60
  * Experimental assistant manifest generated from the application spec `assistant` section. `sdl` is
40
61
  * the GraphQL schema text rebuilt from the resolved manifest; `fields` maps each GraphQL object type's exposed
@@ -46,7 +67,8 @@ export interface AssistantFieldOptions {
46
67
  * the recipe groups `meta { childRecipes }` and `addChild` expose, in manifest order, and absent
47
68
  * means none; `replaceRecipes` lists the same for `meta { replaceRecipes }` and `replaceEntity`;
48
69
  * `fieldOptions` lists, per entity type, the options edges `meta` exposes for its
49
- * writable fields, and absent means none; `actions` maps each custom `Mutation` field to the
70
+ * writable fields, and absent means none; `screenshots` lists, per entity type, the views
71
+ * `meta { screenshot }` renders, and absent means none; `actions` maps each custom `Mutation` field to the
50
72
  * declared action it runs, and absent means none; `lenses` holds the generated lens fragments, and
51
73
  * absent means none: `declarations` is the text the prompt shows, each lens once with its relations
52
74
  * spreading the lens itself, and `definitions` the valid GraphQL injected into an operation that
@@ -63,9 +85,12 @@ export interface AssistantManifest {
63
85
  readonly childRecipes?: Readonly<Record<string, readonly AssistantRecipeGroup[]>>;
64
86
  readonly replaceRecipes?: Readonly<Record<string, readonly AssistantRecipeGroup[]>>;
65
87
  readonly fieldOptions?: Readonly<Record<string, readonly AssistantFieldOptions[]>>;
88
+ readonly screenshots?: Readonly<Record<string, readonly AssistantScreenshotView[]>>;
66
89
  readonly actions?: Readonly<Record<string, string>>;
67
90
  readonly lenses?: {
68
91
  readonly declarations: string;
69
92
  readonly definitions: string;
70
93
  };
94
+ /** The project's own form elements, in YAML order; absent means none. */
95
+ readonly formElements?: readonly AssistantFormElementDescriptor[];
71
96
  }
@@ -1 +1 @@
1
- export{};
1
+ export const ASSISTANT_HINTS=["sameForAllInstances","constantDuringSession"];
@@ -1,4 +1,5 @@
1
- import type { AssistantFieldOptions, AssistantRecipeGroup } from './assistant-manifest.js';
1
+ import type { AssistantFieldOptions, AssistantRecipeGroup, AssistantResolvedHint, AssistantScreenshotView } from './assistant-manifest.js';
2
+ import type { AssistantFormElementDescriptor } from './form/index.js';
2
3
  /** JSON description of a scalar or recursively nested list, including nullability at each level. */
3
4
  export type AssistantValueType = {
4
5
  readonly kind: 'scalar';
@@ -50,12 +51,18 @@ export interface AssistantResolvedManifest {
50
51
  readonly childRecipes: Readonly<Record<string, AssistantResolvedRecipes>>;
51
52
  readonly replaceRecipes: Readonly<Record<string, AssistantResolvedRecipes>>;
52
53
  readonly optionsEdges: Readonly<Record<string, readonly AssistantResolvedOptionsEdge[]>>;
54
+ /** The screenshot views of each entity type with at least one, aliases expanded, in manifest order. */
55
+ readonly screenshots: Readonly<Record<string, readonly AssistantScreenshotView[]>>;
53
56
  readonly actionFields: readonly AssistantResolvedAction[];
57
+ /** The entity types that declare invariants, whose `meta` lists the warnings and notices they hold. */
58
+ readonly invariantTypes: readonly string[];
54
59
  /** The declared lenses by name: when to use each, and how many levels its tagged relations nest. */
55
60
  readonly lenses: Readonly<Record<string, {
56
61
  readonly description: string;
57
62
  readonly maxDepth: number;
58
63
  }>>;
64
+ /** The project's own form elements, in YAML order, which the prompt lists after the built-ins and the panel renders with their registered components. */
65
+ readonly formElements: readonly AssistantFormElementDescriptor[];
59
66
  }
60
67
  /** Optional mutation input for one stored field, using its exposed name. */
61
68
  export interface AssistantWritableField {
@@ -69,14 +76,8 @@ export interface AssistantWritableType {
69
76
  readonly entityType: string;
70
77
  readonly fields: readonly AssistantWritableField[];
71
78
  }
72
- /** Description hints resolved from recipe/option entries; no parse context is retained. */
73
- export declare const ASSISTANT_HINTS: readonly ['sameForAllInstances', 'constantDuringSession'];
74
- export type AssistantResolvedHint = (typeof ASSISTANT_HINTS)[number];
75
- /** Recipe groups and their description hints for one entity type. */
76
- export interface AssistantResolvedRecipes {
77
- readonly groups: readonly AssistantRecipeGroup[];
78
- readonly hints: readonly AssistantResolvedHint[];
79
- }
79
+ /** The recipe groups of one kind on one entity type or alias key, in manifest order, each with its own hints. */
80
+ export type AssistantResolvedRecipes = readonly AssistantRecipeGroup[];
80
81
  /** One options edge, carrying the write-validation contract and schema description hints. */
81
82
  export interface AssistantResolvedOptionsEdge {
82
83
  readonly options: AssistantFieldOptions;
@@ -113,6 +114,8 @@ export interface AssistantDeclarations {
113
114
  readonly writable: Readonly<Record<string, Readonly<Record<string, AssistantDeclaredWrite>>>>;
114
115
  readonly childRecipes: Readonly<Record<string, AssistantResolvedRecipes>>;
115
116
  readonly replaceRecipes: Readonly<Record<string, AssistantResolvedRecipes>>;
117
+ /** The screenshot views under the entity type or alias key that declares them. */
118
+ readonly screenshots: Readonly<Record<string, readonly AssistantScreenshotView[]>>;
116
119
  }
117
120
  /** An original field declaration, including metadata needed to reapply inheritance and enum descriptions. */
118
121
  export interface AssistantDeclaredField extends AssistantResolvedField {
@@ -1 +1 @@
1
- export const ASSISTANT_HINTS=["sameForAllInstances","constantDuringSession"];
1
+ export{};
@@ -1,4 +1,4 @@
1
- import{NoUnusedFragmentsRule as e,parse as t,specifiedRules as i,validate as n}from"graphql";let s="AnyDomainEntity",r=[{name:"RecipeGroup",description:"A recipe group with its recipes, without their dry-runs.",selections:["groupId","name","description","recipes { ...Recipe }"]},{name:"Recipe",description:"A recipe without its dry-run.",selections:["key","name","description","imageUrl"]},{name:"FieldOption",description:"A value a field accepts, without its dry-run.",selections:["value","name","description","imageUrl","color"]},{name:"DryRun",description:"What a dry-run would do, with the ids of the entities it would change instead of the entities.",selections:["ok","deletedEntityIds","sideEffects","errors { type entityId message }","changedEntities { id }"]}],a=(e,t)=>0===t?e:`${e}__${t}`,l=e=>e.split("\n").map(e=>`# ${e}`.trimEnd()).join("\n"),o=(e,t,i)=>[`fragment ${e} on ${t} {`,...i.map(e=>` ${e}`),"}"].join("\n"),p=(e,t,i)=>{let n=e=>"edge"===e.type.kind?`${e.name} { ${i} }`:e.name;return o(e,s,["id",...t.flatMap(({typeName:e,fields:t})=>e===s?t.map(n):[`... on ${e} {`,...t.map(e=>` ${n(e)}`),"}"])])};export const buildAssistantLenses=(d,m)=>{let c=Object.entries(d.lenses).flatMap(([e,t])=>{let i=[s,...Object.keys(d.aliases).filter(e=>e!==s),...d.entityTypes].flatMap(t=>{let i=(d.fields[t]??[]).filter(t=>t.lenses?.includes(e));return i.length>0?[{typeName:t,fields:i}]:[]});return i.length>0?[{name:e,...t,conditions:i}]:[]}),$=r.filter(({name:e})=>void 0!==m.getType(e)),h=[...c.map(({name:e,description:t,maxDepth:i,conditions:n})=>{let s=n.some(({fields:e})=>e.some(e=>"edge"===e.type.kind));return`${l(s?`${t} ${`Nested relations carry the same selection up to ${i} ${1===i?"level":"levels"}, below that only \`id\`.`}`:t)}
1
+ import{NoUnusedFragmentsRule as e,parse as t,specifiedRules as i,validate as n}from"graphql";let s="AnyDomainEntity",r=[{name:"RecipeGroup",description:"A recipe group with its recipes, without their dry-runs.",selections:["groupId","name","description","recipes { ...Recipe }"]},{name:"Recipe",description:"A recipe without its dry-run.",selections:["key","name","description","imageUrl"]},{name:"FieldOption",description:"A value a field accepts, without its dry-run.",selections:["value","name","description","imageUrl","color"]},{name:"DryRun",description:"What a dry-run would do, with the ids of the entities it would change instead of the entities.",selections:["ok","deletedEntityIds","sideEffects","warnings","errors { type entityId message }","changedEntities { id }"]}],a=(e,t)=>0===t?e:`${e}__${t}`,l=e=>e.split("\n").map(e=>`# ${e}`.trimEnd()).join("\n"),o=(e,t,i)=>[`fragment ${e} on ${t} {`,...i.map(e=>` ${e}`),"}"].join("\n"),p=(e,t,i)=>{let n=e=>"edge"===e.type.kind?`${e.name} { ${i} }`:e.name;return o(e,s,["id",...t.flatMap(({typeName:e,fields:t})=>e===s?t.map(n):[`... on ${e} {`,...t.map(e=>` ${n(e)}`),"}"])])};export const buildAssistantLenses=(d,m)=>{let c=Object.entries(d.lenses).flatMap(([e,t])=>{let i=[s,...Object.keys(d.aliases).filter(e=>e!==s),...d.entityTypes].flatMap(t=>{let i=(d.fields[t]??[]).filter(t=>t.lenses?.includes(e));return i.length>0?[{typeName:t,fields:i}]:[]});return i.length>0?[{name:e,...t,conditions:i}]:[]}),$=r.filter(({name:e})=>void 0!==m.getType(e)),h=[...c.map(({name:e,description:t,maxDepth:i,conditions:n})=>{let s=n.some(({fields:e})=>e.some(e=>"edge"===e.type.kind));return`${l(s?`${t} ${`Nested relations carry the same selection up to ${i} ${1===i?"level":"levels"}, below that only \`id\`.`}`:t)}
2
2
  ${p(e,n,`...${e}`)}`}),...$.map(({name:e,description:t,selections:i})=>`${l(t)}
3
3
  ${o(e,e,i)}`)].join("\n\n"),u=[...c.flatMap(({name:e,maxDepth:t,conditions:i})=>Array.from({length:t+1},(n,s)=>p(a(e,s),i,s<t?`...${a(e,s+1)}`:"id"))),...$.map(({name:e,selections:t})=>o(e,e,t))].join("\n\n");if(""!==u){let s=c.length>0?`entities { ${c.map(({name:e})=>`...${e}`).join(" ")} }`:"__typename",r=n(m,t(`${u}
4
4
 
@@ -1 +1 @@
1
- import{GraphQLBoolean as e,GraphQLID as t,GraphQLInputObjectType as n,GraphQLInterfaceType as i,GraphQLList as r,GraphQLNonNull as s,GraphQLObjectType as o,GraphQLSchema as a,GraphQLString as p,printSchema as d,validateSchema as c}from"graphql";import{GraphQLJSON as l,createAssistantValueType as h}from"./assistant-value-type.js";import{buildAssistantLenses as y}from"./build-assistant-lenses.js";import{createAssistantExecutionSchema as w}from"./create-assistant-execution-schema.js";let u="AnyDomainEntity",m="RootEntity",f=[["navigationState","Active navigation state.","navigationStates"],["viewState","Active view state.","viewStates"],["toolState","Active tool state.","toolStates"]],g={section:"childRecipes",mutation:"addChild"},b={section:"replaceRecipes",mutation:"replaceEntity"},j=(e,t)=>Object.entries(e).find(([e])=>e===t)?.[1],v=(e,t)=>{if(!t||0===t.length)return e;let n=`One of: ${t.map(e=>`"${e}"`).join(", ")}.`;return e?/[.!?]$/.test(e)?`${e} ${n}`:`${e}. ${n}`:n},$=({target:e,cardinality:t},n)=>{let i=n(e);switch(t){case"1-1":return new s(i);case"0-1":return i;case"0-N":case"1-N":return new s(new r(new s(i)))}},O=(e,n,i)=>{let r={id:{type:new s(t),description:i?`Unique id of the entity, assigned by the configurator, e.g. "${i}-1".`:void 0},type:{type:new s(p),description:i?`Entity type name, e.g. "${i}".`:void 0}};for(let t of e)r[t.name]={type:"edge"===t.type.kind?$(t.type,n):h(t.type.type),description:t.description};return r},E=e=>Object.fromEntries(e.map(({name:e,source:t,localized:n})=>[e,n?{source:t,localized:!0}:{source:t}])),R={sameForAllInstances:e=>`Same recipe groups and recipes for every ${e}.`,constantDuringSession:()=>"Fixed for the session."},k={sameForAllInstances:e=>`Same for every ${e}.`,constantDuringSession:()=>"Fixed for the session."},I=(e,t,n)=>e.map(e=>` ${t[e](n)}`).join(""),T=({section:e},{groups:t,hints:n},{entityType:i,purpose:o,recipeGroup:a})=>{let p=t.filter(({dryRuns:e})=>!e).map(({groupId:e})=>e);return 0===t.length?{}:{[e]:{type:new s(new r(new s(a))),description:`The recipe groups for ${o} this ${i}: ${t.map(({groupId:e})=>e).join(", ")}. A group is listed only while the configurator offers it on the entity.${p.length>0?` Recipes of these groups cannot be dry-run: ${p.join(", ")}.`:""}${I(n,R,i)}`}}},N=({entityType:e,childRecipes:t,replaceRecipes:n,optionsEdges:i},{recipeGroup:a,fieldOption:p})=>new o({name:`${e}Meta`,fields:Object.assign(T(g,t,{entityType:e,purpose:"adding children to",recipeGroup:a}),T(b,n,{entityType:e,purpose:"replacing",recipeGroup:a}),...i.map(({options:{edgeName:t,field:n,validate:i,dryRuns:o},hints:a})=>({[t]:{type:new r(new s(p)),description:`Values "${n}" accepts on this ${e}. Null when there is no choice to make.${i?"":" Not checked on write."}${o?"":" Cannot be dry-run."}${I(a,k,e)}`}})))}),A=e=>Object.entries(e).map(([e,t])=>`${e} (${t.map(({groupId:e})=>e).join(", ")})`);export const buildAssistantManifest=$=>{var R,k,I,T,S;let D,M,F,W,{entityTypes:x,aliases:C,exampleType:q,fields:G,states:U,deletableTypes:K,writableTypes:P,actionFields:V,optionsEdges:z}=$,Q=Object.fromEntries(Object.entries($.childRecipes).map(([e,t])=>[e,t.groups])),B=Object.fromEntries(Object.entries($.replaceRecipes).map(([e,t])=>[e,t.groups])),H=new Map,J=new Map,L=new Map,X=e=>{let[t,...n]=Object.entries(C).find(([t])=>t===e)?.[1]??[];return(t&&0===n.length?J.get(t):void 0)??L.get(e)??Z},Y=e=>J.get(e)??X(e),Z=new i({name:u,description:"Every entity of the configuration.",fields:()=>O(G[u]??[],Y,q)});for(let e of(L.set(u,Z),Object.keys(C)))e!==u&&L.set(e,new i({name:e,interfaces:[Z],fields:()=>O(G[e]??[],Y)}));let _={};for(let e of x){let t=[u,...Object.entries(C).filter(([t,n])=>t!==u&&n.includes(e)).map(([e])=>e)],n=G[e]??[];_[e]=E(n),J.set(e,new o({name:e,interfaces:t.flatMap(e=>L.get(e)??[]),fields:()=>{let t=H.get(e);return{...O(n,Y),...t?{meta:{type:new s(t),description:"What can be done to this entity right now."}}:{}}}}))}let ee=(R=()=>X(L.has(m)?m:u),k=()=>X(u),D=new o({name:"DryRunError",description:"One reason a change cannot be made right now.",fields:{type:{type:new s(p),description:"Kind of the problem."},entityId:{type:t,description:"The entity the problem is on, when it is on one."},message:{type:p,description:"The problem as the user would be told it."}}}),new o({name:"DryRun",description:"What using a recipe or writing an option would do, tried out on the configuration the query reads. Nothing is changed.",fields:()=>({ok:{type:new s(e),description:"Whether the change would succeed on the configuration the query reads."},root:{type:R(),description:"The root entity of the configuration as it would be after the change; null when ok is false. Everything selected under it reads that configuration."},changedEntities:{type:new s(new r(new s(k()))),description:"Entities the change would add or modify; empty when ok is false. One whose id is not in the configuration would be added, and its real id may differ. An entity written to is listed even when its values stay the same."},deletedEntityIds:{type:new s(new r(new s(t))),description:"The ids of the entities the change would remove; empty when ok is false."},sideEffects:{type:new s(new r(new s(p))),description:"The major or unexpected things the configurator would change along with it; empty when ok is false."},errors:{type:new s(new r(new s(D))),description:"Why the change cannot be made; empty when ok is true."}})})),et={recipeGroup:(I=[...Object.keys(Q).length>0?[g.mutation]:[],...Object.keys(B).length>0?[b.mutation]:[]],M=I.join(" or "),F=new o({name:"Recipe",description:`${I.includes("addChild")?"One thing that can be added to the entity (under childRecipes)":"One thing the entity can be replaced with (under replaceRecipes)"}${I.length>1?" or that it can be replaced with (under replaceRecipes)":""}.`,fields:{key:{type:new s(p),description:`Pass to ${M} as recipeKey. Valid only for the listing it came from.`},name:{type:new s(p),description:"Name shown to the user."},description:{type:p},imageUrl:{type:p,description:"Thumbnail shown to the user."},dryRun:{type:ee,description:"What using this recipe would do. Null when it cannot be tried."}}}),new o({name:"RecipeGroup",description:"A group of recipes for this entity.",fields:{groupId:{type:new s(p),description:`Pass to ${M} as recipeGroupId.`},name:{type:new s(p),description:"Name shown to the user."},description:{type:p},recipes:{type:new s(new r(new s(F)))}}})),fieldOption:new o({name:"FieldOption",description:"One value a field accepts. Writing a value outside the list is rejected unless the field description says it is not checked.",fields:{value:{type:new s(l),description:"The value to write to the field."},name:{type:p,description:"Name shown to the user."},description:{type:p},imageUrl:{type:p,description:"Image shown to the user."},color:{type:p,description:'Color shown to the user, as "#rrggbb".'},dryRun:{type:ee,description:"What writing this value would do. Null when it cannot be tried."}}})};for(let e of x){let t=j($.childRecipes,e)??{groups:[],hints:[]},n=j($.replaceRecipes,e)??{groups:[],hints:[]},i=j(z,e)??[];(t.groups.length>0||n.groups.length>0||i.length>0)&&H.set(e,N({entityType:e,childRecipes:t,replaceRecipes:n,optionsEdges:i.map(t=>({...t,hints:(C[m]??[]).includes(e)?t.hints.filter(e=>"sameForAllInstances"!==e):t.hints}))},et))}let en=new a({query:(T=X(L.has(m)?m:u),S=X(u),W=(e=>{let t={};for(let[n,i,r]of f){let o=e[r];o.length>1&&(t[n]={type:new s(p),description:v(i,o)})}if(0!==Object.keys(t).length)return new o({name:"Navigation",description:"The active UI states of the configurator.",fields:t})})(U),new o({name:"Query",fields:{root:{type:new s(T),description:"The root entity of the configuration."},entities:{type:new s(new r(S)),args:{ids:{type:new r(new s(t))}},description:"Every entity, or the given ids in order with null for an unknown id."},selectedEntity:{type:new s(S),description:"The selected entity, or the root entity when nothing is selected."},...W?{navigation:{type:new s(W)}}:{}}})),mutation:(({deletableTypes:e,writableTypes:i,childRecipes:a,replaceRecipes:d,actionFields:c,objectTypes:l,anyDomainEntity:y,targetOutputType:w})=>{let u,m;if(0!==e.length||0!==i.length||0!==Object.keys(a).length||0!==Object.keys(d).length||0!==c.length)return new o({name:"Mutation",fields:Object.assign(0===e.length?{}:{deleteEntity:{type:new s(new r(new s(t))),args:{id:{type:new s(t)}},description:`Deletes the entity and everything composed into it. Deletable types: ${e.join(", ")}. Returns the ids removed, the given one first.`}},0===(u=A(a)).length?{}:{addChild:{type:new s(new r(new s(y))),args:{parentId:{type:new s(t)},recipeGroupId:{type:new s(p)},recipeKey:{type:new s(p)}},description:`Adds a child to the entity parentId from a recipe listed under its meta { childRecipes }. Types with child recipes: ${u.join("; ")}. Returns the entities added, the recipe's own first; empty when they were removed again.`}},0===(m=A(d)).length?{}:{replaceEntity:{type:new s(new r(new s(y))),args:{entityId:{type:new s(t)},recipeGroupId:{type:new s(p)},recipeKey:{type:new s(p)}},description:`Replaces the entity entityId from a recipe listed under its meta { replaceRecipes }. Types with replace recipes: ${m.join("; ")}. The replacement is a new entity: it has a new id and the field values of its recipe, and entityId no longer exists. Returns the entities added, the replacement first; empty when they were removed again.`}},...i.flatMap(e=>{let i=l.get(e.entityType);return i?[(({entityType:e,fields:i},r)=>{let o=Object.fromEntries(i.map(({name:e,type:t,description:n})=>[e,{type:h(t),description:n}]));return{[`modify${e}`]:{type:r,args:{id:{type:new s(t)},delta:{type:new s(new n({name:`${e}Delta`,fields:o}))}},description:`Sets the fields named in delta on one ${e}. Returns the entity after the change, or null when the change removed it.`}}})(e,i)]:[]}),Object.fromEntries(c.map(e=>{var t;return[e.fieldName,{type:new s(new o({name:(t=e.fieldName,`${t.charAt(0).toUpperCase()+t.slice(1)}Result`),description:`What ${e.fieldName} returns, read from the configuration after the change.`,fields:()=>Object.fromEntries(Object.entries(e.result).map(([e,t])=>[e,{type:"edge"===t.kind?(({target:e,list:t,nullable:n},i)=>{let o=t?new r(new s(i(e))):i(e);return n?o:new s(o)})(t,w):h(t.type),description:t.description}]))})),args:Object.fromEntries(Object.entries(e.args).map(([e,t])=>[e,{type:h(t.type),description:t.description}])),description:e.description}]})))})})({deletableTypes:K,writableTypes:P,childRecipes:Q,replaceRecipes:B,actionFields:V,objectTypes:J,anyDomainEntity:X(u),targetOutputType:Y}),types:[...L.values(),...J.values()]}),ei=c(en);if(ei.length>0)throw Error(ei.map(e=>e.message).join(" "));let er=d(en);return{sdl:er,navigationFields:f.filter(([,,e])=>U[e].length>1).map(([e])=>e),fields:_,deletableTypes:K,writableFields:Object.fromEntries(P.map(({entityType:e,fields:t})=>[e,Object.fromEntries(t.map(({name:e,property:t})=>[e,t]))])),childRecipes:Q,replaceRecipes:B,fieldOptions:Object.fromEntries(x.flatMap(e=>{let t=j(z,e);return t?[[e,t.map(({options:e})=>e)]]:[]})),actions:Object.fromEntries(V.map(({fieldName:e,actionName:t})=>[e,t])),lenses:y($,w(er))}};
1
+ import{GraphQLBoolean as e,GraphQLEnumType as t,GraphQLID as n,GraphQLInputObjectType as i,GraphQLInterfaceType as s,GraphQLList as r,GraphQLNonNull as o,GraphQLObjectType as a,GraphQLSchema as p,GraphQLString as d,printSchema as c,validateSchema as l}from"graphql";import{GraphQLJSON as h,createAssistantValueType as w}from"./assistant-value-type.js";import{buildAssistantLenses as y}from"./build-assistant-lenses.js";import{createAssistantExecutionSchema as u}from"./create-assistant-execution-schema.js";let g="AnyDomainEntity",f="RootEntity",m=[["navigationState","Active navigation state.","navigationStates"],["viewState","Active view state.","viewStates"],["toolState","Active tool state.","toolStates"]],b={section:"childRecipes",mutation:"addChild",typeSuffix:"ChildRecipes"},v={section:"replaceRecipes",mutation:"replaceEntity",typeSuffix:"ReplaceRecipes"},$=(e,t)=>Object.entries(e).find(([e])=>e===t)?.[1],j=(e,t)=>{if(!t||0===t.length)return e;let n=`One of: ${t.map(e=>`"${e}"`).join(", ")}.`;return e?/[.!?]$/.test(e)?`${e} ${n}`:`${e}. ${n}`:n},O=({target:e,cardinality:t},n)=>{let i=n(e);switch(t){case"1-1":return new o(i);case"0-1":return i;case"0-N":case"1-N":return new o(new r(new o(i)))}},E=(e,t,i)=>{let s={id:{type:new o(n),description:i?`Unique id of the entity, assigned by the configurator, e.g. "${i}-1".`:void 0},type:{type:new o(d),description:i?`Entity type name, e.g. "${i}".`:void 0}};for(let n of e)s[n.name]={type:"edge"===n.type.kind?O(n.type,t):w(n.type.type),description:n.description};return s},R=e=>Object.fromEntries(e.map(({name:e,source:t,localized:n})=>[e,n?{source:t,localized:!0}:{source:t}])),k=new o(new r(new o(h))),T=' Each is { type, severity, entityId, message }: severity is "warning" or "notice", entityId the entity it is on or null, message the warning as the user would be told it or null.',I={sameForAllInstances:e=>`Same recipes for every ${e}.`,constantDuringSession:()=>"Fixed for the session."},N={sameForAllInstances:e=>`Same for every ${e}.`,constantDuringSession:()=>"Fixed for the session."},S=(e,t,n)=>e.map(e=>` ${t[e](n)}`).join(""),A=({section:e,typeSuffix:t},n,{entityType:i,purpose:s,recipeGroup:r})=>0===n.length?{}:{[e]:{type:new o(new a({name:`${i}${t}`,fields:Object.fromEntries(n.map(({groupId:e,description:t,dryRuns:n,hints:s})=>{let o;return[e,{type:r,description:`${!(o=t?.trim())?"":/[.!?]$/.test(o)?`${o} `:`${o}. `}Null while the configurator does not offer it on the entity.${n?"":" Cannot be dry-run."}${S(s,I,i)}`}]}))})),description:`The recipe groups for ${s} this ${i}, one field each.`}},M=({entityType:e,childRecipes:n,replaceRecipes:i,optionsEdges:s,screenshots:p,hasInvariants:d},{recipeGroup:c,fieldOption:l,screenshot:w})=>new a({name:`${e}Meta`,fields:Object.assign(A(b,n,{entityType:e,purpose:"adding children to",recipeGroup:c}),A(v,i,{entityType:e,purpose:"replacing",recipeGroup:c}),...s.map(({options:{edgeName:t,field:n,validate:i,dryRuns:s},hints:a})=>({[t]:{type:new r(new o(l)),args:{values:{type:new r(new o(h)),description:"Only the options with these values; values not listed are ignored."}},description:`Values "${n}" accepts on this ${e}. Null when there is no choice to make.${i?"":" Not checked on write."}${s?"":" Cannot be dry-run."}${S(a,N,e)}`}})),0===p.length?{}:{screenshot:{type:w,args:{view:{type:new o(new t({name:`${e}ScreenshotView`,values:Object.fromEntries(p.map(({view:e,description:t})=>[e,{description:t}]))}))}},description:"Renders this entity from a predefined view. The picture follows the tool result as an image labelled with `image`. Null when the view does not apply to this entity right now."}},d?{warnings:{type:k,description:`The warnings and notices this ${e} has right now.${T}`}}:{})}),D=(e,t)=>t?e?"What can be done to this entity right now, and its warnings.":"The warnings of this entity right now.":"What can be done to this entity right now.",W=e=>Object.entries(e).map(([e,t])=>`${e} (${t.map(({groupId:e})=>e).join(", ")})`);export const buildAssistantManifest=t=>{var O,I,N,S,A;let x,C,F,q,{entityTypes:G,aliases:U,exampleType:K,fields:P,states:V,deletableTypes:z,writableTypes:L,actionFields:Q,optionsEdges:B,invariantTypes:H}=t,{childRecipes:J,replaceRecipes:X}=t,Y=new Map,Z=new Map,_=new Map,ee=e=>{let[t,...n]=Object.entries(U).find(([t])=>t===e)?.[1]??[];return(t&&0===n.length?Z.get(t):void 0)??_.get(e)??en},et=e=>Z.get(e)??ee(e),en=new s({name:g,description:"Every entity of the configuration.",fields:()=>E(P[g]??[],et,K)});for(let e of(_.set(g,en),Object.keys(U)))e!==g&&_.set(e,new s({name:e,interfaces:[en],fields:()=>E(P[e]??[],et)}));let ei={};for(let e of G){let t=[g,...Object.entries(U).filter(([t,n])=>t!==g&&n.includes(e)).map(([e])=>e)],n=P[e]??[];ei[e]=R(n),Z.set(e,new a({name:e,interfaces:t.flatMap(e=>_.get(e)??[]),fields:()=>{let t=Y.get(e);return{...E(n,et),...t?{meta:{type:new o(t.type),description:t.description}}:{}}}}))}let es=(O=()=>ee(_.has(f)?f:g),I=()=>ee(g),x=new a({name:"DryRunError",description:"One reason a change cannot be made right now.",fields:{type:{type:new o(d),description:"Kind of the problem."},entityId:{type:n,description:"The entity the problem is on, when it is on one."},message:{type:d,description:"The problem as the user would be told it."}}}),new a({name:"DryRun",description:"What using a recipe or writing an option would do, tried out on the configuration the query reads. Nothing is changed.",fields:()=>({ok:{type:new o(e),description:"Whether the change would succeed on the configuration the query reads."},root:{type:O(),description:"The root entity of the configuration as it would be after the change; null when ok is false. Everything selected under it reads that configuration."},changedEntities:{type:new o(new r(new o(I()))),description:"Entities the change would add or modify; empty when ok is false. One whose id is not in the configuration would be added, and its real id may differ. An entity written to is listed even when its values stay the same."},deletedEntityIds:{type:new o(new r(new o(n))),description:"The ids of the entities the change would remove; empty when ok is false."},sideEffects:{type:new o(new r(new o(d))),description:"The major or unexpected things the configurator would change along with it; empty when ok is false."},warnings:{type:k,description:`The warnings and notices the change would newly cause, which do not stop it; empty when ok is false.${T}`},errors:{type:new o(new r(new o(x))),description:"Why the change cannot be made; empty when ok is true."}})})),er={recipeGroup:(N=[...Object.keys(J).length>0?[b.mutation]:[],...Object.keys(X).length>0?[v.mutation]:[]],C=N.join(" or "),F=new a({name:"Recipe",description:`${N.includes("addChild")?"One thing that can be added to the entity (under childRecipes)":"One thing the entity can be replaced with (under replaceRecipes)"}${N.length>1?" or that it can be replaced with (under replaceRecipes)":""}.`,fields:{key:{type:new o(d),description:`Pass to ${C} as recipeKey, or to recipes(keys:) to read this recipe again.`},name:{type:new o(d),description:"Name shown to the user."},description:{type:d},imageUrl:{type:d,description:"Thumbnail shown to the user."},dryRun:{type:es,description:"What using this recipe would do. Null when it cannot be tried."}}}),new a({name:"RecipeGroup",description:"A group of recipes for this entity.",fields:{groupId:{type:new o(d),description:`Pass to ${C} as recipeGroupId.`},name:{type:new o(d),description:"Name shown to the user."},description:{type:d},recipes:{type:new o(new r(new o(F))),args:{keys:{type:new r(new o(d)),description:"Only the recipes with these keys; keys not in the group are ignored."}}}}})),fieldOption:new a({name:"FieldOption",description:"One value a field accepts. Writing a value outside the list is rejected unless the field description says it is not checked.",fields:{value:{type:new o(h),description:"The value to write to the field."},name:{type:d,description:"Name shown to the user."},description:{type:d},imageUrl:{type:d,description:"Image shown to the user."},color:{type:d,description:'Color shown to the user, as "#rrggbb".'},dryRun:{type:es,description:"What writing this value would do. Null when it cannot be tried."}}}),screenshot:new a({name:"Screenshot",description:"A screenshot of an entity. The picture itself follows the tool result.",fields:{image:{type:new o(n),description:"Label of the image that follows the tool result."}}})};for(let e of G){let n=$(J,e)??[],i=$(X,e)??[],s=$(B,e)??[],r=$(t.screenshots,e)??[],o=H.includes(e),a=n.length>0||i.length>0||s.length>0||r.length>0;(a||o)&&Y.set(e,{description:D(a,o),type:M({entityType:e,childRecipes:n,replaceRecipes:i,optionsEdges:s,screenshots:r,hasInvariants:o},er)})}let eo=new p({query:(S=ee(_.has(f)?f:g),A=ee(g),q=(e=>{let t={};for(let[n,i,s]of m){let r=e[s];r.length>1&&(t[n]={type:new o(d),description:j(i,r)})}if(0!==Object.keys(t).length)return new a({name:"Navigation",description:"The active UI states of the configurator.",fields:t})})(V),new a({name:"Query",fields:{root:{type:new o(S),description:"The root entity of the configuration."},entities:{type:new o(new r(A)),args:{ids:{type:new r(new o(n))}},description:"Every entity, or the given ids in order with null for an unknown id."},selectedEntity:{type:new o(A),description:"The selected entity, or the root entity when nothing is selected."},...q?{navigation:{type:new o(q)}}:{},warnings:{type:k,description:`Every warning and notice of the configuration the query reads.${T}`}}})),mutation:(({deletableTypes:e,writableTypes:t,childRecipes:s,replaceRecipes:p,actionFields:c,objectTypes:l,anyDomainEntity:h,targetOutputType:y})=>{let u,g;if(0!==e.length||0!==t.length||0!==Object.keys(s).length||0!==Object.keys(p).length||0!==c.length)return new a({name:"Mutation",fields:Object.assign(0===e.length?{}:{deleteEntity:{type:new o(new r(new o(n))),args:{id:{type:new o(n)}},description:`Deletes the entity and everything composed into it. Deletable types: ${e.join(", ")}. Returns the ids removed, the given one first.`}},0===(u=W(s)).length?{}:{addChild:{type:new o(new r(new o(h))),args:{parentId:{type:new o(n)},recipeGroupId:{type:new o(d)},recipeKey:{type:new o(d)}},description:`Adds a child to the entity parentId from a recipe listed under its meta { childRecipes }. Types with child recipes: ${u.join("; ")}. Returns the entities added, the recipe's own first; empty when they were removed again.`}},0===(g=W(p)).length?{}:{replaceEntity:{type:new o(new r(new o(h))),args:{entityId:{type:new o(n)},recipeGroupId:{type:new o(d)},recipeKey:{type:new o(d)}},description:`Replaces the entity entityId from a recipe listed under its meta { replaceRecipes }. Types with replace recipes: ${g.join("; ")}. The replacement is a new entity: it has a new id and the field values of its recipe, and entityId no longer exists. Returns the entities added, the replacement first; empty when they were removed again.`}},...t.flatMap(e=>{let t=l.get(e.entityType);return t?[(({entityType:e,fields:t},s)=>{let r=Object.fromEntries(t.map(({name:e,type:t,description:n})=>[e,{type:w(t),description:n}]));return{[`modify${e}`]:{type:s,args:{id:{type:new o(n)},delta:{type:new o(new i({name:`${e}Delta`,fields:r}))}},description:`Sets the fields named in delta on one ${e}. Returns the entity after the change, or null when the change removed it.`}}})(e,t)]:[]}),Object.fromEntries(c.map(e=>{var t;return[e.fieldName,{type:new o(new a({name:(t=e.fieldName,`${t.charAt(0).toUpperCase()+t.slice(1)}Result`),description:`What ${e.fieldName} returns, read from the configuration after the change.`,fields:()=>Object.fromEntries(Object.entries(e.result).map(([e,t])=>[e,{type:"edge"===t.kind?(({target:e,list:t,nullable:n},i)=>{let s=t?new r(new o(i(e))):i(e);return n?s:new o(s)})(t,y):w(t.type),description:t.description}]))})),args:Object.fromEntries(Object.entries(e.args).map(([e,t])=>[e,{type:w(t.type),description:t.description}])),description:e.description}]})))})})({deletableTypes:z,writableTypes:L,childRecipes:J,replaceRecipes:X,actionFields:Q,objectTypes:Z,anyDomainEntity:ee(g),targetOutputType:et}),types:[..._.values(),...Z.values()]}),ea=l(eo);if(ea.length>0)throw Error(ea.map(e=>e.message).join(" "));let ep=c(eo);return{sdl:ep,navigationFields:m.filter(([,,e])=>V[e].length>1).map(([e])=>e),fields:ei,deletableTypes:z,writableFields:Object.fromEntries(L.map(({entityType:e,fields:t})=>[e,Object.fromEntries(t.map(({name:e,property:t})=>[e,t]))])),childRecipes:J,replaceRecipes:X,fieldOptions:Object.fromEntries(G.flatMap(e=>{let t=$(B,e);return t?[[e,t.map(({options:e})=>e)]]:[]})),screenshots:Object.fromEntries(G.flatMap(e=>{let n=$(t.screenshots,e);return n?[[e,n]]:[]})),actions:Object.fromEntries(Q.map(({fieldName:e,actionName:t})=>[e,t])),lenses:y(t,u(ep)),formElements:t.formElements}};
@@ -0,0 +1,11 @@
1
+ /**
2
+ * The shape of a form element's tag, and of its attributes' names: the panel reads form markup
3
+ * with lowercase tag and attribute names, so a name with an upper-case letter would never match.
4
+ */
5
+ export declare const ASSISTANT_FORM_NAME_PATTERN: RegExp;
6
+ /**
7
+ * Whether a tag is an HTML element name, which no form element may take, so that markup in a form
8
+ * is never mistaken for HTML. The spec rejects a project's element by it and the panel's registry
9
+ * refuses one, so both read the same list.
10
+ */
11
+ export declare const isHtmlElementName: (name: string) => boolean;
@@ -0,0 +1,8 @@
1
+ let e=new Set(`a abbr acronym address applet area article aside audio b base basefont bdi bdo big blink blockquote body br
2
+ button canvas caption center cite code col colgroup data datalist dd del details dfn dialog dir div dl dt em
3
+ embed fieldset figcaption figure font footer form frame frameset h1 h2 h3 h4 h5 h6 head header hgroup hr html
4
+ i iframe image img input ins kbd keygen label legend li link main map mark marquee math menu menuitem meta
5
+ meter nav nobr noembed noframes noscript object ol optgroup option output p param picture plaintext pre
6
+ progress q rb rp rt rtc ruby s samp script search section select slot small source span strike strong style
7
+ sub summary sup svg table tbody td template textarea tfoot th thead time title tr track tt u ul var video wbr
8
+ xmp`.split(/\s+/));export const ASSISTANT_FORM_NAME_PATTERN=/^[a-z][a-z0-9-]*$/;export const isHtmlElementName=t=>e.has(t);