@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
@@ -1 +1 @@
1
- export{PhoenixPubSub}from"./phoenix-pubsub.js";export{PhoenixStore}from"./phoenix-store.js";export{PhoenixApplication}from"./phoenix-application.js";export{VariantFileSession}from"./variant-file-session.js";export{VariantPreviewService}from"./variant-preview-service.js";export{MockTemplateWatcher}from"./mock-template-watcher.js";export{ApplicationSpecProjectWatcher}from"./application-spec-project-watcher.js";export{ApplicationSpecStoryWatcher}from"./application-spec-story-watcher.js";export{LinguiWatcher}from"./lingui-watcher.js";export{loadMockTemplates,parseMockTemplateYaml}from"./spec-files.js";export{LOG_STREAMS,LogBus}from"./log-bus.js";export{createBusLogger}from"./bus-logger.js";export{patchConsole}from"./console-capture.js";export{WebhookTunnelMonitor}from"./webhook-tunnel-monitor.js";export{compileWithSwc,watchWithSwc}from"./swc.js";export{STORY_DEV_MARKER_PATH,readActiveStoryDevMarker}from"./story-dev-marker.js";export{composeDefaultBanner}from"./phx-banner-plugin.js";export{getViteBuildConfigs,getViteDevConfig,setViteLogSink}from"./vite-config.js";export{getServerCredentials,removeServerCredentials,saveServerCredentials}from"./cli-credentials.js";export{createSourceArchive,extractSourceArchive}from"./source-archive.js";export{resolveSignedInDevelopmentEnvironment}from"./signed-in-development-environment.js";export{DEFAULT_PHOENIX_REGION,PHOENIX_REGIONS,PUBLIC_PHOENIX_REGIONS,getRegionServerUrl,getRegionStudioUrl}from"./phoenix-regions.js";
1
+ export{PhoenixPubSub}from"./phoenix-pubsub.js";export{PhoenixStore}from"./phoenix-store.js";export{DeploymentPreparationService,readGeneratedEnvMarkers}from"./deployment/index.js";export{PhoenixApplication}from"./session/index.js";export{VariantFileSession}from"./variant-file-session.js";export{VariantPreviewService}from"./variant-preview-service.js";export{MockTemplateWatcher}from"./mock-template-watcher.js";export{ApplicationSpecProjectWatcher}from"./application-spec-project-watcher.js";export{ApplicationSpecStoryWatcher}from"./application-spec-story-watcher.js";export{LinguiWatcher}from"./lingui-watcher.js";export{bootstrapLinguiCatalogs,extractAndCompileLingui}from"../lingui/index.js";export{loadMockTemplates,parseMockTemplateYaml}from"./spec-files.js";export{LOG_STREAMS,LogBus}from"./log-bus.js";export{createBusLogger}from"./bus-logger.js";export{patchConsole}from"./console-capture.js";export{WebhookTunnelMonitor}from"./webhook-tunnel-monitor.js";export{compileWithSwc,watchWithSwc}from"./swc.js";export{STORY_DEV_MARKER_PATH,readActiveStoryDevMarker}from"./story-dev-marker.js";export{composeDefaultBanner}from"./phx-banner-plugin.js";export{getViteBuildConfigs,getViteDevConfig,setViteLogSink}from"./vite-config.js";export{getServerCredentials,removeServerCredentials,saveServerCredentials}from"./cli-credentials.js";export{exitCli,setBeforeCliExit}from"./cli-exit.js";export{createSourceArchive,extractSourceArchive}from"./source-archive.js";export{resolveSignedInDevelopmentEnvironment}from"./signed-in-development-environment.js";export{createTelemetryClient,resolveTelemetryCommand}from"./telemetry/index.js";export{DEFAULT_PHOENIX_REGION,PHOENIX_REGIONS,PUBLIC_PHOENIX_REGIONS,getRegionServerUrl,getRegionStudioUrl}from"./phoenix-regions.js";
@@ -1 +1 @@
1
- import e from"promise-queue";import{Subject as t,buffer as i,debounceTime as s}from"rxjs";import{watch as r}from"#package/watch";import{compileLingui as n,extractAndCompileLingui as o}from"./lingui.js";let c=["src/**/*.{ts,tsx}","src/locales/**/*.po"],g=["src/locales/**/*.{ts,tsx}"];export class LinguiWatcher{watcher=null;subscription=null;runQueue=new e(1,1/0);changeSubject$=new t;logger;isShuttingDown=!1;constructor(e){this.logger=e.logger}start(){this.setupFileWatcher(),this.setupRunSubscription()}trigger(){this.changeSubject$.next("<codegen-rebuild>")}async close(){this.isShuttingDown=!0,this.watcher&&(await this.watcher.close(),this.watcher=null),this.subscription?.unsubscribe(),this.changeSubject$.complete()}setupFileWatcher(){this.watcher=r(c,{ignored:g,cwd:process.cwd(),ignoreInitial:!0,persistent:!0}),this.watcher.on("all",(e,t)=>{("change"===e||"add"===e||"unlink"===e)&&(this.logger.debug(`Lingui source ${e}: ${t}`),this.changeSubject$.next(t))}).on("error",e=>{this.logger.error(`Lingui watcher error: ${e instanceof Error?e.message:String(e)}`,e)})}setupRunSubscription(){let e=this.changeSubject$.pipe(s(200));this.subscription=this.changeSubject$.pipe(i(e)).subscribe(e=>{let t=e.some(e=>!e.endsWith(".po"));this.runQueue.add(async()=>{if(!this.isShuttingDown)try{t?(this.logger.info("Lingui sources changed, extracting and compiling i18n messages..."),await o({logger:this.logger})):(this.logger.info("Lingui catalogs changed, compiling i18n messages..."),await n({logger:this.logger}))}catch(e){this.logger.error(`Lingui update failed: ${e instanceof Error?e.message:String(e)}`,e)}})})}}
1
+ import e from"promise-queue";import{Subject as i,buffer as t,debounceTime as s}from"rxjs";import{watch as r}from"#package/watch";import{compileLingui as n,extractAndCompileLingui as o}from"../lingui/index.js";let c=["src/**/*.{ts,tsx}","src/locales/**/*.po"],g=["src/locales/**/*.{ts,tsx}"];export class LinguiWatcher{watcher=null;subscription=null;runQueue=new e(1,1/0);changeSubject$=new i;logger;isShuttingDown=!1;constructor(e){this.logger=e.logger}start(){this.setupFileWatcher(),this.setupRunSubscription()}trigger(){this.changeSubject$.next("<codegen-rebuild>")}async close(){this.isShuttingDown=!0,this.watcher&&(await this.watcher.close(),this.watcher=null),this.subscription?.unsubscribe(),this.changeSubject$.complete()}setupFileWatcher(){this.watcher=r(c,{ignored:g,cwd:process.cwd(),ignoreInitial:!0,persistent:!0}),this.watcher.on("all",(e,i)=>{("change"===e||"add"===e||"unlink"===e)&&(this.logger.debug(`Lingui source ${e}: ${i}`),this.changeSubject$.next(i))}).on("error",e=>{this.logger.error(`Lingui watcher error: ${e instanceof Error?e.message:String(e)}`,e)})}setupRunSubscription(){let e=this.changeSubject$.pipe(s(200));this.subscription=this.changeSubject$.pipe(t(e)).subscribe(e=>{let i=e.some(e=>!e.endsWith(".po"));this.runQueue.add(async()=>{if(!this.isShuttingDown)try{i?(this.logger.info("Lingui sources changed, extracting and compiling i18n messages..."),await o({logger:this.logger})):(this.logger.info("Lingui catalogs changed, compiling i18n messages..."),await n({logger:this.logger}))}catch(e){this.logger.error(`Lingui update failed: ${e instanceof Error?e.message:String(e)}`,e)}})})}}
@@ -1,4 +1,5 @@
1
1
  import { BehaviorSubject } from 'rxjs';
2
+ import type { ViteDevServer } from 'vite';
2
3
  /**
3
4
  * A frontend file script or standalone HTML proposal served from `.phoenix/variants/`.
4
5
  */
