@salsita-ai/sdk 0.50.0-develop.c28cfb7ded → 0.50.0-develop.d0eaeed131

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 (378) hide show
  1. package/README.md +19 -14
  2. package/dist/admin/default-admin-elements.d.ts +9 -0
  3. package/dist/admin/default-admin-elements.js +1 -0
  4. package/dist/admin/default-elements/built-in-entity-element.d.ts +10 -0
  5. package/dist/admin/default-elements/built-in-entity-element.js +1 -0
  6. package/dist/admin/default-elements/built-in-layout-element.d.ts +10 -0
  7. package/dist/admin/default-elements/built-in-layout-element.js +1 -0
  8. package/dist/admin/default-elements/index.d.ts +2 -0
  9. package/dist/admin/default-elements/index.js +1 -0
  10. package/dist/admin/index.d.ts +1 -0
  11. package/dist/admin/index.js +1 -1
  12. package/dist/application-spec/caching/content-diff.js +1 -1
  13. package/dist/application-spec/core/application-file.d.ts +0 -2
  14. package/dist/application-spec/core/application-file.js +1 -1
  15. package/dist/application-spec/errors/diagnostic-codes.d.ts +5 -0
  16. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  17. package/dist/application-spec/errors/diagnostic-messages.d.ts +5 -0
  18. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  19. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  20. package/dist/application-spec/generate-application/code/generate-application-code.d.ts +3 -2
  21. package/dist/application-spec/generate-application/code/generate-application-code.js +1 -1
  22. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +15 -14
  23. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  24. package/dist/application-spec/generate-application/code/templates/admin-config.js +3 -0
  25. package/dist/application-spec/generate-application/code/templates/common/format-property-key.d.ts +7 -0
  26. package/dist/application-spec/generate-application/code/templates/common/format-property-key.js +1 -0
  27. package/dist/application-spec/generate-application/code/templates/common/schema-to-type-string.js +3 -3
  28. package/dist/application-spec/generate-application/code/templates/eslint-config.d.ts +5 -0
  29. package/dist/application-spec/generate-application/code/templates/eslint-config.js +4 -5
  30. package/dist/application-spec/generate-application/code/templates/frontend-config.js +3 -5
  31. package/dist/application-spec/generate-application/code/templates/gitignore.js +0 -3
  32. package/dist/application-spec/generate-application/code/templates/globals.js +7 -5
  33. package/dist/application-spec/generate-application/code/templates/index.d.ts +3 -2
  34. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  35. package/dist/application-spec/generate-application/code/templates/lingui-rc.d.ts +5 -0
  36. package/dist/application-spec/generate-application/code/templates/lingui-rc.js +4 -4
  37. package/dist/application-spec/generate-application/code/templates/prettier-config.d.ts +5 -0
  38. package/dist/application-spec/generate-application/code/templates/prettier-config.js +4 -5
  39. package/dist/application-spec/generate-application/code/templates/root-tsconfig.d.ts +6 -0
  40. package/dist/application-spec/generate-application/code/templates/root-tsconfig.js +2 -0
  41. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  42. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +1 -1
  43. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +5 -5
  44. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +3 -3
  45. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  46. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +2 -2
  47. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +16 -4
  48. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +2 -2
  49. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.d.ts +58 -0
  50. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.js +1 -0
  51. package/dist/application-spec/generate-application/code/templates/spec-code/index.d.ts +2 -0
  52. package/dist/application-spec/generate-application/code/templates/spec-code/index.js +1 -0
  53. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.d.ts +18 -0
  54. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.js +41 -0
  55. package/dist/application-spec/generate-application/code/templates/spec-messages/index.d.ts +1 -0
  56. package/dist/application-spec/generate-application/code/templates/spec-messages/index.js +1 -0
  57. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.d.ts +20 -0
  58. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.js +6 -0
  59. package/dist/application-spec/generate-application/code/templates/tsconfig.d.ts +5 -0
  60. package/dist/application-spec/generate-application/code/templates/tsconfig.js +1 -1
  61. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -3
  62. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.d.ts +4 -3
  63. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +2 -2
  64. package/dist/application-spec/generate-application/runtime/admin-runtime/states-runtime.d.ts +2 -2
  65. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +6 -5
  66. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.d.ts +4 -3
  67. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +2 -2
  68. package/dist/application-spec/generate-application/runtime/configurator-runtime/states-runtime.d.ts +2 -2
  69. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.d.ts +2 -2
  70. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +2 -2
  71. package/dist/application-spec/generate-application/runtime/sections/data-runtime.d.ts +4 -4
  72. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.d.ts +3 -2
  73. package/dist/application-spec/generate-application/runtime/sections/theme-runtime.d.ts +2 -2
  74. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +3 -3
  75. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.d.ts +9 -0
  76. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.js +1 -0
  77. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.d.ts +8 -0
  78. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.js +1 -0
  79. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.d.ts +27 -0
  80. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.js +1 -0
  81. package/dist/application-spec/generate-application/runtime-spec/index.d.ts +5 -0
  82. package/dist/application-spec/generate-application/runtime-spec/index.js +1 -0
  83. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +68 -0
  84. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.js +1 -0
  85. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.d.ts +40 -0
  86. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.js +1 -0
  87. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +28 -0
  88. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  89. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.d.ts +16 -0
  90. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.js +9 -0
  91. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.d.ts +9 -0
  92. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.js +1 -0
  93. package/dist/application-spec/parse-application-files/raw-spec/parse-yaml-spec-file.js +1 -1
  94. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  95. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  96. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  97. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  98. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.d.ts +3 -0
  99. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.js +1 -0
  100. package/dist/application-spec/parse-application-files/spec/common/value-type/index.d.ts +5 -0
  101. package/dist/application-spec/parse-application-files/spec/common/value-type/index.js +1 -0
  102. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.d.ts +6 -0
  103. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.js +1 -0
  104. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.d.ts +8 -0
  105. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.js +1 -0
  106. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.d.ts +10 -0
  107. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.js +1 -0
  108. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.d.ts +98 -0
  109. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.js +1 -0
  110. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.d.ts +13 -0
  111. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.js +1 -0
  112. package/dist/application-spec/parse-application-files/spec/components/bindings/index.d.ts +2 -0
  113. package/dist/application-spec/parse-application-files/spec/components/bindings/index.js +1 -1
  114. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.d.ts +24 -0
  115. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.js +1 -0
  116. package/dist/application-spec/parse-application-files/spec/components/component-state-type.d.ts +8 -0
  117. package/dist/application-spec/parse-application-files/spec/components/component-state-type.js +1 -0
  118. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.d.ts +13 -0
  119. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.js +1 -0
  120. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.d.ts +14 -0
  121. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.js +1 -0
  122. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +6 -0
  123. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  124. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +7 -4
  125. package/dist/application-spec/parse-application-files/spec/components/user-components.js +1 -1
  126. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +24 -0
  127. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.js +1 -0
  128. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.d.ts +13 -0
  129. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.js +1 -0
  130. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.d.ts +9 -0
  131. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.js +1 -0
  132. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +6 -2
  133. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  134. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +3 -1
  135. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  136. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +2 -2
  137. package/dist/application-spec/parse-application-files/spec/invariants/invariants.js +1 -1
  138. package/dist/application-spec/parse-application-files/spec/model/index.d.ts +1 -0
  139. package/dist/application-spec/parse-application-files/spec/model/index.js +1 -1
  140. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.d.ts +10 -0
  141. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.js +1 -0
  142. package/dist/client/phoenix-api.d.ts +367 -0
  143. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +7 -1
  144. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  145. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +3 -2
  146. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  147. package/dist/configurator/pages/default-configurator-elements.d.ts +2 -1
  148. package/dist/configurator/pages/default-configurator-elements.js +1 -1
  149. package/dist/configurator/pages/default-elements/built-in-entity-element.d.ts +10 -0
  150. package/dist/configurator/pages/default-elements/built-in-entity-element.js +1 -0
  151. package/dist/configurator/pages/default-elements/built-in-layout-element.d.ts +10 -0
  152. package/dist/configurator/pages/default-elements/built-in-layout-element.js +1 -0
  153. package/dist/configurator/pages/default-elements/domain-control-elements.d.ts +6 -0
  154. package/dist/configurator/pages/default-elements/domain-control-elements.js +1 -0
  155. package/dist/configurator/pages/default-elements/index.d.ts +4 -0
  156. package/dist/configurator/pages/default-elements/index.js +1 -0
  157. package/dist/configurator/pages/default-elements/recipe-panel-elements.d.ts +3 -0
  158. package/dist/configurator/pages/default-elements/recipe-panel-elements.js +1 -0
  159. package/dist/configurator/pages/default-elements/sidebar-footer-elements.d.ts +7 -0
  160. package/dist/configurator/pages/default-elements/sidebar-footer-elements.js +1 -0
  161. package/dist/configurator/pages/default-elements/toolbar-elements.d.ts +7 -0
  162. package/dist/configurator/pages/default-elements/toolbar-elements.js +1 -0
  163. package/dist/configurator/ui/SaveMessageSnackbars.d.ts +10 -0
  164. package/dist/configurator/ui/SaveMessageSnackbars.js +1 -0
  165. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +7 -2
  166. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  167. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -1
  168. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  169. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +1 -1
  170. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -1
  171. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +1 -1
  172. package/dist/configurator/ui/assistant/entity-link/index.d.ts +0 -1
  173. package/dist/configurator/ui/assistant/entity-link/index.js +1 -1
  174. package/dist/configurator/ui/assistant/form/AssistantForm.d.ts +19 -0
  175. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -0
  176. package/dist/configurator/ui/assistant/form/built-in-form-registry.d.ts +10 -0
  177. package/dist/configurator/ui/assistant/form/built-in-form-registry.js +1 -0
  178. package/dist/configurator/ui/assistant/form/compose-answer.d.ts +11 -0
  179. package/dist/configurator/ui/assistant/form/compose-answer.js +1 -0
  180. package/dist/configurator/ui/assistant/form/describe-build-errors.d.ts +6 -0
  181. package/dist/configurator/ui/assistant/form/describe-build-errors.js +1 -0
  182. package/dist/configurator/ui/assistant/form/form-element-definition.d.ts +14 -0
  183. package/dist/configurator/ui/assistant/form/form-element-definition.js +1 -0
  184. package/dist/configurator/ui/assistant/form/form-model.d.ts +38 -0
  185. package/dist/configurator/ui/assistant/form/form-model.js +1 -0
  186. package/dist/configurator/ui/assistant/form/form-registry.d.ts +31 -0
  187. package/dist/configurator/ui/assistant/form/form-registry.js +8 -0
  188. package/dist/configurator/ui/assistant/form/form-state.d.ts +4 -0
  189. package/dist/configurator/ui/assistant/form/form-state.js +1 -0
  190. package/dist/configurator/ui/assistant/form/index.d.ts +2 -0
  191. package/dist/configurator/ui/assistant/form/index.js +1 -0
  192. package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +9 -0
  193. package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -0
  194. package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +13 -0
  195. package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -0
  196. package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +3 -0
  197. package/dist/configurator/ui/assistant/form-elements/FormGroup.js +1 -0
  198. package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +3 -0
  199. package/dist/configurator/ui/assistant/form-elements/FormOptions.js +1 -0
  200. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +3 -0
  201. package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -0
  202. package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +3 -0
  203. package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -0
  204. package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +34 -0
  205. package/dist/configurator/ui/assistant/form-elements/form-element-props.js +1 -0
  206. package/dist/configurator/ui/assistant/form-elements/index.d.ts +5 -0
  207. package/dist/configurator/ui/assistant/form-elements/index.js +1 -0
  208. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.d.ts +16 -0
  209. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.js +1 -0
  210. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.d.ts +34 -0
  211. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.js +1 -0
  212. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.d.ts +25 -0
  213. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.js +1 -0
  214. package/dist/configurator/ui/assistant/reference-link/index.d.ts +3 -0
  215. package/dist/configurator/ui/assistant/reference-link/index.js +1 -0
  216. package/dist/configurator/ui/assistant/reference-link/reference-styles.d.ts +12 -0
  217. package/dist/configurator/ui/assistant/reference-link/reference-styles.js +1 -0
  218. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.d.ts +8 -0
  219. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.js +1 -0
  220. package/dist/configurator/ui/assistant/resource-image/AssistantImage.d.ts +9 -0
  221. package/dist/configurator/ui/assistant/resource-image/AssistantImage.js +1 -0
  222. package/dist/configurator/ui/assistant/resource-image/index.d.ts +3 -0
  223. package/dist/configurator/ui/assistant/resource-image/index.js +1 -0
  224. package/dist/configurator/ui/assistant/resource-image/resource-path.d.ts +11 -0
  225. package/dist/configurator/ui/assistant/resource-image/resource-path.js +1 -0
  226. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.d.ts +5 -0
  227. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.js +1 -0
  228. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +2 -0
  229. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  230. package/dist/configurator/ui/assistant/thread-items.d.ts +8 -1
  231. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  232. package/dist/configurator/ui/assistant/use-follow-stream.js +1 -1
  233. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  234. package/dist/configurator/ui/configurator-layout/slots/services/Services.js +1 -1
  235. package/dist/configurator/ui/legacy/layout/common/SummaryReadLayout.js +1 -1
  236. package/dist/configurator/ui/legacy/layout/simple/SimpleOwnerLayout.js +1 -1
  237. package/dist/configurator/ui/legacy/layout/steps/StepsOwnerLayout.js +1 -1
  238. package/dist/configurator/ui/legacy/layout/tabs/TabsOwnerLayout.js +1 -1
  239. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.d.ts +1 -0
  240. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.js +1 -1
  241. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.d.ts +1 -0
  242. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.js +1 -1
  243. package/dist/docs/controls/select-child-entity/cardselect.mdx +1 -0
  244. package/dist/docs/fabs/basic.mdx +2 -2
  245. package/dist/docs/index.json +1 -1
  246. package/dist/docs/layouts/custom-layout.mdx +324 -15
  247. package/dist/docs/phoenix/clerk-sign-in.mdx +1 -1
  248. package/dist/docs/phoenix/components.mdx +6 -0
  249. package/dist/docs/phoenix/configurator-interface.mdx +10 -10
  250. package/dist/docs/phoenix/deployments.mdx +2 -6
  251. package/dist/docs/phoenix/domain-model.mdx +2 -0
  252. package/dist/docs/phoenix/getting-started.mdx +6 -3
  253. package/dist/docs/phoenix/layout-slots.mdx +9 -9
  254. package/dist/docs/phoenix/localization.mdx +10 -6
  255. package/dist/docs/phoenix/migration-guide.mdx +24 -11
  256. package/dist/docs/phoenix/phoenix-cli.mdx +65 -20
  257. package/dist/docs/phoenix/project-structure.mdx +66 -32
  258. package/dist/docs/phoenix/quickstart.mdx +7 -7
  259. package/dist/docs/phoenix/sdk-builder-workflow.mdx +7 -7
  260. package/dist/docs/phoenix/testing.mdx +8 -0
  261. package/dist/docs/phoenix/webhooks.mdx +4 -4
  262. package/dist/domain/application/assistant/assistant-form-elements.d.ts +28 -0
  263. package/dist/domain/application/assistant/assistant-form-elements.js +1 -0
  264. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  265. package/dist/domain/application/assistant/index.d.ts +2 -0
  266. package/dist/domain/application/assistant/index.js +1 -1
  267. package/dist/domain/application/assistant-recipe-groups.d.ts +3 -1
  268. package/dist/domain/core/schema/extended-schema-validator.js +1 -1
  269. package/dist/domain/domain-runtime/spec/module-checks/element-registration.d.ts +12 -11
  270. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -1
  271. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +1 -1
  272. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -1
  273. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  274. package/dist/domain/system-components/child-entity-selection.js +1 -1
  275. package/dist/domain/system-components/common/scene-entity-control-schema.d.ts +3 -0
  276. package/dist/domain/system-components/common/scene-entity-control-schema.js +1 -1
  277. package/dist/globals/index.d.ts +2 -0
  278. package/dist/i18n/locales/cs/messages.js +1 -1
  279. package/dist/i18n/locales/da/messages.js +1 -1
  280. package/dist/i18n/locales/de/messages.js +1 -1
  281. package/dist/i18n/locales/de-AT/messages.js +1 -1
  282. package/dist/i18n/locales/en/messages.js +1 -1
  283. package/dist/i18n/locales/en-AU/messages.js +1 -1
  284. package/dist/i18n/locales/en-GB/messages.js +1 -1
  285. package/dist/i18n/locales/es/messages.js +1 -1
  286. package/dist/i18n/locales/fr/messages.js +1 -1
  287. package/dist/i18n/locales/hu/messages.js +1 -1
  288. package/dist/i18n/locales/it/messages.js +1 -1
  289. package/dist/i18n/locales/nl/messages.js +1 -1
  290. package/dist/i18n/locales/pl/messages.js +1 -1
  291. package/dist/i18n/locales/pt/messages.js +1 -1
  292. package/dist/i18n/locales/ro/messages.js +1 -1
  293. package/dist/i18n/locales/sk/messages.js +1 -1
  294. package/dist/i18n/locales/tr/messages.js +1 -1
  295. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  296. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  297. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +79 -80
  298. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +10 -11
  299. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +9 -10
  300. package/dist/phoenix/application-spec/application-spec-builder.d.ts +0 -2
  301. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  302. package/dist/phoenix/application-spec/generate-application-spec-project.d.ts +0 -2
  303. package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
  304. package/dist/phoenix/application-spec/generate-application-spec-story.js +2 -2
  305. package/dist/phoenix/application-spec/generate-project-files.d.ts +0 -2
  306. package/dist/phoenix/application-spec/project-files.js +1 -1
  307. package/dist/phoenix/bin.d.ts +2 -0
  308. package/dist/phoenix/bin.js +2 -0
  309. package/dist/phoenix/check-configs/built-in-eslint-config.d.ts +9 -0
  310. package/dist/phoenix/check-configs/built-in-eslint-config.js +1 -0
  311. package/dist/phoenix/check-configs/eslint-config.d.ts +10 -0
  312. package/dist/phoenix/check-configs/eslint-config.js +1 -0
  313. package/dist/phoenix/check-configs/index.d.ts +8 -0
  314. package/dist/phoenix/check-configs/index.js +1 -0
  315. package/dist/phoenix/check-configs/typescript-project.d.ts +5 -0
  316. package/dist/phoenix/check-configs/typescript-project.js +1 -0
  317. package/dist/phoenix/cli.d.ts +0 -1
  318. package/dist/phoenix/cli.js +1 -2
  319. package/dist/phoenix/commands/build.js +1 -1
  320. package/dist/phoenix/commands/check.js +1 -1
  321. package/dist/phoenix/commands/clean.js +1 -1
  322. package/dist/phoenix/commands/deploy.js +2 -2
  323. package/dist/phoenix/commands/deps/deps.d.ts +73 -0
  324. package/dist/phoenix/commands/deps/deps.js +3 -0
  325. package/dist/phoenix/commands/deps/index.d.ts +1 -0
  326. package/dist/phoenix/commands/deps/index.js +1 -0
  327. package/dist/phoenix/commands/deps/sdk-manifest.d.ts +12 -0
  328. package/dist/phoenix/commands/deps/sdk-manifest.js +1 -0
  329. package/dist/phoenix/commands/dev.js +5 -5
  330. package/dist/phoenix/commands/fix.js +1 -1
  331. package/dist/phoenix/commands/index.d.ts +1 -0
  332. package/dist/phoenix/commands/index.js +1 -1
  333. package/dist/phoenix/commands/init.d.ts +17 -5
  334. package/dist/phoenix/commands/init.js +1 -1
  335. package/dist/phoenix/commands/link.js +1 -1
  336. package/dist/phoenix/commands/prettier.js +1 -1
  337. package/dist/phoenix/commands/sync.js +1 -1
  338. package/dist/phoenix/commands/unlink.js +1 -1
  339. package/dist/phoenix/services/application-spec-project-watcher.d.ts +2 -2
  340. package/dist/phoenix/services/application-spec-project-watcher.js +2 -2
  341. package/dist/phoenix/services/lingui.d.ts +8 -0
  342. package/dist/phoenix/services/lingui.js +1 -1
  343. package/dist/phoenix/services/swc.js +1 -1
  344. package/dist/phoenix/services/vite-config.js +1 -1
  345. package/dist/phoenix/utils/index.d.ts +4 -2
  346. package/dist/phoenix/utils/index.js +1 -1
  347. package/dist/phoenix/utils/node-version/index.d.ts +1 -0
  348. package/dist/phoenix/utils/node-version/index.js +1 -0
  349. package/dist/phoenix/utils/node-version/supported-node-version.d.ts +12 -0
  350. package/dist/phoenix/utils/node-version/supported-node-version.js +4 -0
  351. package/dist/phoenix/utils/package-info.d.ts +0 -9
  352. package/dist/phoenix/utils/package-info.js +1 -1
  353. package/dist/phoenix/utils/package-manager/index.d.ts +2 -0
  354. package/dist/phoenix/utils/package-manager/index.js +1 -0
  355. package/dist/phoenix/utils/package-manager/package-manager-commands.d.ts +19 -0
  356. package/dist/phoenix/utils/package-manager/package-manager-commands.js +1 -0
  357. package/dist/phoenix/utils/package-manager/pnpm-project.d.ts +9 -0
  358. package/dist/phoenix/utils/package-manager/pnpm-project.js +1 -0
  359. package/dist/phoenix/utils/run-command.d.ts +11 -0
  360. package/dist/phoenix/utils/run-command.js +1 -1
  361. package/dist/phoenix/utils/sdk-tool/index.d.ts +1 -0
  362. package/dist/phoenix/utils/sdk-tool/index.js +1 -0
  363. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.d.ts +15 -0
  364. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.js +1 -0
  365. package/dist/react-sdk/domain-application-context/DomainLifecycleBoundary.js +1 -1
  366. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +15 -4
  367. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -1
  368. package/dist/ui-sdk/theme/types.d.ts +1 -1
  369. package/package.json +16 -12
  370. package/schema/domain-spec.json +86 -8
  371. package/dist/application-spec/generate-application/code/templates/nvmrc.d.ts +0 -1
  372. package/dist/application-spec/generate-application/code/templates/nvmrc.js +0 -2
  373. package/dist/application-spec/generate-application/code/templates/package-json.d.ts +0 -10
  374. package/dist/application-spec/generate-application/code/templates/package-json.js +0 -1
  375. package/dist/configurator/ui/assistant/entity-link/entity-link-target.d.ts +0 -5
  376. package/dist/configurator/ui/assistant/entity-link/entity-link-target.js +0 -1
  377. package/dist/phoenix/commands/generate-project-files.d.ts +0 -6
  378. package/dist/phoenix/commands/generate-project-files.js +0 -1
@@ -0,0 +1,19 @@
1
+ /**
2
+ * The commands of a package manager the CLI names in the next steps it prints, so a developer can copy the one for
3
+ * the package manager they use. Phoenix works with any package manager; these only phrase the hints.
4
+ */
5
+ export interface PackageManagerCommands {
6
+ /** Installs the project's dependencies, such as `npm install`. */
7
+ readonly install: string;
8
+ /** Adds a package to the project's dependencies, such as `npm install @salsita-ai/sdk`. */
9
+ readonly add: (packageName: string) => string;
10
+ /** Runs a `phoenix` command from the project's install, such as `npx phoenix sync`. */
11
+ readonly phoenix: (args: string) => string;
12
+ }
13
+ /**
14
+ * The commands of the package manager that started the CLI, read from the `npm_config_user_agent` value npm, pnpm,
15
+ * Yarn and Bun set for the binaries they run (`pnpm/11.1.3 npm/? node/v22.13.0 linux x64`). `undefined` when the CLI
16
+ * was started some other way, such as straight from `node_modules/.bin`, or by a package manager it does not know;
17
+ * the hint then names no package manager.
18
+ */
19
+ export declare const findPackageManagerCommands: (userAgent: string | undefined) => PackageManagerCommands | undefined;
@@ -0,0 +1 @@
1
+ let n=new Map([["pnpm",{install:"pnpm install",add:n=>`pnpm add ${n}`,phoenix:n=>`pnpm phoenix ${n}`}],["npm",{install:"npm install",add:n=>`npm install ${n}`,phoenix:n=>`npx phoenix ${n}`}],["yarn",{install:"yarn install",add:n=>`yarn add ${n}`,phoenix:n=>`yarn phoenix ${n}`}],["bun",{install:"bun install",add:n=>`bun add ${n}`,phoenix:n=>`bunx phoenix ${n}`}]]);export const findPackageManagerCommands=a=>{let p=a?.split("/")[0]?.trim();return void 0===p?void 0:n.get(p)};
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Stops a pnpm-only command in a project that clearly installs with another package manager: one with another
3
+ * package manager's lockfile and no `pnpm-lock.yaml`. A project without any lockfile is let through, as it has not
4
+ * installed yet. Only the project folder is looked at.
5
+ */
6
+ export declare const assertPnpmProject: (props: {
7
+ readonly projectRoot: string;
8
+ readonly command: string;
9
+ }) => void;
@@ -0,0 +1 @@
1
+ import{existsSync as o}from"fs";import{join as t}from"path";let n=["package-lock.json","npm-shrinkwrap.json","yarn.lock","bun.lock","bun.lockb"];export const assertPnpmProject=r=>{if(o(t(r.projectRoot,"pnpm-lock.yaml")))return;let a=n.find(n=>o(t(r.projectRoot,n)));if(void 0!==a)throw Error(`phoenix ${r.command} works with pnpm only, and this project installs with another package manager: it has ${a} and no pnpm-lock.yaml. It is an internal tool for linking a local SDK checkout through the overrides in pnpm-workspace.yaml. Use it in a project that installs with pnpm.`)};
@@ -1,4 +1,5 @@
1
1
  import type { Logger } from './logger.js';