@@ -44,5 +45,7 @@ export interface VariantPreviewState {
44
45
  * editor server reaches it only through them. Events that carry no state stay on PhoenixPubSub.
45
46
  */
46
47
  export declare class PhoenixStore {
48
+ readonly viteServer$: BehaviorSubject<ViteDevServer | null>;
49
+ readonly reportedFingerprint$: BehaviorSubject<string | null>;
47
50
  readonly variantPreview$: BehaviorSubject<VariantPreviewState>;
48
51
  }
@@ -1 +1 @@
1
- import{BehaviorSubject as e}from"rxjs";export class PhoenixStore{variantPreview$=new e({open:null,activeChoice:null,unclaimed:null})}
1
+ import{BehaviorSubject as e}from"rxjs";export class PhoenixStore{viteServer$=new e(null);reportedFingerprint$=new e(null);variantPreview$=new e({open:null,activeChoice:null,unclaimed:null})}
@@ -1,2 +1,2 @@
1
- import{writeFile as e}from"node:fs/promises";import{createApiBaseClient as i}from"#package/client";import{resolveApplicationSpecDeploymentData as t}from"../application-spec/index.js";import{formatEnvContent as r,uploadFilesWithPresignedUrls as a}from"../utils/index.js";import{getDevelopmentCredentialHint as o,getDevelopmentHeaders as s}from"./development-credential.js";export const prepareDevelopmentEnvironment=async(n,l)=>{let{logger:p}=l,{projectSlug:d,environmentSlug:m,serverUrl:c,credential:h,outFile:v,skipUpload:f,overrideSchema:u,projectVersion:g}=n;p.step("Preparing development environment"),p.info(`Preparing development environment for project "${d}", environment "${m}"`);let E=i(c);p.debug(`Using server URL: ${c}`);let b=await t({skipUpload:f,logger:p});p.info("Preparing and activating the development deployment on the server...");let{data:P,error:$}=await E.POST("/environments/development/prepare",{body:{applicationVersion:b.applicationVersion,publishedDataHash:b.publishedDataHash,useAuthHook:b.useAuthHook,overrideSchema:u,configurationSchema:{version:b.schemaVersion,schema:b.schema},adminConfigurationSchema:b.adminSchema?{schema:b.adminSchema,version:b.adminSchemaVersion}:void 0,chat:b.chat,embeddings:b.embeddings,...b.assistant?{assistant:!0}:{},acl:{canCreate:b.aclCanCreate},privateFiles:[...b.assets.privateFilePaths],publicFiles:[...b.assets.publicFilePaths],sdkVersion:g},headers:s(h,{projectSlug:d,environmentSlug:m})});if($)throw Error(`Failed to prepare development deployment for ${d}/${m} on ${c}: ${$.message}. ${o(h,d)}`);if(!P)throw Error("No data returned from server while preparing the development deployment.");let{environmentVariables:y,privateUploadUrls:w,publicUploadUrls:F}=P;if(f)p.debug("Skipping file upload");else{p.info("Uploading files to S3...");let e={privateFiles:[...b.assets.privateFilesFullPaths].map(e=>{let i=e.replace("assets/private/",""),t=w[i];if(!t)throw Error(`No upload URL provided for private file ${i}, the server did not return a presigned URL for this file, please verify the file exists in the assets/private directory.`);return{localPath:e,uploadUrl:t}}),publicFiles:[...b.assets.publicFilesFullPaths].map(e=>{let i=e.replace("assets/public/",""),t=F[i];if(!t)throw Error(`No upload URL provided for public file ${i}, the server did not return a presigned URL for this file, please verify the file exists in the assets/public directory.`);return{localPath:e,uploadUrl:t}})};await a(e,{logger:p})}try{await e(v,`${r({...y,PHOENIX_PROJECT_SLUG:d,PHOENIX_ENVIRONMENT_SLUG:m,PHOENIX_SERVER_URL:c})}
1
+ import{writeFile as e}from"node:fs/promises";import{createApiBaseClient as i}from"#package/client";import{resolveApplicationSpecDeploymentData as t}from"../application-spec/index.js";import{formatEnvContent as r,uploadFilesWithPresignedUrls as a}from"../utils/index.js";import{getDevelopmentCredentialHint as o,getDevelopmentHeaders as s}from"./development-credential.js";export const prepareDevelopmentEnvironment=async(n,l)=>{let{logger:p}=l,{projectSlug:d,environmentSlug:m,serverUrl:c,credential:h,outFile:v,skipUpload:f,overrideSchema:u,projectVersion:E}=n;p.step("Preparing development environment"),p.info(`Preparing development environment for project "${d}", environment "${m}"`);let g=i(c);p.debug(`Using server URL: ${c}`);let P=await t({skipUpload:f,logger:p});p.info("Preparing and activating the development deployment on the server...");let{data:b,error:$}=await g.POST("/environments/development/prepare",{body:{applicationVersion:P.applicationVersion,publishedDataHash:P.publishedDataHash,useAuthHook:P.useAuthHook,overrideSchema:u,configurationSchema:{version:P.schemaVersion,schema:P.schema},adminConfigurationSchema:P.adminSchema?{schema:P.adminSchema,version:P.adminSchemaVersion}:void 0,chat:P.chat,embeddings:P.embeddings,...P.assistant?{assistant:!0}:{},acl:{canCreate:P.aclCanCreate},privateFiles:[...P.assets.privateFilePaths],publicFiles:[...P.assets.publicFilePaths],sdkVersion:E},headers:s(h,{projectSlug:d,environmentSlug:m})});if($)throw Error(`Failed to prepare development deployment for ${d}/${m} on ${c}: ${$.message}. ${o(h,d)}`);if(!b)throw Error("No data returned from server while preparing the development deployment.");let{environmentVariables:y,privateUploadUrls:N,publicUploadUrls:w}=b;if(f)p.debug("Skipping file upload");else{p.info("Uploading files to S3...");let e={privateFiles:[...P.assets.privateFilesFullPaths].map(e=>{let i=e.replace("assets/private/",""),t=N[i];if(!t)throw Error(`No upload URL provided for private file ${i}, the server did not return a presigned URL for this file, please verify the file exists in the assets/private directory.`);return{localPath:e,uploadUrl:t}}),publicFiles:[...P.assets.publicFilesFullPaths].map(e=>{let i=e.replace("assets/public/",""),t=w[i];if(!t)throw Error(`No upload URL provided for public file ${i}, the server did not return a presigned URL for this file, please verify the file exists in the assets/public directory.`);return{localPath:e,uploadUrl:t}})};await a(e,{logger:p})}try{await e(v,`${r({...y,PHOENIX_PROJECT_SLUG:d,PHOENIX_ENVIRONMENT_SLUG:m,PHOENIX_SERVER_URL:c,PHOENIX_DEPLOYMENT_FINGERPRINT:P.fingerprint})}
2
2
  `),p.debug(`Environment variables written to ${v}`)}catch{throw Error(`Failed to write environment variables to file at ${v}, please verify you have write permissions to this location.`)}p.info(`Project: ${d}`),p.info(`Environment: ${m}`),p.info(`Deployment ID: ${y.DEPLOYMENT_ID}`),p.success("Development environment prepared successfully!")};
@@ -0,0 +1,5 @@
1
+ /** A session-owned editor transport, including the result of binding its port. */
2
+ export interface EditorServerHandle {
3
+ readonly ready: Promise<void>;
4
+ readonly close: () => Promise<void>;
5
+ }
@@ -0,0 +1,2 @@
1
+ export { PhoenixApplication, type PhoenixApplicationProps, type PhoenixApplicationContext, type PhoenixDevelopmentOptions, } from './phoenix-application.js';
2
+ export type { EditorServerHandle } from './editor-server-handle.js';
@@ -0,0 +1 @@
1
+ export{PhoenixApplication}from"./phoenix-application.js";
@@ -0,0 +1,82 @@
1
+ import { Subject } from 'rxjs';
2
+ import { createServer } from 'vite';
3
+ import { type Logger } from '../../utils/index.js';
4
+ import { DeploymentPreparationService } from '../deployment/index.js';
5
+ import { type DevelopmentCredential } from '../development-credential.js';
6
+ import { LinguiWatcher } from '../lingui-watcher.js';
7
+ import { LogBus } from '../log-bus.js';
8
+ import { type BrowserConsoleEvent, PhoenixPubSub } from '../phoenix-pubsub.js';
9
+ import { PhoenixStore } from '../phoenix-store.js';
10
+ import { VariantPreviewService } from '../variant-preview-service.js';
11
+ import { WebhookTunnelMonitor } from '../webhook-tunnel-monitor.js';
12
+ import type { EditorServerHandle } from './editor-server-handle.js';
13
+ /** Resolved inputs for one development session; the application constructs its service graph. */
14
+ export interface PhoenixDevelopmentOptions {
15
+ readonly sdkVersion: string;
16
+ readonly projectSlug: string;
17
+ readonly environmentSlug: string;
18
+ readonly cliUseWorkspace: boolean | undefined;
19
+ readonly enableEditor: boolean | undefined;
20
+ readonly debug: boolean;
21
+ readonly withLingui: boolean;
22
+ readonly persistenceMode: string | undefined;
23
+ readonly force: boolean;
24
+ readonly serverUrl: string | undefined;
25
+ readonly credential: DevelopmentCredential | undefined;
26
+ readonly skipUpload: boolean;
27
+ }
28
+ export interface PhoenixApplicationProps {
29
+ readonly projectRoot: string;
30
+ readonly mode: 'dev' | 'story';
31
+ readonly development: PhoenixDevelopmentOptions | undefined;
32
+ readonly editorPort: number | undefined;
33
+ }
34
+ /** Host adapters for the editor transport and terminal presentation at lifecycle boundaries. */
35
+ export interface PhoenixApplicationContext {
36
+ readonly logger: Logger;
37
+ readonly createEditorServer: (props: {
38
+ readonly port: number;
39
+ readonly application: PhoenixApplication;
40
+ readonly logger: Logger;
41
+ readonly debug: boolean;
42
+ }) => EditorServerHandle;
43
+ readonly onProjectPrepared: (logs: LogBus) => void;
44
+ readonly onStartupFailure: (error: unknown) => void;
45
+ readonly onBrowserConsole: (event: BrowserConsoleEvent, logs: LogBus) => void;
46
+ }
47
+ /** Composes, starts and closes one dev or story session, including resources acquired during a failed start. */
48
+ export declare class PhoenixApplication {
49
+ private readonly props;
50
+ private readonly context;
51
+ readonly store: PhoenixStore;
52
+ readonly pubsub: PhoenixPubSub;
53
+ readonly failures$: Subject<Error>;
54
+ private readonly logsValue;
55
+ private readonly tunnelMonitorValue;
56
+ private readonly deploymentPreparationValue;
57
+ private variantPreviewsValue;
58
+ private linguiWatcherValue;
59
+ private projectWatcher;
60
+ private storyWatcher;
61
+ private mockTemplateWatcher;
62
+ private editorServer;
63
+ private webhookTunnel;
64
+ private browserConsoleSubscription;
65
+ private startPromise;
66
+ private closePromise;
67
+ constructor(props: PhoenixApplicationProps, context: PhoenixApplicationContext);
68
+ get logs(): LogBus | undefined;
69
+ get tunnelMonitor(): WebhookTunnelMonitor | undefined;
70
+ get deploymentPreparation(): DeploymentPreparationService | undefined;
71
+ get projectRoot(): string;
72
+ get mode(): 'dev' | 'story';
73
+ get variantPreviews(): VariantPreviewService | undefined;
74
+ get linguiWatcher(): LinguiWatcher | undefined;
75
+ start(): Promise<Awaited<ReturnType<typeof createServer>> | undefined>;
76
+ close(): Promise<void>;
77
+ private startSession;
78
+ private startEditor;
79
+ private startDevelopment;
80
+ private assertStarting;
81
+ private closeResources;
82
+ }
@@ -0,0 +1,2 @@
1
+ import{Subject as e}from"rxjs";import{createServer as t}from"vite";import{resolveGeneratedEnvFile as o}from"@salsita-ai/common/env";import{generateProjectFiles as r,getDeploymentFingerprint as s}from"../../application-spec/index.js";import{exists as i}from"../../utils/index.js";import{buildWebhooks as n,webhookLogContext as a}from"../../webhooks/index.js";import{ApplicationSpecProjectWatcher as l}from"../application-spec-project-watcher.js";import{ApplicationSpecStoryWatcher as c}from"../application-spec-story-watcher.js";import{DeploymentPreparationService as h,readGeneratedEnvMarkers as p}from"../deployment/index.js";import{getDevelopmentCredentialHint as u}from"../development-credential.js";import{LinguiWatcher as m}from"../lingui-watcher.js";import{LogBus as g}from"../log-bus.js";import{MockTemplateWatcher as d}from"../mock-template-watcher.js";import{PhoenixPubSub as v}from"../phoenix-pubsub.js";import{PhoenixStore as w}from"../phoenix-store.js";import{VariantPreviewService as b}from"../variant-preview-service.js";import{getViteDevConfig as S}from"../vite-config.js";import{createWebhookTunnelTransport as E,readOrCreateTunnelSessionId as x,startWebhookService as f}from"../webhook-service/index.js";import{WebhookTunnelMonitor as P}from"../webhook-tunnel-monitor.js";export class PhoenixApplication{props;context;store=new w;pubsub=new v;failures$=new e;logsValue;tunnelMonitorValue;deploymentPreparationValue;variantPreviewsValue;linguiWatcherValue;projectWatcher;storyWatcher;mockTemplateWatcher;editorServer;webhookTunnel;browserConsoleSubscription;startPromise;closePromise;constructor(e,t){this.props=e,this.context=t;let o="dev"===e.mode?e.development:void 0,r=o&&(!o.persistenceMode||"server"===o.persistenceMode);this.logsValue="dev"===e.mode?new g:void 0,this.tunnelMonitorValue=r&&o.serverUrl?new P(o.serverUrl):void 0,this.deploymentPreparationValue=r&&o.serverUrl&&o.credential?new h({serverUrl:o.serverUrl,credential:o.credential,projectSlug:o.projectSlug,environmentSlug:o.environmentSlug,sdkVersion:o.sdkVersion},{store:this.store,get logger(){return t.logger}}):void 0}get logs(){return this.logsValue}get tunnelMonitor(){return this.tunnelMonitorValue}get deploymentPreparation(){return this.deploymentPreparationValue}get projectRoot(){return this.props.projectRoot}get mode(){return this.props.mode}get variantPreviews(){return this.variantPreviewsValue}get linguiWatcher(){return this.linguiWatcherValue}start(){return this.startPromise??=this.startSession(),this.startPromise}close(){return this.closePromise??=this.closeResources(this.context.logger),this.closePromise}async startSession(){try{if(this.assertStarting(),"story"===this.mode)return void await this.startEditor();let e=this.logs;if(!e)throw Error("Cannot start development: the application has no log bus.");return this.browserConsoleSubscription=this.pubsub.browserConsole$.subscribe(t=>this.context.onBrowserConsole(t,e)),await this.startDevelopment()}catch(e){throw this.closePromise||this.context.onStartupFailure(e),await this.close(),e}}async startEditor(){let e=this.props.editorPort;void 0!==e&&("dev"===this.mode&&this.context.logger.step("Starting editor WebSocket server"),this.editorServer=this.context.createEditorServer({port:e,application:this,logger:this.context.logger,debug:this.props.development?.debug??!1}),await this.editorServer.ready,this.assertStarting(),"dev"===this.mode&&this.context.logger.debug(`Editor WebSocket server started on port ${e}`),this.mockTemplateWatcher=new d({projectRoot:this.projectRoot,pubsub:this.pubsub,logger:this.context.logger}),this.mockTemplateWatcher.start(),"story"===this.mode&&(this.storyWatcher=new c({projectRoot:this.projectRoot,pubsub:this.pubsub,logger:this.context.logger}),this.storyWatcher.start()))}async startDevelopment(){let e=this.props.development,c=this.logs;if(!e||!c)throw Error("Cannot start development: session options are missing. Supply development options when constructing the application.");let{sdkVersion:h,projectSlug:g,environmentSlug:d,cliUseWorkspace:v,enableEditor:w,debug:P,withLingui:j,persistenceMode:y,force:k,serverUrl:V,credential:W,skipUpload:R}=e,{store:N,pubsub:T,deploymentPreparation:I,tunnelMonitor:_}=this;process.env.NODE_ENV="development",y&&(process.env.PERSISTENCE_MODE=y);let O=!y||"server"===y;if(O&&V&&(process.env.SERVER_URL=V),this.context.logger.step("Starting development mode"),!await i("spec"))throw Object.assign(Error('Spec folder not found. Run "phoenix init" first.'),{code:"SPEC_NOT_FOUND"});if(O&&(!V||!W))throw Error("Server persistence needs a server and a credential. Run `phoenix login <workspace>`, or create a development environment in Studio and paste its .env block into .env.");this.context.logger.step("Building project files");let{templateFiles:D,applicationSpec:$}=await r({sdkVersion:h,projectSlug:g,environmentSlug:d,cliUseWorkspace:v,enableEditor:w,withLingui:j,force:k},{logger:this.context.logger});if(this.assertStarting(),this.context.logger.success("Project files built successfully"),O&&V&&W){let e=o("."),t=await p(e);k||t?.PHOENIX_PROJECT_SLUG!==g||t.PHOENIX_ENVIRONMENT_SLUG!==d||t.PHOENIX_SERVER_URL!==V||t.PHOENIX_DEPLOYMENT_FINGERPRINT!==s($)?(this.context.logger.step("Preparing development deployment"),await I?.prepareAtStartup({skipUpload:R,debug:P})):this.context.logger.debug(`${e} matches the current development environment, skipping prepare`)}if(this.assertStarting(),this.context.onProjectPrepared(c),j?(this.linguiWatcherValue=new m({logger:this.context.logger}),this.linguiWatcherValue.start()):this.context.logger.warn("Continuous Lingui updates are disabled; missing catalogs were bootstrapped at startup. Pass --withLingui or set WITH_LINGUI=true to enable."),O&&(this.context.logger.step("Building webhooks"),await a.run("webhook",async()=>{await n({experimental:!0,skipNodeEnvOverride:!0,webhookEntryPoint:"./.phoenix/.swc/.phoenix/webhook.js"})})),O&&V&&W){let e=o("."),t=await p(e);if(!t?.DEPLOYMENT_ID)throw Error(`Webhook tunnel cannot start because ${e} has no DEPLOYMENT_ID. Rerun phoenix dev to prepare the development deployment.`);this.assertStarting();let r=await x();this.assertStarting();let s=await f({experimental:!0,transport:E({serverUrl:V,credential:W,projectSlug:g,environmentSlug:d}),rejectionHint:u(W,g),environmentSlug:d,deploymentId:t.DEPLOYMENT_ID,sessionId:r,onStatus:(e,o)=>{_?.setStatus(e,{deploymentId:t.DEPLOYMENT_ID,sessionId:r,message:o??null})},onRequest:e=>_?.record(e)});this.closePromise&&(await s.stop(),this.assertStarting()),this.webhookTunnel=s,_?.setStatus("waiting",{deploymentId:t.DEPLOYMENT_ID,sessionId:r}),s.stopped.catch(e=>{this.failures$.next(Error(`Webhook tunnel failed: ${e instanceof Error?e.message:String(e)}`)),this.close()}),this.context.logger.success("Webhook tunnel started")}this.assertStarting();let M=new l({pubsub:T,logger:this.context.logger,sdkVersion:h,projectSlug:g,environmentSlug:d,cliUseWorkspace:v,enableEditor:w??!0,inlineTemplates:!1,useServer:O},{store:N,linguiWatcher:this.linguiWatcherValue,deploymentPreparation:I});this.projectWatcher=M,this.variantPreviewsValue=new b({projectRoot:this.projectRoot},{store:N,logger:this.context.logger,projectWatcher:M}),w&&void 0!==this.props.editorPort&&await this.startEditor();let C=await S({templateFiles:D}),L=await t(C);return this.closePromise&&(await L.close(),this.assertStarting()),this.store.viteServer$.next(L),await L.listen(),this.assertStarting(),this.context.logger.step("Starting Vite dev server"),M.start(L),L}assertStarting(){if(this.closePromise)throw Error("Cannot continue startup: the session has already closed. Start a new Phoenix application.")}async closeResources(e){"dev"===this.mode&&e.debug("Shutting down...");let t="story"===this.mode?[{name:"story source watcher",close:()=>this.storyWatcher?.close()},{name:"mock-template watcher",close:()=>this.mockTemplateWatcher?.close()},{name:"editor server",close:()=>this.editorServer?.close()}]:[{name:"lingui watcher",close:()=>this.linguiWatcherValue?.close()},{name:"project watcher",close:()=>this.projectWatcher?.close()},{name:"mock template watcher",close:()=>this.mockTemplateWatcher?.close()},{name:"editor server",close:()=>this.editorServer?.close()},{name:"variant previews",close:()=>this.variantPreviewsValue?.dispose()},{name:"vite server",close:()=>this.store.viteServer$.value?.close()},{name:"webhook tunnel",close:()=>this.webhookTunnel?.stop()}],o=[];for(let r of t)try{"dev"===this.mode&&e.debug(`Shutting down ${r.name}`),await r.close()}catch(s){let t=s instanceof Error?s.message:String(s);"story"===this.mode?e.warn(`Failed to close the story-dev ${r.name}: ${t}. The process will continue shutting down.`):o.push(`${r.name}: ${t}`)}this.browserConsoleSubscription?.unsubscribe(),this.failures$.complete(),o.length>0&&e.warn(`Cleanup warnings:
2
+ ${o.join("\n ")}`),"dev"===this.mode&&e.debug("Shutdown complete")}}
@@ -0,0 +1,9 @@
1
+ import type { TelemetryEvent } from './telemetry-event.js';
2
+ export interface TelemetryTransport {
3
+ readonly send: (events: readonly TelemetryEvent[], timeoutMs: number) => Promise<void>;
4
+ }
5
+ interface AmplitudeTelemetryTransportContext {
6
+ readonly fetch: typeof fetch;
7
+ }
8
+ export declare const createAmplitudeTelemetryTransport: (context?: AmplitudeTelemetryTransportContext) => TelemetryTransport;
9
+ export {};
@@ -0,0 +1 @@
1
+ let e=e=>({event_type:e.name,device_id:e.deviceId,...void 0===e.userId?{}:{user_id:e.userId},insert_id:e.eventId,time:e.occurredAt.getTime(),event_properties:e.properties}),t=e=>429===e.status||e.status>=500;export const createAmplitudeTelemetryTransport=(r={fetch})=>({send:async(a,i)=>{if(0===a.length)return;let n=new AbortController,o=setTimeout(()=>n.abort(),i),s=JSON.stringify({api_key:"46b8fa9ce868c9da04f8ad2b6715a2f7",events:a.map(e)});try{for(let e=0;e<2;e+=1)try{let e=await r.fetch("https://api2.amplitude.com/2/httpapi",{method:"POST",headers:{"content-type":"application/json"},body:s,signal:n.signal});if(await e.body?.cancel(),e.ok||!t(e))return}catch{if(n.signal.aborted)return}}finally{n.abort(),clearTimeout(o)}}});
@@ -0,0 +1,3 @@
1
+ export { createTelemetryClient, type CommandTelemetryAttempt, type TelemetryClient } from './telemetry-client.js';
2
+ export { resolveTelemetryCommand, type TelemetryCommand } from './telemetry-command.js';
3
+ export type { TelemetryAssociation } from './telemetry-state.js';
@@ -0,0 +1 @@
1
+ export{createTelemetryClient}from"./telemetry-client.js";export{resolveTelemetryCommand}from"./telemetry-command.js";
@@ -0,0 +1,25 @@
1
+ import { type TelemetryTransport } from './amplitude-telemetry-transport.js';
2
+ import type { TelemetryCommand } from './telemetry-command.js';
3
+ import { type TelemetryFailureCategory, type TelemetryOutcome } from './telemetry-event.js';
4
+ import { type TelemetryAssociation, type TelemetryIdentity } from './telemetry-state.js';
5
+ export interface CommandTelemetryAttempt {
6
+ readonly ready: () => void;
7
+ readonly complete: (outcome: TelemetryOutcome, failureCategory?: TelemetryFailureCategory) => void;
8
+ }
9
+ export interface TelemetryClient {
10
+ readonly startCommandAttempt: (command: TelemetryCommand) => CommandTelemetryAttempt;
11
+ readonly identify: (association: TelemetryAssociation) => Promise<void>;
12
+ readonly flush: () => Promise<void>;
13
+ }
14
+ interface CreateTelemetryClientProps {
15
+ readonly sdkVersion: string;
16
+ }
17
+ interface TelemetryClientContext {
18
+ readonly createId: () => string;
19
+ readonly loadIdentity: () => Promise<TelemetryIdentity>;
20
+ readonly now: () => Date;
21
+ readonly saveAssociation: (identity: TelemetryIdentity, association: TelemetryAssociation) => Promise<void>;
22
+ readonly transport: TelemetryTransport;
23
+ }
24
+ export declare const createTelemetryClient: (props: CreateTelemetryClientProps, context?: TelemetryClientContext) => Promise<TelemetryClient>;
25
+ export {};
@@ -0,0 +1 @@
1
+ import{randomUUID as t}from"node:crypto";import{createAmplitudeTelemetryTransport as e}from"./amplitude-telemetry-transport.js";import{createCommandEvent as r}from"./telemetry-event.js";import{loadTelemetryIdentity as o,saveTelemetryAssociation as n}from"./telemetry-state.js";let a={ready:()=>void 0,complete:()=>void 0},s={startCommandAttempt:()=>a,identify:async()=>void 0,flush:async()=>void 0};export const createTelemetryClient=async(a,i={createId:t,loadIdentity:o,now:()=>new Date,saveAssociation:n,transport:e()})=>{if("1"===process.env.PHOENIX_TELEMETRY_DISABLED)return s;try{var d;let t,e;return d=await i.loadIdentity(),t=[],e=d,{startCommandAttempt:o=>{let n=i.createId(),s=i.now(),d=!1,c=!1;return t=[...t,r({identity:e,sdkVersion:a.sdkVersion,command:o,attemptId:n,phase:"started",outcome:"unknown",occurredAt:s},i)],{ready:()=>{if("dev"!==o||c||d)return;c=!0;let m=i.now();t=[...t,r({identity:e,sdkVersion:a.sdkVersion,command:o,attemptId:n,phase:"ready",outcome:"unknown",occurredAt:m,durationMs:Math.max(0,m.getTime()-s.getTime())},i)]},complete:(c,m)=>{if(d)return;d=!0;let u=i.now();t=[...t,r({identity:e,sdkVersion:a.sdkVersion,command:o,attemptId:n,phase:"completed",outcome:c,occurredAt:u,durationMs:Math.max(0,u.getTime()-s.getTime()),failureCategory:m},i)]}}},identify:async t=>{e={...e,...t};try{await i.saveAssociation(e,t)}catch{return}},flush:async()=>{let e=t;t=[];try{await i.transport.send(e,1e3)}catch{return}}}}catch{return s}};
@@ -0,0 +1,2 @@
1
+ export type TelemetryCommand = 'build' | 'changelog' | 'check' | 'clean' | 'deploy' | 'deployment:activate' | 'deployment:build-envs' | 'deployment:extract-sources' | 'deployment:finish' | 'deployment:prepare' | 'deployment:prepare-dev' | 'deployment:prepare-local' | 'deployment:register' | 'dev' | 'docs' | 'environment:cleanup' | 'environment:create' | 'environment:list' | 'feedback' | 'fix' | 'init' | 'inspect:assets' | 'inspect:data' | 'inspect:scene' | 'inspect:state' | 'link' | 'login' | 'logout' | 'prepare:ci' | 'screenshot' | 'story' | 'sync' | 'unlink' | 'variants';
2
+ export declare const resolveTelemetryCommand: (arguments_: readonly string[]) => TelemetryCommand | null;
@@ -0,0 +1 @@
1
+ let e={b:"build",build:"build",c:"check",changelog:"changelog",check:"check",ci:"prepare:ci",cl:"clean",clean:"clean",clog:"changelog",d:"dev",da:"deployment:activate",dbe:"deployment:build-envs",deploy:"deploy","dep:activate":"deployment:activate","dep:build-envs":"deployment:build-envs","dep:finish":"deployment:finish","dep:prepare":"deployment:prepare","dep:prepare-dev":"deployment:prepare-dev","dep:prepare-local":"deployment:prepare-local","dep:register":"deployment:register","deployment:activate":"deployment:activate","deployment:build-envs":"deployment:build-envs","deployment:extract-sources":"deployment:extract-sources","deployment:finish":"deployment:finish","deployment:prepare":"deployment:prepare","deployment:prepare-dev":"deployment:prepare-dev","deployment:prepare-local":"deployment:prepare-local","deployment:register":"deployment:register",dev:"dev",df:"deployment:finish",doc:"docs",docs:"docs",dp:"deployment:prepare",dpd:"deployment:prepare-dev",dpl:"deployment:prepare-local",dr:"deployment:register",ec:"environment:cleanup","env:cleanup":"environment:cleanup","env:create":"environment:create","env:list":"environment:list","environment:cleanup":"environment:cleanup","environment:create":"environment:create","environment:list":"environment:list",f:"fix",feedback:"feedback",fix:"fix",ia:"inspect:assets",id:"inspect:data",init:"init","inspect:assets":"inspect:assets","inspect:data":"inspect:data","inspect:scene":"inspect:scene","inspect:state":"inspect:state",is:"inspect:state",isc:"inspect:scene",l:"link",link:"link",login:"login",logout:"logout",pci:"prepare:ci","prepare:ci":"prepare:ci",s:"sync",screenshot:"screenshot",ss:"screenshot",st:"story",story:"story",sync:"sync",ul:"unlink",unlink:"unlink",variants:"variants"};export const resolveTelemetryCommand=n=>e[n[0]??""]??null;
@@ -0,0 +1,44 @@
1
+ import type { TelemetryCommand } from './telemetry-command.js';
2
+ import type { TelemetryIdentity } from './telemetry-state.js';
3
+ export type TelemetryOutcome = 'succeeded' | 'failed';
4
+ export type TelemetryFailureCategory = 'command_failed';
5
+ export type TelemetrySource = 'cli' | 'studio' | 'backend' | 'preview';
6
+ export type TelemetryClassification = 'internal' | 'beta' | 'general' | 'unknown';
7
+ export interface TelemetryEvent {
8
+ /** Unique event delivery identity, mapped to Amplitude's insert_id. */
9
+ readonly eventId: string;
10
+ readonly name: 'cli_command_started' | 'cli_dev_server_ready' | 'cli_command_completed';
11
+ readonly occurredAt: Date;
12
+ readonly deviceId: string;
13
+ readonly userId?: string;
14
+ readonly properties: {
15
+ readonly schema_version: 1;
16
+ readonly source: TelemetrySource;
17
+ readonly command: TelemetryCommand;
18
+ readonly attempt_id: string;
19
+ readonly phase: 'started' | 'ready' | 'completed';
20
+ readonly outcome: 'unknown' | TelemetryOutcome;
21
+ readonly duration_ms?: number;
22
+ readonly failure_category?: TelemetryFailureCategory;
23
+ readonly sdk_version: string;
24
+ readonly classification: TelemetryClassification;
25
+ readonly work_session_id: string;
26
+ readonly workspace_id?: string;
27
+ };
28
+ }
29
+ interface CreateCommandEventProps {
30
+ readonly identity: TelemetryIdentity;
31
+ readonly sdkVersion: string;
32
+ readonly command: TelemetryCommand;
33
+ readonly attemptId: string;
34
+ readonly phase: 'started' | 'ready' | 'completed';
35
+ readonly outcome: 'unknown' | TelemetryOutcome;
36
+ readonly occurredAt: Date;
37
+ readonly durationMs?: number;
38
+ readonly failureCategory?: TelemetryFailureCategory;
39
+ }
40
+ interface TelemetryEventContext {
41
+ readonly createId: () => string;
42
+ }
43
+ export declare const createCommandEvent: (props: CreateCommandEventProps, context: TelemetryEventContext) => TelemetryEvent;
44
+ export {};
@@ -0,0 +1 @@
1
+ export const createCommandEvent=(e,t)=>({eventId:t.createId(),name:"ready"===e.phase?"cli_dev_server_ready":"started"===e.phase?"cli_command_started":"cli_command_completed",occurredAt:e.occurredAt,deviceId:e.identity.installationId,..."userId"in e.identity?{userId:e.identity.userId}:{},properties:{schema_version:1,source:"cli",command:e.command,attempt_id:e.attemptId,phase:e.phase,outcome:e.outcome,...void 0===e.durationMs?{}:{duration_ms:e.durationMs},...void 0===e.failureCategory?{}:{failure_category:e.failureCategory},sdk_version:e.sdkVersion,classification:"userId"in e.identity?"general":"unknown",work_session_id:e.identity.workSessionId,..."workspaceId"in e.identity?{workspace_id:e.identity.workspaceId}:{}}});
@@ -0,0 +1,25 @@
1
+ export interface AnonymousTelemetryIdentity {
2
+ /** Random identifier for one operating-system user profile, without machine or account data. */
3
+ readonly installationId: string;
4
+ /** Random identifier for CLI activity separated by less than thirty minutes. */
5
+ readonly workSessionId: string;
6
+ }
7
+ export interface TelemetryAssociation {
8
+ /** Stable authenticated builder user ID, mapped to Amplitude's user_id after authentication. */
9
+ readonly userId: string;
10
+ /** Internal UUID of the SDK-builder workspace the CLI authenticated against. */
11
+ readonly workspaceId: string;
12
+ }
13
+ export type TelemetryIdentity = AnonymousTelemetryIdentity | (AnonymousTelemetryIdentity & TelemetryAssociation);
14
+ interface TelemetryStateContext {
15
+ readonly createId: () => string;
16
+ readonly now: () => Date;
17
+ }
18
+ export declare const getTelemetryStatePath: () => string;
19
+ /**
20
+ * Loads the anonymous CLI identity and records current activity. Broken or unwritable state never blocks a command:
21
+ * the invocation gets an ephemeral identity, while an invalid existing file is left untouched for inspection.
22
+ */
23
+ export declare const loadTelemetryIdentity: (context?: TelemetryStateContext) => Promise<TelemetryIdentity>;
24
+ export declare const saveTelemetryAssociation: (identity: TelemetryIdentity, association: TelemetryAssociation) => Promise<void>;
25
+ export {};
@@ -0,0 +1,2 @@
1
+ import{randomUUID as t}from"node:crypto";import{chmod as e,mkdir as i,readFile as n,writeFile as a}from"node:fs/promises";import{homedir as s}from"node:os";import{dirname as r,join as o}from"node:path";import{z as d}from"zod";let l=d.object({installationId:d.string().uuid(),workSessionId:d.string().uuid(),lastActiveAt:d.string().datetime()}),c=d.union([l.extend({userId:d.string().min(5),workspaceId:d.string().uuid()}),l.strict()]),I={createId:t,now:()=>new Date};export const getTelemetryStatePath=()=>process.env.PHOENIX_TELEMETRY_FILE??o(s(),".phoenix","telemetry.json");let u=async(t,n)=>{await i(r(t),{recursive:!0,mode:448}),await a(t,`${JSON.stringify(n,null,2)}
2
+ `,{mode:384}),await e(t,384)},w=async t=>{let e;try{e=await n(t,"utf8")}catch(t){return t instanceof Error&&"code"in t&&"ENOENT"===t.code?{kind:"missing"}:{kind:"invalid"}}try{let t=c.safeParse(JSON.parse(e));return t.success?{kind:"valid",state:t.data}:{kind:"invalid"}}catch{return{kind:"invalid"}}};export const loadTelemetryIdentity=async(t=I)=>{let e=getTelemetryStatePath(),i=await w(e),n="valid"===i.kind?i.state:null,a=t.now(),s=null===n?null:Date.parse(n.lastActiveAt),r=null===s||a.getTime()-s>=18e5,o=null===n?{installationId:t.createId(),workSessionId:t.createId(),lastActiveAt:a.toISOString()}:{...n,workSessionId:r?t.createId():n.workSessionId,lastActiveAt:a.toISOString()};try{"invalid"!==i.kind&&await u(e,o)}catch{return{installationId:o.installationId,workSessionId:o.workSessionId}}return{installationId:o.installationId,workSessionId:o.workSessionId,..."userId"in o&&"workspaceId"in o?{userId:o.userId,workspaceId:o.workspaceId}:{}}};export const saveTelemetryAssociation=async(t,e)=>{let i=getTelemetryStatePath(),n=await w(i);"valid"===n.kind&&n.state.installationId===t.installationId&&n.state.workSessionId===t.workSessionId&&await u(i,{...n.state,...e})};
@@ -1 +1 @@
1
- import{getConfig as e}from"@lingui/conf";import{lingui as i}from"@lingui/vite-plugin";import t from"@vitejs/plugin-react";import{mkdir as n,readFile as r,writeFile as o}from"fs/promises";import a from"lodash-es/camelCase.js";import{createRequire as s}from"node:module";import{dirname as l,resolve as m}from"path";import{createLogger as f}from"vite";import p from"vite-plugin-css-injected-by-js";import{isUsingLocalSdk as d}from"../utils/package-info.js";import{loadFrontendConfigModule as c}from"./frontend-config.js";import{LINGUI_CONFIG_PATH as g}from"./lingui.js";import{phxBannerPlugin as u}from"./phx-banner-plugin.js";import{phxCspNoncePlugin as h}from"./phx-csp-nonce-plugin.js";import{phxGlobalIsolationPlugin as b}from"./phx-global-isolation-plugin.js";import{phxLicensesPlugin as S}from"./phx-licenses-plugin.js";import{phxVariantPreviewsPlugin as y}from"./phx-variant-previews-plugin.js";let O=null;export const setViteLogSink=(e,i={})=>{O={sink:e,echo:i.echo??!1}};let x=["react","react-dom","three","@react-three/fiber","@react-three/drei","@react-three/postprocessing","its-fine","@emotion/react","@emotion/styled","@mui/material","@mui/system","@tanstack/react-query","rxjs"],D=()=>[s(import.meta.url).resolve("@lingui/babel-plugin-lingui-macro"),{linguiConfig:e({configPath:g})}],E=e=>{let i=e.DEPLOYMENT_ID;if("string"!=typeof i)throw Error("DEPLOYMENT_ID is required in runtime config");return i};export const getViteDevConfig=async e=>{var n,r;let o,a,p=d(),u=c(),h=u.readRuntimeConfig(),S=u.frontendBuildConfig,v=D(),j=Object.fromEntries((e?.templateFiles??[]).map(e=>[e,`.phoenix/${e}`]));return{...O&&{customLogger:(n=O.sink,r=O.echo,o=f(),{get hasWarned(){return o.hasWarned},info:(e,i)=>{n("info",e),r&&o.info(e,i)},warn:(e,i)=>{n("warn",e),r&&o.warn(e,i)},warnOnce:(e,i)=>{n("warn",e),r&&o.warnOnce(e,i)},error:(e,i)=>{n("error",e),r&&o.error(e,i)},clearScreen:e=>{r&&o.clearScreen(e)},hasErrorLogged:e=>o.hasErrorLogged(e)}),...O.echo?{}:{clearScreen:!1}},mode:"development",optimizeDeps:{exclude:["@swc/wasm-web"],...p&&{entries:["index.html","admin.html",...e?.templateFiles??[]],force:!0}},...p&&{resolve:{alias:(a=s(m(process.cwd(),"package.json")),x.flatMap(e=>{try{let i=l(a.resolve(`${e}/package.json`));return[{find:RegExp(`^${e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(/|$)`),replacement:`${i}$1`}]}catch{return[]}}))}},plugins:[t({babel:{plugins:[v]}}),i({configPath:g}),{name:"vite:runtime-config",apply:(e,i)=>"build"===i.command||"development"===i.mode,config:e=>{let i=u.readRuntimeConfig(),t=u.frontendBuildConfig;return{...e,define:{...e.define,"phx.frontendEnv":JSON.stringify(i),"globalThis.PHX_SCHEMA_VALIDATOR":JSON.stringify(t.jsonSchemaValidator),"globalThis.PHX_GLTF_DECODER":JSON.stringify(t.gltfDecoder)}}}},b({getDeploymentId:()=>E(u.readRuntimeConfig())}),y()],define:{"process.env":{},"import.meta.env.DEV":!0,"import.meta.env.PROD":!1,"phx.frontendEnv":JSON.stringify(h),"globalThis.PHX_SCHEMA_VALIDATOR":JSON.stringify(S.jsonSchemaValidator),"globalThis.PHX_GLTF_DECODER":JSON.stringify(S.gltfDecoder)},build:{rollupOptions:{input:{index:".phoenix/index.html",admin:".phoenix/admin.html",...j}}},root:m(process.cwd(),"./.phoenix"),server:{watch:{ignored:["./**/*.{ts,tsx}","./.swc/**","../spec/**","../src/**"]}}}};export const getViteBuildConfigs=async e=>{let s=c(),f=s.readRuntimeConfig(),d=s.frontendBuildConfig,y=D(),O=S(),x=u({sdkVersion:e.sdkVersion,banner:e.banner}),v=[{name:"salsita-configurator",entryFile:"./configurator.ts",mainScriptPath:"./configurator.ts",htmlFiles:["./index.html",...{templateFiles:e.templateFiles}.templateFiles],main:!0,format:"iife"},{name:"salsita-admin",entryFile:"./admin.ts",mainScriptPath:"./admin.ts",htmlFiles:["./admin.html"],main:!1,format:"iife"},{name:"salsita-embedded-admin",entryFile:"./embedded-admin.ts",mainScriptPath:"./embedded-admin.ts",htmlFiles:[],main:!1,format:"es"},{name:"salsita-embedded-configurator",entryFile:"./embedded-configurator.ts",mainScriptPath:"./embedded-configurator.ts",htmlFiles:[],main:!1,format:"es"}].map(c=>({plugins:[t({babel:{plugins:[y]}}),i({configPath:g}),p({useStrictCSP:!0}),h(),b({getDeploymentId:()=>E(s.readRuntimeConfig())}),{name:"vite:lib-index",writeBundle:async()=>{if(!c.htmlFiles.length)return;let i="iife"===c.format?`${c.name}.iife.js`:`${c.name}.js`;for(let t of c.htmlFiles){if(c.main&&e.enableEditor&&"./index.html"===t)continue;let a=m("./.phoenix",t),s=m("./.phoenix/dist/frontend",t);await n(l(s),{recursive:!0});let f=(await r(a,"utf-8")).replace(c.mainScriptPath,i);await o(s,f,"utf-8")}}},O,x],build:{outDir:"./dist/frontend",chunkSizeWarningLimit:4e3,lib:{entry:c.entryFile,name:a(c.name),formats:[c.format],fileName:()=>"iife"===c.format?`${c.name}.iife.js`:`${c.name}.js`},rollupOptions:{external:[],output:{assetFileNames:`${c.name}.[ext]`}},minify:!0,emptyOutDir:!1},root:m(process.cwd(),"./.phoenix"),define:{"process.env":{},"process.env.NODE_ENV":JSON.stringify("production"),"phx.frontendEnv":JSON.stringify(f),"globalThis.PHX_SCHEMA_VALIDATOR":JSON.stringify(d.jsonSchemaValidator),"globalThis.PHX_GLTF_DECODER":JSON.stringify(d.gltfDecoder)}}));return e.enableEditor?[...v,{plugins:[t({babel:{plugins:[y]}}),i({configPath:g}),p({useStrictCSP:!0}),h(),O,x],build:{outDir:"./dist/frontend",chunkSizeWarningLimit:4e3,rollupOptions:{external:[]},minify:!0,emptyOutDir:!1},root:m(process.cwd(),"./.phoenix"),define:{"process.env":{},"process.env.NODE_ENV":JSON.stringify("production"),"phx.frontendEnv":JSON.stringify(f),"globalThis.PHX_SCHEMA_VALIDATOR":JSON.stringify(d.jsonSchemaValidator),"globalThis.PHX_GLTF_DECODER":JSON.stringify(d.gltfDecoder)}}]:v};
1
+ import{getConfig as e}from"@lingui/conf";import{lingui as i}from"@lingui/vite-plugin";import t from"@vitejs/plugin-react";import{mkdir as n,readFile as r,writeFile as o}from"fs/promises";import a from"lodash-es/camelCase.js";import{createHash as s}from"node:crypto";import{readFileSync as l,rmSync as m,writeFileSync as p}from"node:fs";import{createRequire as f}from"node:module";import{dirname as d,resolve as c}from"path";import{createLogger as g}from"vite";import u from"vite-plugin-css-injected-by-js";import{LINGUI_CONFIG_PATH as h}from"../lingui/index.js";import{isUsingLocalSdk as y}from"../utils/package-info.js";import{loadFrontendConfigModule as b}from"./frontend-config.js";import{phxBannerPlugin as S}from"./phx-banner-plugin.js";import{phxCspNoncePlugin as x}from"./phx-csp-nonce-plugin.js";import{phxGlobalIsolationPlugin as O}from"./phx-global-isolation-plugin.js";import{phxLicensesPlugin as D}from"./phx-licenses-plugin.js";import{phxVariantPreviewsPlugin as E}from"./phx-variant-previews-plugin.js";let v=null;export const setViteLogSink=(e,i={})=>{v={sink:e,echo:i.echo??!1}};let P=["react","react-dom","three","@react-three/fiber","@react-three/drei","@react-three/postprocessing","its-fine","@emotion/react","@emotion/styled","@mui/material","@mui/system","@tanstack/react-query","rxjs"],j=()=>{let t=l(h),n=s("sha256").update(t).digest("hex"),r=c(`${h}.${process.pid}.${n}.json`);try{return p(r,t),{macroPlugin:[f(import.meta.url).resolve("@lingui/babel-plugin-lingui-macro"),{linguiConfig:e({configPath:r})}],catalogPlugin:i({configPath:r})}}finally{m(r,{force:!0})}},C=e=>{let i=e.DEPLOYMENT_ID;if("string"!=typeof i)throw Error("DEPLOYMENT_ID is required in runtime config");return i};export const getViteDevConfig=async e=>{var i,n;let r,o,a=y(),s=b(),l=s.readRuntimeConfig(),m=s.frontendBuildConfig,p=j(),u=Object.fromEntries((e?.templateFiles??[]).map(e=>[e,`.phoenix/${e}`]));return{...v&&{customLogger:(i=v.sink,n=v.echo,r=g(),{get hasWarned(){return r.hasWarned},info:(e,t)=>{i("info",e),n&&r.info(e,t)},warn:(e,t)=>{i("warn",e),n&&r.warn(e,t)},warnOnce:(e,t)=>{i("warn",e),n&&r.warnOnce(e,t)},error:(e,t)=>{i("error",e),n&&r.error(e,t)},clearScreen:e=>{n&&r.clearScreen(e)},hasErrorLogged:e=>r.hasErrorLogged(e)}),...v.echo?{}:{clearScreen:!1}},mode:"development",optimizeDeps:{exclude:["@swc/wasm-web"],...a&&{entries:["index.html","admin.html",...e?.templateFiles??[]],force:!0}},...a&&{resolve:{alias:(o=f(c(process.cwd(),"package.json")),P.flatMap(e=>{try{let i=d(o.resolve(`${e}/package.json`));return[{find:RegExp(`^${e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(/|$)`),replacement:`${i}$1`}]}catch{return[]}}))}},plugins:[t({babel:{plugins:[p.macroPlugin]}}),p.catalogPlugin,{name:"vite:runtime-config",apply:(e,i)=>"build"===i.command||"development"===i.mode,config:e=>{let i=s.readRuntimeConfig(),t=s.frontendBuildConfig;return{...e,define:{...e.define,"phx.frontendEnv":JSON.stringify(i),"globalThis.PHX_SCHEMA_VALIDATOR":JSON.stringify(t.jsonSchemaValidator),"globalThis.PHX_GLTF_DECODER":JSON.stringify(t.gltfDecoder)}}}},O({getDeploymentId:()=>C(s.readRuntimeConfig())}),E()],define:{"process.env":{},"import.meta.env.DEV":!0,"import.meta.env.PROD":!1,"phx.frontendEnv":JSON.stringify(l),"globalThis.PHX_SCHEMA_VALIDATOR":JSON.stringify(m.jsonSchemaValidator),"globalThis.PHX_GLTF_DECODER":JSON.stringify(m.gltfDecoder)},build:{rollupOptions:{input:{index:".phoenix/index.html",admin:".phoenix/admin.html",...u}}},root:c(process.cwd(),"./.phoenix"),server:{watch:{ignored:["./**/*.{ts,tsx}","./.swc/**","../spec/**","../src/**"]}}}};export const getViteBuildConfigs=async e=>{let i=b(),s=i.readRuntimeConfig(),l=i.frontendBuildConfig,m=j(),p=D(),f=S({sdkVersion:e.sdkVersion,banner:e.banner}),g=[{name:"salsita-configurator",entryFile:"./configurator.ts",mainScriptPath:"./configurator.ts",htmlFiles:["./index.html",...{templateFiles:e.templateFiles}.templateFiles],main:!0,format:"iife"},{name:"salsita-admin",entryFile:"./admin.ts",mainScriptPath:"./admin.ts",htmlFiles:["./admin.html"],main:!1,format:"iife"},{name:"salsita-embedded-admin",entryFile:"./embedded-admin.ts",mainScriptPath:"./embedded-admin.ts",htmlFiles:[],main:!1,format:"es"},{name:"salsita-embedded-configurator",entryFile:"./embedded-configurator.ts",mainScriptPath:"./embedded-configurator.ts",htmlFiles:[],main:!1,format:"es"}].map(g=>({plugins:[t({babel:{plugins:[m.macroPlugin]}}),m.catalogPlugin,u({useStrictCSP:!0}),x(),O({getDeploymentId:()=>C(i.readRuntimeConfig())}),{name:"vite:lib-index",writeBundle:async()=>{if(!g.htmlFiles.length)return;let i="iife"===g.format?`${g.name}.iife.js`:`${g.name}.js`;for(let t of g.htmlFiles){if(g.main&&e.enableEditor&&"./index.html"===t)continue;let a=c("./.phoenix",t),s=c("./.phoenix/dist/frontend",t);await n(d(s),{recursive:!0});let l=(await r(a,"utf-8")).replace(g.mainScriptPath,i);await o(s,l,"utf-8")}}},p,f],build:{outDir:"./dist/frontend",chunkSizeWarningLimit:4e3,lib:{entry:g.entryFile,name:a(g.name),formats:[g.format],fileName:()=>"iife"===g.format?`${g.name}.iife.js`:`${g.name}.js`},rollupOptions:{external:[],output:{assetFileNames:`${g.name}.[ext]`}},minify:!0,emptyOutDir:!1},root:c(process.cwd(),"./.phoenix"),define:{"process.env":{},"process.env.NODE_ENV":JSON.stringify("production"),"phx.frontendEnv":JSON.stringify(s),"globalThis.PHX_SCHEMA_VALIDATOR":JSON.stringify(l.jsonSchemaValidator),"globalThis.PHX_GLTF_DECODER":JSON.stringify(l.gltfDecoder)}}));return e.enableEditor?[...g,{plugins:[t({babel:{plugins:[m.macroPlugin]}}),m.catalogPlugin,u({useStrictCSP:!0}),x(),p,f],build:{outDir:"./dist/frontend",chunkSizeWarningLimit:4e3,rollupOptions:{external:[]},minify:!0,emptyOutDir:!1},root:c(process.cwd(),"./.phoenix"),define:{"process.env":{},"process.env.NODE_ENV":JSON.stringify("production"),"phx.frontendEnv":JSON.stringify(s),"globalThis.PHX_SCHEMA_VALIDATOR":JSON.stringify(l.jsonSchemaValidator),"globalThis.PHX_GLTF_DECODER":JSON.stringify(l.gltfDecoder)}}]:g};
@@ -1 +1 @@
1
- import{createApiBaseClient as e}from"#package/client";import{getDevelopmentHeaders as t}from"../development-credential.js";let o=(e,t)=>({ok:!1,status:t.status,message:e.message});export const createWebhookTunnelTransport=({serverUrl:a,credential:n,projectSlug:l,environmentSlug:r})=>{let s=e(a),p=t(n,{projectSlug:l,environmentSlug:r});return{poll:async({deploymentId:e,sessionId:t,signal:a})=>{let{data:n,error:l,response:r}=await s.POST("/deployments/{deploymentId}/webhook-tunnel/poll",{params:{path:{deploymentId:e}},body:{sessionId:t},headers:p,signal:a});return l?o(l,r):{ok:!0,value:n?.request??null}},respond:async({deploymentId:e,sessionId:t,requestId:a,status:n,headers:l,body:r,signal:d})=>{let{error:m,response:u}=await s.POST("/deployments/{deploymentId}/webhook-tunnel/respond",{params:{path:{deploymentId:e}},body:{sessionId:t,requestId:a,status:n,headers:l,body:r},headers:p,signal:d});return m?o(m,u):{ok:!0,value:void 0}}}};
1
+ import{createApiBaseClient as e}from"#package/client";import{getDevelopmentHeaders as t}from"../development-credential.js";let n=(e,t)=>({ok:!1,status:t.status,message:e.message});export const createWebhookTunnelTransport=({serverUrl:o,credential:s,projectSlug:a,environmentSlug:r})=>{let l=e(o),d=t(s,{projectSlug:a,environmentSlug:r});return{poll:async({deploymentId:e,sessionId:t,signal:o})=>{let{data:s,error:a,response:r}=await l.POST("/deployments/{deploymentId}/webhook-tunnel/poll",{params:{path:{deploymentId:e}},body:{sessionId:t,acceptResponseEncoding:"gzip"},headers:d,signal:o});return a?n(a,r):{ok:!0,value:s?.request??null}},respond:async({deploymentId:e,sessionId:t,requestId:o,status:s,headers:a,body:r,isBase64Encoded:p,signal:u})=>{let i={sessionId:t,requestId:o,status:s,headers:a,body:r,isBase64Encoded:p};if(Buffer.byteLength(JSON.stringify(i),"utf8")>5242880)return{ok:!1,status:413,message:"Webhook tunnel response exceeds the 5 MiB encoded request limit. Reduce the backend data and retry."};let{error:m,response:c}=await l.POST("/deployments/{deploymentId}/webhook-tunnel/respond",{params:{path:{deploymentId:e}},body:i,headers:d,signal:u});return m?n(m,c):{ok:!0,value:void 0}}}};
@@ -46,6 +46,7 @@ export interface TunnelRespondRequest {
46
46
  readonly status: number;
47
47
  readonly headers?: Readonly<Record<string, string>>;
48
48
  readonly body: string;
49
+ readonly isBase64Encoded?: boolean;
49
50
  readonly signal: AbortSignal;
50
51
  }
51
52
  /** Server boundary used by the package-independent tunnel lifecycle. */
@@ -1 +1 @@
1
- import{execute as e,getLogger as t,webhookLogContext as r}from"../../webhooks/index.js";export class TunnelTerminalError extends Error{kind;constructor(e,t){super(t),this.kind=e}}let n=async e=>{e.aborted||await new Promise(t=>{let r=()=>{clearTimeout(n),t()},n=setTimeout(()=>{e.removeEventListener("abort",r),t()},5e3);e.addEventListener("abort",r,{once:!0})})},o=e=>new URL(e.url,"http://webhook-tunnel.invalid").searchParams.get("o")??"finalize",s=async(t,n,o)=>{if(o.aborted)return null;let s=()=>void 0,a=new Promise(e=>{(s=()=>e(null),o.aborted)?s():o.addEventListener("abort",s,{once:!0})}),i=(async()=>{try{var o,s;let a=await r.run("webhook",()=>{let r;return e({lambdaPath:n.bundle,lambdaHandler:n.handler,esm:!1,event:(r=new URL(t.url,"http://webhook-tunnel.invalid"),{version:"2.0",routeKey:"$default",rawPath:r.pathname,rawQueryString:r.search,cookies:[],headers:t.headers,queryStringParameters:Object.fromEntries(r.searchParams),requestContext:{accountId:"123456789012",apiId:"api-id",authentication:{},authorizer:{},http:{method:t.method,path:r.pathname,protocol:"HTTP/1.1",sourceIp:"127.0.0.1",userAgent:"phoenix-webhook-tunnel"},requestId:t.requestId,routeKey:"$default",stage:"$default",time:new Date().toISOString(),timeEpoch:Date.now()},body:t.body??void 0,isBase64Encoded:!1}),verboseLevel:n.verbosity??0,timeoutMs:6e4})});if((o=a)&&"object"==typeof o&&"statusCode"in o&&"number"==typeof o.statusCode&&(!("headers"in o)||void 0===o.headers||(s=o.headers)&&"object"==typeof s&&Object.values(s).every(e=>"string"==typeof e)))return{status:a.statusCode,headers:a.headers,body:"string"==typeof a.body?a.body:JSON.stringify(a.body??""),error:null};return{status:200,body:JSON.stringify(a)??"",error:null}}catch(t){let e=t instanceof Error?t.message:String(t);return{status:500,body:JSON.stringify({message:e}),error:e}}})(),l=await Promise.race([i,a]);return o.removeEventListener("abort",s),l};export const startTunnel=e=>{let{transport:r,rejectionHint:a,environmentSlug:i,deploymentId:l,sessionId:d,pollLoops:u=2,onStatus:c,onRequest:h}=e,m=t(),f=new AbortController,p=!1,y=!1,w=!1,b=0,g=null,v=null,$=[],k=new Set,T=e=>void 0,q=new Promise((e,t)=>{T=t}),E=(e,t)=>{m.log(e,t)},I=(e,t)=>{try{c?.(e,t)}catch{}},S=e=>{try{h?.(e)}catch{}},P=e=>(g||(g=e,p=!0,f.abort(),E("error",e.message),I("conflict"===e.kind?"conflict":"error",e.message)),g),x=e=>{w=!0,E("warn",e),I("error",e)},W=()=>new TunnelTerminalError("conflict",`Webhook tunnel for environment ${i} (deployment ${l}) is owned by another phoenix dev session. Stop the other session and restart.`),R=e=>new TunnelTerminalError("rejected",`${e} ${a}`),D=async(e,t)=>{for(;!p;){try{let n=await r.respond({deploymentId:l,sessionId:d,requestId:e.requestId,status:t.status,headers:t.headers,body:t.body,signal:f.signal});if(n.ok)return;if(403===n.status)throw P(W());if(404===n.status)throw P(new TunnelTerminalError("stale",n.message));if(n.status<500)throw P(R(n.message));x(`Webhook tunnel response could not reach the server: ${n.message} Retrying in 5 seconds.`)}catch(e){if(e instanceof TunnelTerminalError)throw e;if(p)return;x(`Webhook tunnel response could not reach the server: ${e instanceof Error?e.message:String(e)} Retrying in 5 seconds.`)}await n(f.signal)}},L=e=>{let t=o(e),r=Date.now();w&&(b+=1),E("warn",`Tunneled ${t} request ${e.requestId} skipped because its deadline expired.`),S({requestId:e.requestId,operation:t,method:e.method,url:e.url,startedAt:r,durationMs:0,outcome:"skipped-expired",responseStatus:null,requestBody:e.body,responseBody:null,error:"Request deadline expired before phoenix dev picked it up."})},j=async t=>{let r=o(t),n=Date.now(),a=await s(t,e,f.signal);if(!a)return;let i=Date.now()-n,l=a.error?"failed":"served";E(a.error?"warn":"info",`Tunneled ${r} request ${t.requestId} ${l} in ${i}ms (status ${a.status}).`),S({requestId:t.requestId,operation:r,method:t.method,url:t.url,startedAt:n,durationMs:i,outcome:l,responseStatus:a.status,requestBody:t.body,responseBody:a.body,error:a.error}),await D(t,a)},O=()=>{for(;!p&&k.size<u;){let e=$.shift();if(!e)return;if(e.deadline<Date.now()){L(e);continue}let t=j(e);k.add(t),t.then(()=>{k.delete(t),O()},e=>{k.delete(t),T(e)})}},B=async e=>{let t=0;for(;!p;)try{let o=await r.poll({deploymentId:l,sessionId:d,signal:f.signal});if(!o.ok){if(409===o.status){if(y||t>=3)throw P(W());t+=1,0===e&&E("warn",`Webhook tunnel for environment ${i} is already claimed. Retrying in 5 seconds (${t}/3).`)}else if(403===o.status)throw P(R(o.message));else if(404===o.status)throw P(new TunnelTerminalError("stale",o.message));else if(o.status<500)throw P(R(o.message));else x(`Webhook tunnel poll failed: ${o.message} Retrying in 5 seconds.`);await n(f.signal);continue}t=0;let s=o.value,a=!!s&&s.deadline<Date.now();s&&a&&L(s),y||(y=!0,E("info",`Webhook tunnel connected for environment ${i} (deployment ${l}, session ${d}).`)),w&&(E("info",`Webhook tunnel reconnected${b>0?`; ${b} queued request(s) expired and were skipped during the interruption.`:"."}`),w=!1,b=0),I("connected"),s&&!a&&($.push(s),O())}catch(e){if(e instanceof TunnelTerminalError)throw e;if(p)return;x(`Webhook tunnel poll could not reach the server: ${e instanceof Error?e.message:String(e)} Retrying in 5 seconds.`),await n(f.signal)}};I("waiting");let C=Promise.race([Promise.all(Array.from({length:u},(e,t)=>B(t))).then(async()=>{await Promise.all(k)}),q]);return{sessionId:d,stop:()=>v||(p=!0,f.abort(),E("info",`Webhook tunnel stopped for environment ${i} (deployment ${l}).`),I("stopped"),v=C.catch(e=>{if(!(e instanceof TunnelTerminalError))throw e})),stopped:C}};
1
+ import{execute as e,getLogger as t,webhookLogContext as r}from"../../webhooks/index.js";export class TunnelTerminalError extends Error{kind;constructor(e,t){super(t),this.kind=e}}let n=async e=>{e.aborted||await new Promise(t=>{let r=()=>{clearTimeout(n),t()},n=setTimeout(()=>{e.removeEventListener("abort",r),t()},5e3);e.addEventListener("abort",r,{once:!0})})},o=e=>new URL(e.url,"http://webhook-tunnel.invalid").searchParams.get("o")??"finalize",s=async(t,n,o)=>{if(o.aborted)return null;let s=()=>void 0,a=new Promise(e=>{(s=()=>e(null),o.aborted)?s():o.addEventListener("abort",s,{once:!0})}),i=(async()=>{try{var o,s;let a=await r.run("webhook",()=>{let r;return e({lambdaPath:n.bundle,lambdaHandler:n.handler,esm:!1,event:(r=new URL(t.url,"http://webhook-tunnel.invalid"),{version:"2.0",routeKey:"$default",rawPath:r.pathname,rawQueryString:r.search,cookies:[],headers:t.headers,queryStringParameters:Object.fromEntries(r.searchParams),requestContext:{accountId:"123456789012",apiId:"api-id",authentication:{},authorizer:{},http:{method:t.method,path:r.pathname,protocol:"HTTP/1.1",sourceIp:"127.0.0.1",userAgent:"phoenix-webhook-tunnel"},requestId:t.requestId,routeKey:"$default",stage:"$default",time:new Date().toISOString(),timeEpoch:Date.now()},body:t.body??void 0,isBase64Encoded:!1}),verboseLevel:n.verbosity??0,timeoutMs:6e4})});if((o=a)&&"object"==typeof o&&"statusCode"in o&&"number"==typeof o.statusCode&&(!("headers"in o)||void 0===o.headers||(s=o.headers)&&"object"==typeof s&&Object.values(s).every(e=>"string"==typeof e)))return{status:a.statusCode,...void 0!==a.isBase64Encoded&&{isBase64Encoded:a.isBase64Encoded},headers:a.headers,body:"string"==typeof a.body?a.body:JSON.stringify(a.body??""),error:null};return{status:200,body:JSON.stringify(a)??"",error:null}}catch(t){let e=t instanceof Error?t.message:String(t);return{status:500,body:JSON.stringify({message:e}),error:e}}})(),d=await Promise.race([i,a]);return o.removeEventListener("abort",s),d};export const startTunnel=e=>{let{transport:r,rejectionHint:a,environmentSlug:i,deploymentId:d,sessionId:l,pollLoops:u=2,onStatus:c,onRequest:h}=e,m=t(),f=new AbortController,y=!1,p=!1,w=!1,b=0,g=null,v=null,$=[],E=new Set,T=e=>void 0,k=new Promise((e,t)=>{T=t}),q=(e,t)=>{m.log(e,t)},B=(e,t)=>{try{c?.(e,t)}catch{}},I=e=>{try{h?.(e)}catch{}},S=e=>(g||(g=e,y=!0,f.abort(),q("error",e.message),B("conflict"===e.kind?"conflict":"error",e.message)),g),P=e=>{w=!0,q("warn",e),B("error",e)},x=()=>new TunnelTerminalError("conflict",`Webhook tunnel for environment ${i} (deployment ${d}) is owned by another phoenix dev session. Stop the other session and restart.`),W=e=>new TunnelTerminalError("rejected",`${e} ${a}`),L=async(e,t)=>{for(;!y;){try{let n=await r.respond({deploymentId:d,sessionId:l,requestId:e.requestId,status:t.status,headers:t.headers,body:t.body,...void 0!==t.isBase64Encoded&&{isBase64Encoded:t.isBase64Encoded},signal:f.signal});if(n.ok)return;if(413===n.status)throw S(new TunnelTerminalError("rejected",n.message));if(403===n.status)throw S(x());if(404===n.status)throw S(new TunnelTerminalError("stale",n.message));if(n.status<500)throw S(W(n.message));P(`Webhook tunnel response could not reach the server: ${n.message} Retrying in 5 seconds.`)}catch(e){if(e instanceof TunnelTerminalError)throw e;if(y)return;P(`Webhook tunnel response could not reach the server: ${e instanceof Error?e.message:String(e)} Retrying in 5 seconds.`)}await n(f.signal)}},R=e=>{let t=o(e),r=Date.now();w&&(b+=1),q("warn",`Tunneled ${t} request ${e.requestId} skipped because its deadline expired.`),I({requestId:e.requestId,operation:t,method:e.method,url:e.url,startedAt:r,durationMs:0,outcome:"skipped-expired",responseStatus:null,requestBody:e.body,responseBody:null,error:"Request deadline expired before phoenix dev picked it up."})},j=async t=>{let r=o(t),n=Date.now(),a=await s(t,e,f.signal);if(!a)return;let i=Date.now()-n,d=a.error?"failed":"served";q(a.error?"warn":"info",`Tunneled ${r} request ${t.requestId} ${d} in ${i}ms (status ${a.status}).`),I({requestId:t.requestId,operation:r,method:t.method,url:t.url,startedAt:n,durationMs:i,outcome:d,responseStatus:a.status,requestBody:t.body,responseBody:a.isBase64Encoded?`[Binary response omitted: ${Buffer.byteLength(a.body,"utf8")} encoded bytes]`:a.body,error:a.error}),await L(t,a)},D=()=>{for(;!y&&E.size<u;){let e=$.shift();if(!e)return;if(e.deadline<Date.now()){R(e);continue}let t=j(e);E.add(t),t.then(()=>{E.delete(t),D()},e=>{E.delete(t),T(e)})}},O=async e=>{let t=0;for(;!y;)try{let o=await r.poll({deploymentId:d,sessionId:l,signal:f.signal});if(!o.ok){if(409===o.status){if(p||t>=3)throw S(x());t+=1,0===e&&q("warn",`Webhook tunnel for environment ${i} is already claimed. Retrying in 5 seconds (${t}/3).`)}else if(403===o.status)throw S(W(o.message));else if(404===o.status)throw S(new TunnelTerminalError("stale",o.message));else if(o.status<500)throw S(W(o.message));else P(`Webhook tunnel poll failed: ${o.message} Retrying in 5 seconds.`);await n(f.signal);continue}t=0;let s=o.value,a=!!s&&s.deadline<Date.now();s&&a&&R(s),p||(p=!0,q("info",`Webhook tunnel connected for environment ${i} (deployment ${d}, session ${l}).`)),w&&(q("info",`Webhook tunnel reconnected${b>0?`; ${b} queued request(s) expired and were skipped during the interruption.`:"."}`),w=!1,b=0),B("connected"),s&&!a&&($.push(s),D())}catch(e){if(e instanceof TunnelTerminalError)throw e;if(y)return;P(`Webhook tunnel poll could not reach the server: ${e instanceof Error?e.message:String(e)} Retrying in 5 seconds.`),await n(f.signal)}};B("waiting");let C=Promise.race([Promise.all(Array.from({length:u},(e,t)=>O(t))).then(async()=>{await Promise.all(E)}),k]);return{sessionId:l,stop:()=>v||(y=!0,f.abort(),q("info",`Webhook tunnel stopped for environment ${i} (deployment ${d}).`),B("stopped"),v=C.catch(e=>{if(!(e instanceof TunnelTerminalError))throw e})),stopped:C}};
@@ -17,5 +17,5 @@ export declare const CommonAnalyticsFactory: {
17
17
  Initialized: typeof Initialized;
18
18
  ConfigurationLoaded: typeof ConfigurationLoaded;
19
19
  };
20
- export declare const initializeAnalyticsService: (config: AnyApplicationConfig, logger: Logger, isDev: boolean) => AnalyticsSystem;
20
+ export declare const initializeAnalyticsService: (config: Pick<AnyApplicationConfig, 'services' | 'defaultEnvs'>, logger: Logger, isDev: boolean) => AnalyticsSystem;
21
21
  export {};
@@ -28,6 +28,10 @@ export declare const FrontendAnalyticsFactory: {
28
28
  FinalizeButtonClicked: typeof FinalizeButtonClicked;
29
29
  SummaryButtonClicked: typeof SummaryButtonClicked;
30
30
  TopNavigationStepClicked: typeof TopNavigationStepClicked;
31
+ /**
32
+ * @deprecated The SDK never pushes this event: a click on a horizontal tab pushes `TopNavigationStepClicked`.
33
+ * Use `TopNavigationStepClicked` instead. This API will be removed in the breaking release before v1.
34
+ */
31
35
  HorizontalTabClicked: typeof HorizontalTabClicked;
32
36
  GoToProductsClicked: typeof GoToProductsClicked;
33
37
  ProductSelected: typeof ProductSelected;
@@ -2,6 +2,6 @@ import type { I18n } from '@lingui/core';
2
2
  import { QueryClient } from '@tanstack/react-query';
3
3
  import { type Logger } from '@salsita-ai/common/utils';
4
4
  import type { AnyApplicationConfig } from '#package/domain';
5
- export declare const initializeLogger: (config: AnyApplicationConfig, isDev: boolean) => Logger;
6
- export declare const initializeI18n: (config: AnyApplicationConfig) => I18n;
5
+ export declare const initializeLogger: (config: Pick<AnyApplicationConfig, 'services' | 'defaultEnvs' | 'version'>, isDev: boolean) => Logger;
6
+ export declare const initializeI18n: (config: Pick<AnyApplicationConfig, 'services'>) => I18n;
7
7
  export declare const createQueryClient: (logger: Logger) => QueryClient;
@@ -29,7 +29,7 @@ export interface SendVoiceMessageParams<CHAT_CONTEXT extends Record<string, unkn
29
29
  * Runtime chat service consumed only by the legacy configurator chat UI. Its user-facing consumers
30
30
  * live under `configurator/ui/legacy/`: `Chat` is reached through `MobileChat`, `TabsSidebar`,
31
31
  * `StepsSideBar`, and `SimpleSidebar`, with availability gated by
32
- * `configurator/configurator-context/configurator-hooks/chat-hooks.ts`.
32
+ * `react-sdk/domain-application-context/chat-hooks.ts`.
33
33
  *
34
34
  * `sendMessage` deliberately retains a known reinitialization race. Its `ChunkType.calls`
35
35
  * continuation does not recheck the captured generation after `processToolCalls` before publishing
@@ -22,3 +22,5 @@ export * from './use-domain-application.js';
22
22
  export * from './use-web-component.js';
23
23
  export * from './use-web-component-readonly-sync.js';
24
24
  export * from './data/index.js';
25
+ export * from './loading/index.js';
26
+ export * from './responsive/index.js';
@@ -1 +1 @@
1
- export*from"./use-application-runtime-selector.js";export{AccessServiceProvider,useAccessInfoActions,useAccessService,useAdminRawAccessService,useAdminRawAccessInfo,useConfigurationId,useConfiguratorRawAccessService,useConfiguratorRawAccessInfo,useProvidedAccessService}from"./use-access-service.js";export*from"./use-logger.js";export*from"./use-analytics-service.js";export*from"./use-application-query-client.js";export*from"./use-i18n.js";export*from"./use-spec.js";export*from"./use-environment.js";export*from"./use-overrides.js";export*from"./use-domain-application-props.js";export*from"./use-resource-url.js";export*from"./use-integration.js";export*from"./use-routing.js";export*from"./use-loaded-data.js";export*from"./use-domain-data.js";export*from"./use-session.js";export*from"./use-authorized-client.js";export*from"./use-authenticated-client.js";export*from"./use-phoenix-element-slots.js";export*from"./use-phoenix-handler-slots.js";export*from"./use-domain-application.js";export*from"./use-web-component.js";export*from"./use-web-component-readonly-sync.js";export*from"./data/index.js";
1
+ export*from"./use-application-runtime-selector.js";export{AccessServiceProvider,useAccessInfoActions,useAccessService,useAdminRawAccessService,useAdminRawAccessInfo,useConfigurationId,useConfiguratorRawAccessService,useConfiguratorRawAccessInfo,useProvidedAccessService}from"./use-access-service.js";export*from"./use-logger.js";export*from"./use-analytics-service.js";export*from"./use-application-query-client.js";export*from"./use-i18n.js";export*from"./use-spec.js";export*from"./use-environment.js";export*from"./use-overrides.js";export*from"./use-domain-application-props.js";export*from"./use-resource-url.js";export*from"./use-integration.js";export*from"./use-routing.js";export*from"./use-loaded-data.js";export*from"./use-domain-data.js";export*from"./use-session.js";export*from"./use-authorized-client.js";export*from"./use-authenticated-client.js";export*from"./use-phoenix-element-slots.js";export*from"./use-phoenix-handler-slots.js";export*from"./use-domain-application.js";export*from"./use-web-component.js";export*from"./use-web-component-readonly-sync.js";export*from"./data/index.js";export*from"./loading/index.js";export*from"./responsive/index.js";
@@ -0,0 +1,5 @@
1
+ export { LoaderHostContext } from './loader-host-context.js';
2
+ export { useIsAwaitingLoadingPhase } from './use-is-awaiting-loading-phase.js';
3
+ export { useIsLoaderHosted } from './use-is-loader-hosted.js';
4
+ export { useLoadingActions } from './use-loading-actions.js';
5
+ export { useLoadingApplication } from './use-loading-application.js';
@@ -0,0 +1 @@
1
+ export{LoaderHostContext}from"./loader-host-context.js";export{useIsAwaitingLoadingPhase}from"./use-is-awaiting-loading-phase.js";export{useIsLoaderHosted}from"./use-is-loader-hosted.js";export{useLoadingActions}from"./use-loading-actions.js";export{useLoadingApplication}from"./use-loading-application.js";
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Whether a component is mounted below the application's `LoaderHost`, which provides `true`. It is
3
+ * `false` everywhere else, as in the admin, which hosts no loader.
4
+ *
5
+ * It is a fact about the React tree, so it is a context and not part of the runtime's `loading`
6
+ * slice. It lives beside the hooks that read it rather than beside `LoaderHost`, because
7
+ * `loading-state/` imports from this folder and never the other way.
8
+ *
9
+ * @internal Runtime plumbing for the SDK's own UI.
10
+ */
11
+ export declare const LoaderHostContext: import("react").Context<boolean>;
@@ -0,0 +1 @@
1
+ import{createContext as o}from"react";export const LoaderHostContext=o(!1);
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Whether the application this component is mounted in expects the loading phase `id` and that
3
+ * phase has not started since its loader host mounted. The loader stays up across that gap.
4
+ * `false` outside a loader host.
5
+ *
6
+ * @internal Runtime plumbing for the SDK's own UI.
7
+ */
8
+ export declare const useIsAwaitingLoadingPhase: (id: string) => boolean;
@@ -0,0 +1 @@
1
+ import{useCallback as e}from"react";import{useApplicationRuntimeSelector as o}from"../use-application-runtime-selector.js";import{useIsLoaderHosted as t}from"./use-is-loader-hosted.js";import{useLoadingApplication as s}from"./use-loading-application.js";export const useIsAwaitingLoadingPhase=i=>{let r=s(),a=t(),m=o(e(()=>r?.selectors.getIsAwaitingPhase(i)??!1,[r,i]));return a&&m};
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Whether this component is mounted below the application's `LoaderHost`. Without one, the SDK's
3
+ * own UI shows its inline loaders, as the admin does.
4
+ *
5
+ * @internal Runtime plumbing for the SDK's own UI.
6
+ */
7
+ export declare const useIsLoaderHosted: () => boolean;
@@ -0,0 +1 @@
1
+ import{useContext as o}from"react";import{LoaderHostContext as t}from"./loader-host-context.js";export const useIsLoaderHosted=()=>o(t);
@@ -0,0 +1,9 @@
1
+ import type { LoadingActions } from '../../loading/index.js';
2
+ /**
3
+ * The loading actions of the application this component is mounted in, or `null` outside its
4
+ * loader host, so that nothing reports phases no loader shows. Stable while the host stays mounted.
5
+ *
6
+ * @internal Runtime plumbing for the SDK's own UI. A project reports a phase with
7
+ * `phx.frontend.useLoadingState()`.
8
+ */
9
+ export declare const useLoadingActions: () => LoadingActions | null;
@@ -0,0 +1 @@
1
+ import{useIsLoaderHosted as o}from"./use-is-loader-hosted.js";import{useLoadingApplication as s}from"./use-loading-application.js";export const useLoadingActions=()=>{let t=s(),i=o();return null!==t&&i?t.actions:null};
@@ -0,0 +1,24 @@
1
+ /**
2
+ * The selectors and actions of the loading state of the application this component is mounted in,
3
+ * chosen by its `ApplicationTypeProvider` as the domain context hooks choose theirs. `null` outside
4
+ * an `ApplicationRuntimeProvider` or an `ApplicationTypeProvider`: the session and data providers also run in trees without one, where
5
+ * no loader is hosted.
6
+ *
7
+ * @internal Runtime plumbing for the SDK's own UI.
8
+ */
9
+ export declare const useLoadingApplication: () => {
10
+ selectors: {
11
+ selectLoadingState: import("@salsita-ai/common/utils").Selector<import("../../loading/selectors.js").LoadingSelectorState, import("../../index.js").LoadingState>;
12
+ getLoadingState: () => import("../../index.js").LoadingState;
13
+ getIsAwaitingPhase: (id: string) => boolean;
14
+ };
15
+ actions: {
16
+ startPhase: (phase: import("../../index.js").LoadingPhase) => void;
17
+ endPhase: (id: string) => void;
18
+ reportError: () => void;
19
+ clearError: () => void;
20
+ expectPhase: (id: string) => void;
21
+ dropExpectation: (id: string) => void;
22
+ resetSlot: () => void;
23
+ };
24
+ } | null;
@@ -0,0 +1 @@
1
+ import{useMemo as o}from"react";import{useOptionalApplicationRuntime as i,useOptionalApplicationType as n}from"../../provider/index.js";import{ApplicationType as r}from"../../runtime/index.js";export const useLoadingApplication=()=>{let t=i(),e=n();return o(()=>null===t||null===e?null:e===r.Admin?{selectors:t.selectors.loading.admin,actions:t.actions.loading.admin}:{selectors:t.selectors.loading.configurator,actions:t.actions.loading.configurator},[t,e])};