2
+ import { type SdkTool } from './sdk-tool/index.js';
2
3
  export interface RunCommandProps {
3
4
  readonly command: string;
4
5
  readonly args: readonly string[];
@@ -7,6 +8,16 @@ export interface RunCommandProps {
7
8
  readonly cwd?: string;
8
9
  readonly extraEnv?: Record<string, string>;
9
10
  }
11
+ export interface RunSdkToolProps extends Omit<RunCommandProps, 'command'> {
12
+ readonly tool: SdkTool;
13
+ }
10
14
  export declare const runCommand: (props: RunCommandProps, context?: {
11
15
  readonly logger: Logger;
12
16
  }) => Promise<void>;
17
+ /**
18
+ * Runs a tool from the SDK's own installation with the Node.js that runs the CLI. It starts no shell, so paths
19
+ * with spaces reach the tool unchanged.
20
+ */
21
+ export declare const runSdkTool: (props: RunSdkToolProps, context?: {
22
+ readonly logger: Logger;
23
+ }) => Promise<void>;
@@ -1 +1 @@
1
- import{spawn as e}from"node:child_process";import{createLogger as r}from"./logger.js";export const runCommand=async(o,t)=>{let n=t?.logger??r(),{command:s,args:i,description:a,quiet:l=!1,cwd:c,extraEnv:d}=o;l?n.isDebug&&n.debug(`Running: ${s} ${i.join(" ")}`):n.step(a);let u=n.isDebug?"inherit":l?"pipe":"inherit";await new Promise((r,o)=>{let t=e(s,i,{stdio:u,shell:!0,cwd:c,env:d?{...process.env,...d}:void 0}),l=[],f=[],m=!1;t.stdout?.on("data",e=>l.push(Buffer.from(e))),t.stderr?.on("data",e=>f.push(Buffer.from(e))),t.once("error",e=>{m=!0,n.error(`${a} failed to execute`),n.error(`Error: ${e.message}`),o(Error(`Failed to execute command '${s}': ${e.message}. Ensure the command is installed and available in PATH.`))}),t.once("close",(e,t)=>{if(!m){if(0!==e){let r=null!==e?`exit code ${e}`:"unknown error (process was terminated or failed to start)";n.error(`${a} failed with ${r}`),t&&n.error(`Process was killed with signal: ${t}`),l.length>0&&console.error(Buffer.concat(l).toString()),f.length>0&&console.error(Buffer.concat(f).toString()),o(Error(`${a} failed with ${r}`));return}r()}})}),(!l||n.isDebug)&&n.success(`${a} completed`)};
1
+ import{spawn as e}from"node:child_process";import{createLogger as r}from"./logger.js";import{resolveSdkToolBin as o}from"./sdk-tool/index.js";let t=async(o,t)=>{let s=t?.logger??r(),{command:n,file:i,shell:a,startFailureHint:l,args:c,description:d,quiet:m=!1,cwd:u,extraEnv:f}=o;m?s.isDebug&&s.debug(`Running: ${n} ${c.join(" ")}`):s.step(d);let g=s.isDebug?"inherit":m?"pipe":"inherit";await new Promise((r,o)=>{let t=e(i,c,{stdio:g,shell:a,cwd:u,env:f?{...process.env,...f}:void 0}),m=[],p=[],h=!1;t.stdout?.on("data",e=>m.push(Buffer.from(e))),t.stderr?.on("data",e=>p.push(Buffer.from(e))),t.once("error",e=>{h=!0,s.error(`${d} failed to execute`),s.error(`Error: ${e.message}`),o(Error(`Failed to execute command '${n}': ${e.message}. ${l}`))}),t.once("close",(e,t)=>{if(!h){if(0!==e){let r=null!==e?`exit code ${e}`:"unknown error (process was terminated or failed to start)";s.error(`${d} failed with ${r}`),t&&s.error(`Process was killed with signal: ${t}`),m.length>0&&console.error(Buffer.concat(m).toString()),p.length>0&&console.error(Buffer.concat(p).toString()),o(Error(`${d} failed with ${r}`));return}r()}})}),(!m||s.isDebug)&&s.success(`${d} completed`)};export const runCommand=async(e,r)=>{await t({...e,file:e.command,shell:!0,startFailureHint:"Ensure the command is installed and available in PATH."},r)};export const runSdkTool=async(e,r)=>{let{tool:s,args:n,...i}=e;await t({...i,command:s.binName,file:process.execPath,args:[o(s),...n],shell:!1,startFailureHint:"Ensure Node.js can start this process."},r)};
@@ -0,0 +1 @@
1
+ export { type SdkTool, resolveSdkToolBin } from './resolve-sdk-tool-bin.js';
@@ -0,0 +1 @@
1
+ export{resolveSdkToolBin}from"./resolve-sdk-tool-bin.js";
@@ -0,0 +1,15 @@
1
+ /**
2
+ * A command-line tool the CLI runs, such as `tsc` for `phoenix check`. The SDK installs every such tool as one of
3
+ * its own `dependencies` and runs that copy, so the versions a project installs do not decide them.
4
+ */
5
+ export interface SdkTool {
6
+ /** The name the SDK's `package.json` lists the package under, the alias where the SDK installs it under one */
7
+ readonly packageName: string;
8
+ /** The name of the binary in the package's `bin` field */
9
+ readonly binName: string;
10
+ }
11
+ /**
12
+ * Returns the absolute path of a tool's binary in the SDK's own installation. It never looks at `PATH` or the
13
+ * project's `node_modules`, so the CLI runs the same tool in every project.
14
+ */
15
+ export declare const resolveSdkToolBin: (tool: SdkTool) => string;
@@ -0,0 +1 @@
1
+ import{existsSync as e,readFileSync as o}from"node:fs";import{createRequire as t}from"node:module";import{join as n,resolve as i}from"node:path";import{z as a}from"zod";let r=a.object({name:a.string(),bin:a.union([a.string(),a.record(a.string())]).optional()}),s=t(import.meta.url);export const resolveSdkToolBin=t=>{var a,p;let d=(o=>{let t=(s.resolve.paths(o)??[]).map(e=>n(e,o)).find(o=>e(n(o,"package.json")));if(void 0===t)throw Error(`Cannot find the package '${o}' in the installation of @salsita-ai/sdk. The SDK runs its own copy of it, so it is one of the SDK's dependencies. Reinstall the project's dependencies.`);return t})(t.packageName),l=(a=r.parse(JSON.parse(o(n(d,"package.json"),"utf-8"))),p=t.binName,"string"==typeof a.bin?a.name.replace(/^@[^/]+\//,"")===p?a.bin:void 0:a.bin?.[p]);if(void 0===l)throw Error(`The package '${t.packageName}' in the installation of @salsita-ai/sdk has no binary '${t.binName}'. The SDK expects it there to run it. Reinstall the project's dependencies.`);return i(d,l)};
@@ -1 +1 @@
1
- import{jsx as i,jsxs as t,Fragment as e}from"react/jsx-runtime";import{useEffect as n,useRef as a}from"react";import{useApplicationRuntime as r,useApplicationRuntimeSelector as o,useLogger as s}from"../application-runtime/index.js";import{ConfigurationPersistSystemFailureHandler as d}from"./ConfigurationPersistSystemFailureHandler.js";import{IsUndoableRegistration as l}from"./IsUndoableHandler.js";export const DomainLifecycleBoundary=m=>{let u,c,f,g,p,y,h,{children:b,type:x}=m,j=(f=(c=(u=r()).selectors.domainContext[x]).getDomainContext(),g=s(),p=o(c.getInitializationState),y=o(c.getSchemaCoherence),h=a(null),n(()=>{"schema-mismatch"===y&&g.debug("Loaded domain data belongs to a different schema identity, so initialization is paused."),"missing-stamp"===y&&g.debug("Loaded domain data has no schema identity, so initialization is paused.")},[g,y]),n(()=>{if(null===p.identity)return;if(h.current!==p.identity){let i=c.getInitializationState().identity;null!==i&&h.current!==i&&(f.initialize(),h.current=i)}let i=u.subscribe(f.reconcile);return()=>{i()}},[u,f,c,p.identity]),p);return j.isCurrent?t(e,{children:["configurator"===x&&i(l,{}),i(d,{disabled:j.isViewMode}),b]}):null};
1
+ import{jsx as i,jsxs as t,Fragment as e}from"react/jsx-runtime";import{useEffect as n,useRef as a}from"react";import{useApplicationRuntime as r,useApplicationRuntimeSelector as o,useLogger as s}from"../application-runtime/index.js";import{ConfigurationPersistSystemFailureHandler as d}from"./ConfigurationPersistSystemFailureHandler.js";import{IsUndoableRegistration as m}from"./IsUndoableHandler.js";export const DomainLifecycleBoundary=l=>{let u,c,f,g,p,y,h,{children:b,type:x}=l,j=(f=(c=(u=r()).selectors.domainContext[x]).getDomainContext(),g=s(),p=o(c.getInitializationState),y=o(c.getSchemaCoherence),h=a(null),n(()=>{"schema-mismatch"===y&&g.debug("Loaded domain data belongs to a different schema identity, so initialization is paused."),"missing-stamp"===y&&g.debug("Loaded domain data has no schema identity, so initialization is paused.")},[g,y]),n(()=>{if(null===p.identity)return;if(h.current!==p.identity){let i=c.getInitializationState().identity;null!==i&&h.current!==i&&(f.initialize(),h.current=i)}let i=u.subscribe(f.reconcile);return()=>{i()}},[u,f,c,p.identity]),p);return j.isCurrent?t(e,{children:["configurator"===x&&i(m,{}),"admin"===x&&i(d,{disabled:j.isViewMode}),b]}):null};
@@ -7,6 +7,9 @@ import type { $DomainEntity, DomainEntity, EntityViolation, ViolationTypesOf$Ent
7
7
  * apart. `text` is the violation's message, or its type when it has none; `entityId` names the entity.
8
8
  * - `sideEffect`: a committed change carried a hint, for example from a transformer that adjusted another field.
9
9
  * - `error`: an error was thrown while the changed state was validated; `text` is a generic message for the user.
10
+ * - `saveError`: saving the configuration failed; `error` is what the save rejected with, `text` a generic message
11
+ * for the user. The configurator keeps saving later changes.
12
+ * - `saveRecovery`: a save succeeded after a `saveError`; `text` says the configuration was updated.
10
13
  */
11
14
  export type ConfiguratorMessage<ENTITIES extends DomainEntity<string> = DomainEntity<string>, VIOLATION_TYPE extends string = string> = ({
12
15
  readonly kind: 'violation';
@@ -18,13 +21,21 @@ export type ConfiguratorMessage<ENTITIES extends DomainEntity<string> = DomainEn
18
21
  readonly kind: 'error';
19
22
  readonly error: Error;
20
23
  readonly text: string;
24
+ } | {
25
+ readonly kind: 'saveError';
26
+ readonly error: unknown;
27
+ readonly text: string;
28
+ } | {
29
+ readonly kind: 'saveRecovery';
30
+ readonly text: string;
21
31
  };
22
32
  export type UseConfiguratorMessages<ENTITIES extends DomainEntity<string> = DomainEntity<string>, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>> = Record<ENTITIES['type'], $DomainEntity<ENTITIES>>> = (onMessage: (message: ConfiguratorMessage<ENTITIES, ViolationTypesOf$Entity<$MAP[ENTITIES['type']]>>) => void) => void;
23
33
  /**
24
- * Calls `onMessage` once for every violation, side-effect hint and validation error: the violations of a rejected
25
- * change, the hints of a committed change and an error thrown while a change was validated. Hints committed before the
26
- * component mounted are not delivered; when the most recent change was rejected or threw, its messages are
27
- * delivered again on mount, because the store keeps that emission. `onMessage` may be a new function on every
34
+ * Calls `onMessage` once for every violation, side-effect hint, validation error and save failure: the violations of a
35
+ * rejected change, the hints of a committed change, an error thrown while a change was validated, a failed save and the
36
+ * first successful save after it. Hints committed before the component mounted are not delivered, nor is a save that
37
+ * failed before it mounted; when the most recent change was rejected or threw, its messages are delivered again on
38
+ * mount, because the store keeps that emission. `onMessage` may be a new function on every
28
39
  * render; the latest one is called.
29
40
  */
30
41
  export declare const useConfiguratorMessages: (onMessage: (message: ConfiguratorMessage) => void) => void;
@@ -1 +1 @@
1
- import{useSubscription as e}from"observable-hooks";import{useMemo as t}from"react";import{distinctUntilChanged as i,map as o,skip as r}from"rxjs";import{useResolveLocalizable as s}from"../../localizable/index.js";import{useDomain as a}from"./use-domain-context.js";let n={id:"sdk.messages.validation.uncaughtError.message",message:"Oops, something went wrong"};export const useConfiguratorMessages=m=>{let{storeSystem:l}=a(),d=s(),p=t(()=>l.stateSlices.potentiallyInvalid.pipe(o(e=>e.validity)),[l]),f=t(()=>l.stateSlices.committed.pipe(r(1),i(),o(e=>"updates"in e?e.updates.flatMap(e=>e.hint?[e.hint]:[]):[])),[l]);e(p,e=>{if(!e.valid){if("uncaught"===e.severity)return void m({kind:"error",error:e.error,text:d(n)});e.entityViolations.forEach(({entityId:e,violation:t})=>{m({kind:"violation",entityId:e,violation:t,text:d(t.message??t.type)})})}}),e(f,e=>{e.forEach(e=>{m({kind:"sideEffect",text:d(e)})})})};
1
+ import{useSubscription as e}from"observable-hooks";import{useMemo as r}from"react";import{distinctUntilChanged as t,map as i,pairwise as o,skip as s}from"rxjs";import{useDomainApplication as a}from"../../application-runtime/index.js";import{useResolveLocalizable as n}from"../../localizable/index.js";import{useDomain as d}from"./use-domain-context.js";let m={id:"sdk.messages.validation.uncaughtError.message",message:"Oops, something went wrong"},p={id:"sdk.persist.system.error.message",message:"An error occured when trying to update a configuration"},l={id:"sdk.persist.system.error.recovered",message:"Configuration updated"};export const useConfiguratorMessages=u=>{let{storeSystem:c}=d(),{configurationPersistSystem:f}=a(),g=n(),v=r(()=>c.stateSlices.potentiallyInvalid.pipe(i(e=>e.validity)),[c]),x=r(()=>c.stateSlices.committed.pipe(s(1),t(),i(e=>"updates"in e?e.updates.flatMap(e=>e.hint?[e.hint]:[]):[])),[c]),h=r(()=>f.failure$.pipe(o()),[f]);e(v,e=>{if(!e.valid){if("uncaught"===e.severity)return void u({kind:"error",error:e.error,text:g(m)});e.entityViolations.forEach(({entityId:e,violation:r})=>{u({kind:"violation",entityId:e,violation:r,text:g(r.message??r.type)})})}}),e(x,e=>{e.forEach(e=>{u({kind:"sideEffect",text:g(e)})})}),e(h,([e,r])=>{null!==r?u({kind:"saveError",error:r.error,text:g(p)}):null!==e&&u({kind:"saveRecovery",text:g(l)})})};
@@ -44,7 +44,7 @@ declare module '@mui/material/styles' {
44
44
  PhxChat: 'root';
45
45
  PhxChatFooter: 'root' | 'formLayout' | 'input';
46
46
  PhxChatMessage: 'base' | 'assistant' | 'user' | 'widget' | 'error' | 'helper';
47
- PhxAssistantPanel: 'root' | 'header' | 'title' | 'closeButton' | 'thread' | 'greeting' | 'messages' | 'userMessage' | 'assistantMessage' | 'entityLink' | 'chips' | 'activity' | 'activityIcon' | 'chip' | 'undoButton' | 'status' | 'separator' | 'earlierButton' | 'notice' | 'newReplyButton' | 'composer' | 'inputFrame' | 'input' | 'sendButton' | 'stopButton' | 'hint';
47
+ PhxAssistantPanel: 'root' | 'header' | 'title' | 'closeButton' | 'thread' | 'greeting' | 'messages' | 'userMessage' | 'assistantMessage' | 'entityLink' | 'referenceLink' | 'referenceDetails' | 'image' | 'form' | 'formGroup' | 'formGroupLabel' | 'formOptions' | 'formOptionsLabel' | 'formOptionsRow' | 'formReply' | 'formText' | 'formTextInput' | 'formSubmit' | 'formNote' | 'chips' | 'activity' | 'activityIcon' | 'chip' | 'undoButton' | 'status' | 'separator' | 'earlierButton' | 'notice' | 'newReplyButton' | 'composer' | 'inputFrame' | 'input' | 'sendButton' | 'stopButton' | 'hint';
48
48
  PhxTopNavigation: 'root' | 'stepper' | 'step';
49
49
  PhxListSelector: 'root';
50
50
  PhxListSelectorItem: 'root' | 'radio' | 'title' | 'description' | 'formControlLabel';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salsita-ai/sdk",
3
- "version": "0.50.0-develop.c28cfb7ded",
3
+ "version": "0.50.0-develop.d0eaeed131",
4
4
  "description": "TypeScript SDK and CLI for building, running, and deploying Phoenix configurator applications.",
5
5
  "keywords": [
6
6
  "salsita",
@@ -13,6 +13,9 @@
13
13
  "publishConfig": {
14
14
  "access": "public"
15
15
  },
16
+ "engines": {
17
+ "node": ">=22.13"
18
+ },
16
19
  "type": "module",
17
20
  "imports": {
18
21
  "#package/admin": {
@@ -196,7 +199,7 @@
196
199
  "domain-cli": "dist/legacy/domain-cli/cli.js",
197
200
  "embedding-cli": "dist/legacy/embedding-cli/cli.js",
198
201
  "webhook-cli": "dist/legacy/webhook-cli/cli.js",
199
- "phoenix": "dist/phoenix/cli.js"
202
+ "phoenix": "dist/phoenix/bin.js"
200
203
  },
201
204
  "files": [
202
205
  "dist",
@@ -212,8 +215,11 @@
212
215
  "@emotion/cache": "11.11.0",
213
216
  "@fontsource-variable/roboto": "5.2.5",
214
217
  "@gltf-transform/core": "4.3.0",
215
- "@gltf-transform/functions": "4.3.0",
218
+ "@lingui/babel-plugin-lingui-macro": "5.9.5",
219
+ "@lingui/cli": "5.9.5",
220
+ "@lingui/conf": "5.9.5",
216
221
  "@lingui/message-utils": "5.9.5",
222
+ "@lingui/swc-plugin": "5.11.0",
217
223
  "@lingui/vite-plugin": "5.9.5",
218
224
  "@monaco-editor/react": "4.7.0",
219
225
  "@mui/utils": "5.17.1",
@@ -225,6 +231,7 @@
225
231
  "@trpc/react-query": "11.17.0",
226
232
  "@trpc/server": "11.17.0",
227
233
  "@types/aws-lambda": "8.10.133",
234
+ "@typescript/native": "npm:typescript@7.0.2",
228
235
  "@uiw/color-convert": "2.9.6",
229
236
  "@uiw/react-color-hue": "2.9.6",
230
237
  "@uiw/react-color-saturation": "2.9.6",
@@ -240,10 +247,12 @@
240
247
  "dotenv-expand": "10.0.0",
241
248
  "envalid": "8.1.1",
242
249
  "esbuild": "0.25.12",
250
+ "eslint": "9.39.4",
243
251
  "fs-extra": "11.2.0",
244
252
  "globby": "14.0.2",
245
253
  "graphql": "16.14.2",
246
254
  "html-to-text": "10.0.0",
255
+ "htmlparser2": "10.1.0",
247
256
  "ink": "5.2.1",
248
257
  "its-fine": "1.2.5",
249
258
  "jiti": "2.7.0",
@@ -260,13 +269,13 @@
260
269
  "openai": "7.23.0",
261
270
  "openapi-fetch": "0.9.2",
262
271
  "picomatch": "4.0.4",
272
+ "prettier": "3.8.3",
263
273
  "promise-queue": "2.2.5",
264
274
  "react-device-detect": "2.2.3",
265
275
  "react-dnd": "16.0.1",
266
276
  "react-dnd-html5-backend": "16.0.1",
267
277
  "react-dropzone": "14.3.8",
268
278
  "react-error-boundary": "4.0.12",
269
- "react-hook-form": "7.53.0",
270
279
  "react-json-tree": "0.20.0",
271
280
  "react-markdown": "9.0.1",
272
281
  "remark": "15.0.1",
@@ -278,10 +287,10 @@
278
287
  "three-stdlib": "2.36.1",
279
288
  "troika-three-text": "0.47.2",
280
289
  "ts-pattern": "5.9.0",
290
+ "typescript": "npm:@typescript/typescript6@6.0.2",
281
291
  "use-font-face-observer": "1.2.2",
282
292
  "usehooks-ts": "3.1.0",
283
293
  "uuid": "14.0.0",
284
- "vaul": "1.1.2",
285
294
  "vite": "6.4.3",
286
295
  "vite-plugin-css-injected-by-js": "3.5.2",
287
296
  "vite-plugin-restart": "2.0.0",
@@ -289,19 +298,17 @@
289
298
  "yaml": "2.9.0",
290
299
  "yargs": "17.7.2",
291
300
  "zod": "3.25.76",
292
- "@salsita-ai/common": "0.50.0-develop.c28cfb7ded",
293
- "@salsita-ai/contracts": "0.50.0-develop.c28cfb7ded"
301
+ "@salsita-ai/common": "0.50.0-develop.d0eaeed131",
302
+ "@salsita-ai/contracts": "0.50.0-develop.d0eaeed131"
294
303
  },
295
304
  "devDependencies": {
296
305
  "@clerk/clerk-react": "5.61.8",
297
306
  "@emotion/react": "11.11.3",
298
307
  "@emotion/styled": "11.11.0",
299
- "@lingui/cli": "5.9.5",
300
308
  "@lingui/core": "5.9.5",
301
309
  "@lingui/format-po": "5.9.5",
302
310
  "@lingui/macro": "5.9.5",
303
311
  "@lingui/react": "5.9.5",
304
- "@lingui/swc-plugin": "5.11.0",
305
312
  "@mui/material": "5.15.5",
306
313
  "@mui/system": "5.16.7",
307
314
  "@phosphor-icons/core": "2.1.1",
@@ -335,19 +342,16 @@
335
342
  "babel-plugin-macros": "3.1.0",
336
343
  "buffer": "6.0.3",
337
344
  "chokidar-cli": "3.0.0",
338
- "eslint": "9.39.4",
339
345
  "happy-dom": "20.9.0",
340
346
  "ink-testing-library": "4.0.0",
341
347
  "openapi-typescript": "7.4.1",
342
348
  "postprocessing": "6.36.3",
343
- "prettier": "3.8.3",
344
349
  "react": "18.3.1",
345
350
  "react-dom": "18.3.1",
346
351
  "rxjs": "7.8.2",
347
352
  "storybook": "10.4.1",
348
353
  "three": "0.160.1",
349
354
  "tsx": "4.22.3",
350
- "typescript": "npm:@typescript/typescript6@6.0.2",
351
355
  "vitest": "4.1.11",
352
356
  "server": "1.64.0"
353
357
  },