@salsita-ai/sdk 0.50.0-develop.6d8967bc99 → 0.50.0-develop.71209819cd

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 (410) hide show
  1. package/README.md +1 -1
  2. package/dist/admin/create-admin-pages-from-spec.d.ts +1 -1
  3. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +36 -36
  4. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +1 -1
  5. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  6. package/dist/application-spec/generate-application/code/templates/env-example.js +4 -0
  7. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +66 -42
  8. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +4 -4
  9. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +4 -4
  10. package/dist/application-spec/generate-application/code/templates/webhook-builders.js +4 -3
  11. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -2
  12. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  13. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  14. package/dist/client/authorized-client.d.ts +3 -1
  15. package/dist/client/authorized-client.js +1 -1
  16. package/dist/client/contract.d.ts +34 -0
  17. package/dist/client/contract.js +1 -1
  18. package/dist/client/index.d.ts +2 -2
  19. package/dist/client/index.js +1 -1
  20. package/dist/client/local-authorized-client.d.ts +3 -1
  21. package/dist/client/local-authorized-client.js +1 -1
  22. package/dist/client/memory-authorized-client.d.ts +3 -1
  23. package/dist/client/memory-authorized-client.js +1 -1
  24. package/dist/client/phoenix-api.d.ts +215 -2
  25. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +89 -2
  26. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  27. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  28. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  29. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  30. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +2 -1
  31. package/dist/configurator/ui/assistant/AssistantComposer.js +1 -1
  32. package/dist/configurator/ui/assistant/AssistantThread.d.ts +6 -2
  33. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  34. package/dist/configurator/ui/assistant/thread-items.d.ts +13 -2
  35. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  36. package/dist/docs/index.json +1 -1
  37. package/dist/docs/phoenix/deployments.mdx +1 -1
  38. package/dist/docs/phoenix/expression-context.mdx +11 -3
  39. package/dist/docs/phoenix/phoenix-cli.mdx +24 -21
  40. package/dist/docs/phoenix/sdk-builder-workflow.mdx +6 -6
  41. package/dist/docs/ux-guidelines/choosing-a-control.mdx +11 -0
  42. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +10 -10
  43. package/dist/domain/admin-domain/index.d.ts +8 -3
  44. package/dist/domain/admin-domain/index.js +1 -1
  45. package/dist/domain/application/admin-page-factories.d.ts +1 -2
  46. package/dist/domain/application/application-config.d.ts +1 -21
  47. package/dist/domain/application/assistant/assistant-manifest.d.ts +2 -0
  48. package/dist/domain/application/assistant/assistant-value-type.js +1 -1
  49. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  50. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +1 -11
  51. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  52. package/dist/domain/application/assistant-mutations.d.ts +2 -1
  53. package/dist/domain/application/assistant-mutations.js +1 -1
  54. package/dist/domain/application/index.d.ts +2 -2
  55. package/dist/domain/application/index.js +1 -1
  56. package/dist/domain/application/published-data/build-legend-data.d.ts +1 -1
  57. package/dist/domain/application/published-data/format-field-type.d.ts +1 -1
  58. package/dist/domain/application/published-data/map-data-to-sheet.d.ts +1 -1
  59. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +2 -2
  60. package/dist/domain/application/published-data/validate-sheet-data.d.ts +1 -1
  61. package/dist/domain/available-system-components.js +1 -1
  62. package/dist/domain/core/action/action-factory.d.ts +11 -0
  63. package/dist/domain/core/{action.d.ts → action/action.d.ts} +21 -16
  64. package/dist/domain/core/action/index.d.ts +2 -0
  65. package/dist/domain/core/action/index.js +1 -0
  66. package/dist/domain/core/component/domain-component-optic.d.ts +34 -37
  67. package/dist/domain/core/component/domain-component-optic.js +2 -2
  68. package/dist/domain/core/component/system-component-filter.d.ts +17 -17
  69. package/dist/domain/core/data-schema/data-cell-value.d.ts +4 -0
  70. package/dist/domain/core/data-schema/data-schema-array-field.d.ts +5 -0
  71. package/dist/domain/core/data-schema/data-schema-field-object.d.ts +4 -0
  72. package/dist/domain/core/data-schema/data-schema-field-object.js +1 -0
  73. package/dist/domain/core/data-schema/data-schema-field.d.ts +2 -0
  74. package/dist/domain/core/data-schema/data-schema-field.js +1 -0
  75. package/dist/domain/core/data-schema/data-schema-localized-field.d.ts +4 -0
  76. package/dist/domain/core/data-schema/data-schema-localized-field.js +1 -0
  77. package/dist/domain/core/data-schema/data-schema-primitive-field.d.ts +5 -0
  78. package/dist/domain/core/data-schema/data-schema-primitive-field.js +1 -0
  79. package/dist/domain/core/data-schema/data-schema.d.ts +2 -0
  80. package/dist/domain/core/data-schema/data-schema.js +1 -0
  81. package/dist/domain/core/data-schema/index.d.ts +7 -0
  82. package/dist/domain/core/data-schema/index.js +1 -0
  83. package/dist/domain/core/domain-factory.d.ts +1 -1
  84. package/dist/domain/core/domain.d.ts +2 -2
  85. package/dist/domain/core/emission/index.d.ts +8 -0
  86. package/dist/domain/core/emission/index.js +1 -0
  87. package/dist/domain/core/emission/reset-state-emission.d.ts +12 -0
  88. package/dist/domain/core/emission/reset-state-emission.js +1 -0
  89. package/dist/domain/core/emission/state-emission.d.ts +4 -0
  90. package/dist/domain/core/emission/state-emission.js +1 -0
  91. package/dist/domain/core/emission/state-update-emission.d.ts +14 -0
  92. package/dist/domain/core/emission/state-update-emission.js +1 -0
  93. package/dist/domain/core/emission/state-validation-result.d.ts +18 -0
  94. package/dist/domain/core/emission/state-validation-result.js +1 -0
  95. package/dist/domain/core/emission/transformation-log.d.ts +2 -0
  96. package/dist/domain/core/emission/transformation-log.js +1 -0
  97. package/dist/domain/core/emission/transformer-log-entry.d.ts +6 -0
  98. package/dist/domain/core/emission/transformer-log-entry.js +1 -0
  99. package/dist/domain/core/emission/transformer-log.d.ts +11 -0
  100. package/dist/domain/core/emission/transformer-log.js +1 -0
  101. package/dist/domain/core/emission/transformer-phase.d.ts +1 -0
  102. package/dist/domain/core/emission/transformer-phase.js +1 -0
  103. package/dist/domain/core/expression/aliased-expressions.d.ts +10 -0
  104. package/dist/domain/core/expression/aliased-expressions.js +1 -0
  105. package/dist/domain/core/expression/custom-expression.d.ts +7 -7
  106. package/dist/domain/core/expression/expression.d.ts +14 -15
  107. package/dist/domain/core/expression/index.d.ts +1 -2
  108. package/dist/domain/core/expression/index.js +1 -1
  109. package/dist/domain/core/index.d.ts +5 -1
  110. package/dist/domain/core/index.js +1 -1
  111. package/dist/domain/core/invariant/custom-invariants.d.ts +5 -5
  112. package/dist/domain/core/invariant/index.d.ts +1 -1
  113. package/dist/domain/core/invariant/index.js +1 -1
  114. package/dist/domain/core/invariant/invariants.d.ts +4 -67
  115. package/dist/domain/core/invariant/invariants.js +1 -1
  116. package/dist/domain/core/invariant/violation.d.ts +1 -1
  117. package/dist/domain/core/recipe/index.d.ts +1 -0
  118. package/dist/domain/core/recipe/index.js +1 -0
  119. package/dist/domain/{domain-context/recipe-system → core/recipe}/recipes.d.ts +1 -1
  120. package/dist/domain/core/recipe/recipes.js +1 -0
  121. package/dist/domain/{relations → core/relation}/all-of-type-relation.d.ts +3 -1
  122. package/dist/domain/core/relation/all-of-type-relation.js +1 -0
  123. package/dist/domain/{relations → core/relation}/component-factories.d.ts +1 -1
  124. package/dist/domain/core/relation/component-factories.js +1 -0
  125. package/dist/domain/{relations → core/relation}/composed-of.d.ts +1 -1
  126. package/dist/domain/core/relation/composed-of.js +1 -0
  127. package/dist/domain/{relations → core/relation}/direct-relation.d.ts +2 -1
  128. package/dist/domain/core/relation/index.d.ts +9 -0
  129. package/dist/domain/core/relation/index.js +1 -0
  130. package/dist/domain/{relations → core/relation}/indirect-relation.d.ts +3 -1
  131. package/dist/domain/core/relation/indirect-relation.js +1 -0
  132. package/dist/domain/{relations → core/relation}/reference-component.d.ts +4 -3
  133. package/dist/domain/core/relation/reference-component.js +1 -0
  134. package/dist/domain/{relations → core/relation}/reference-field.d.ts +1 -1
  135. package/dist/domain/core/relation/reference-field.js +1 -0
  136. package/dist/domain/{relations → core/relation}/relation-factory.d.ts +2 -1
  137. package/dist/domain/{relations → core/relation}/relation-implementation.d.ts +3 -1
  138. package/dist/domain/core/relation/relation-implementation.js +1 -0
  139. package/dist/domain/domain-builder.d.ts +2 -5
  140. package/dist/domain/domain-builder.js +1 -1
  141. package/dist/domain/domain-context/action-system/action-system.d.ts +2 -2
  142. package/dist/domain/domain-context/index.d.ts +1 -2
  143. package/dist/domain/domain-context/index.js +1 -1
  144. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +1 -2
  145. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  146. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.js +1 -1
  147. package/dist/domain/domain-context/relation-transformers/create-entity-refs.js +2 -2
  148. package/dist/domain/domain-context/relation-transformers/replace-refs.js +1 -1
  149. package/dist/domain/domain-context/store-system/store-system.d.ts +1 -32
  150. package/dist/domain/domain-context/transformers/context.d.ts +1 -2
  151. package/dist/domain/domain-context/undo-system.d.ts +1 -2
  152. package/dist/domain/domain-runtime/domain-context/action-context.d.ts +11 -0
  153. package/dist/domain/domain-runtime/domain-context/action-context.js +1 -0
  154. package/dist/domain/domain-runtime/domain-context/expression-context.d.ts +8 -0
  155. package/dist/domain/domain-runtime/domain-context/expression-context.js +1 -0
  156. package/dist/domain/domain-runtime/domain-context/index.d.ts +3 -0
  157. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.d.ts +18 -0
  158. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.js +1 -0
  159. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +3 -2
  160. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  161. package/dist/domain/domain-runtime/domain-runtime.d.ts +8 -8
  162. package/dist/domain/domain-runtime/spec/index.d.ts +8 -0
  163. package/dist/domain/domain-runtime/spec/index.js +1 -1
  164. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  165. package/dist/domain/domain-runtime/spec/invariant-builder.d.ts +61 -0
  166. package/dist/domain/domain-runtime/spec/invariant-builder.js +1 -0
  167. package/dist/domain/{core/expression → domain-runtime/spec}/memoize-expression.d.ts +1 -2
  168. package/dist/domain/{actions → domain-runtime/spec}/prepare-action-implementations.d.ts +1 -1
  169. package/dist/domain/domain-runtime/spec/prepare-action-implementations.js +5 -0
  170. package/dist/domain/{core/expression → domain-runtime/spec}/prepare-domain-expressions.d.ts +1 -1
  171. package/dist/domain/domain-runtime/spec/resolve-action-modules.d.ts +4 -0
  172. package/dist/domain/domain-runtime/spec/resolve-action-modules.js +1 -0
  173. package/dist/domain/domain-runtime/spec/resolve-component-optic-modules.d.ts +4 -0
  174. package/dist/domain/domain-runtime/spec/resolve-component-optic-modules.js +1 -0
  175. package/dist/domain/domain-runtime/spec/resolve-expression-modules.d.ts +15 -0
  176. package/dist/domain/domain-runtime/spec/resolve-expression-modules.js +1 -0
  177. package/dist/domain/domain-runtime/spec/resolve-invariant-modules.d.ts +6 -0
  178. package/dist/domain/domain-runtime/spec/resolve-invariant-modules.js +1 -0
  179. package/dist/domain/{system-components → extensions}/child-entity-recipe-hierarchy.d.ts +1 -1
  180. package/dist/domain/extensions/child-entity-recipe-hierarchy.js +1 -0
  181. package/dist/domain/{system-components → extensions}/common/angle-indicator-schema.d.ts +1 -1
  182. package/dist/domain/extensions/common/angle-indicator-schema.js +1 -0
  183. package/dist/domain/extensions/common/index.d.ts +4 -0
  184. package/dist/domain/extensions/common/index.js +1 -0
  185. package/dist/domain/{system-components → extensions}/custom-header.d.ts +1 -1
  186. package/dist/domain/extensions/custom-header.js +1 -0
  187. package/dist/domain/{system-components → extensions}/custom-price-footer.js +1 -1
  188. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.d.ts +1 -1
  189. package/dist/domain/extensions/custom-sidebar-footer.js +1 -0
  190. package/dist/domain/{system-components → extensions}/editable-angle-indicator.d.ts +2 -1
  191. package/dist/domain/extensions/editable-angle-indicator.js +1 -0
  192. package/dist/domain/{system-components → extensions}/editable-distance-dimension-indicator.d.ts +2 -1
  193. package/dist/domain/extensions/editable-distance-dimension-indicator.js +1 -0
  194. package/dist/domain/{system-components → extensions}/editable-offset-indicator.d.ts +2 -1
  195. package/dist/domain/extensions/editable-offset-indicator.js +1 -0
  196. package/dist/domain/{system-components → extensions}/editable-size-indicator.d.ts +2 -1
  197. package/dist/domain/extensions/editable-size-indicator.js +1 -0
  198. package/dist/domain/{system-components → extensions}/entity-header.d.ts +1 -1
  199. package/dist/domain/extensions/entity-header.js +1 -0
  200. package/dist/domain/{system-components → extensions}/finalize-component.js +1 -1
  201. package/dist/domain/extensions/index.d.ts +69 -0
  202. package/dist/domain/extensions/index.js +1 -0
  203. package/dist/domain/{system-components → extensions}/list-selector-dimension-indicator.d.ts +2 -1
  204. package/dist/domain/extensions/list-selector-dimension-indicator.js +1 -0
  205. package/dist/domain/{system-components → extensions}/property-page.d.ts +1 -1
  206. package/dist/domain/extensions/property-page.js +1 -0
  207. package/dist/domain/{system-components → extensions}/replace-entity-recipe-hierarchy.d.ts +1 -1
  208. package/dist/domain/extensions/replace-entity-recipe-hierarchy.js +1 -0
  209. package/dist/domain/{system-components → extensions}/scene-entity-add-fab.d.ts +1 -1
  210. package/dist/domain/extensions/scene-entity-add-fab.js +1 -0
  211. package/dist/domain/{system-components → extensions}/scene-entity-delete-fab.d.ts +1 -1
  212. package/dist/domain/extensions/scene-entity-delete-fab.js +1 -0
  213. package/dist/domain/{system-components → extensions}/scene-entity-html-hotspot.d.ts +1 -1
  214. package/dist/domain/extensions/scene-entity-html-hotspot.js +1 -0
  215. package/dist/domain/{system-components → extensions}/scene-entity-navigation-hotspot.d.ts +1 -1
  216. package/dist/domain/extensions/scene-entity-navigation-hotspot.js +1 -0
  217. package/dist/domain/{system-components → extensions}/scene-entity-object-html-hotspot.d.ts +1 -1
  218. package/dist/domain/extensions/scene-entity-object-html-hotspot.js +1 -0
  219. package/dist/domain/{system-components → extensions}/scene-entity-select-hotspot.d.ts +1 -1
  220. package/dist/domain/extensions/scene-entity-select-hotspot.js +1 -0
  221. package/dist/domain/{system-components → extensions}/sketching-edit.d.ts +1 -1
  222. package/dist/domain/extensions/sketching-edit.js +1 -0
  223. package/dist/domain/{system-components → extensions}/summary-component.js +1 -1
  224. package/dist/domain/{system-components → extensions}/tool-menu-fab.d.ts +1 -1
  225. package/dist/domain/extensions/tool-menu-fab.js +1 -0
  226. package/dist/domain/{system-components → extensions}/toolbar.d.ts +1 -1
  227. package/dist/domain/extensions/toolbar.js +1 -0
  228. package/dist/domain/index.d.ts +3 -8
  229. package/dist/domain/index.js +1 -1
  230. package/dist/domain/project-modules/index.d.ts +1 -1
  231. package/dist/domain/project-modules/index.js +1 -1
  232. package/dist/domain/project-modules/project-modules.d.ts +0 -16
  233. package/dist/domain/project-modules/project-modules.js +1 -1
  234. package/dist/domain/projections/composition-projections.js +1 -1
  235. package/dist/domain/projections/index.d.ts +1 -1
  236. package/dist/domain/projections/validation-projections.d.ts +1 -17
  237. package/dist/domain/system-components/child-entity-selection.d.ts +1 -2
  238. package/dist/domain/system-components/common/index.d.ts +0 -4
  239. package/dist/domain/system-components/common/index.js +1 -1
  240. package/dist/domain/system-components/common/recipes.d.ts +1 -2
  241. package/dist/domain/system-components/index.d.ts +0 -68
  242. package/dist/domain/system-components/index.js +1 -1
  243. package/dist/domain/system-components/phoenix-entity-elements/admin-data-table-sidebar.d.ts +1 -1
  244. package/dist/domain/system-components/phoenix-layout-elements/admin-connected-resource-page.d.ts +1 -1
  245. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-actions.d.ts +1 -1
  246. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-page.d.ts +1 -1
  247. package/dist/domain/utils/memo-eval.d.ts +2 -2
  248. package/dist/i18n/locales/cs/messages.js +1 -1
  249. package/dist/i18n/locales/da/messages.js +1 -1
  250. package/dist/i18n/locales/de/messages.js +1 -1
  251. package/dist/i18n/locales/de-AT/messages.js +1 -1
  252. package/dist/i18n/locales/en/messages.js +1 -1
  253. package/dist/i18n/locales/en-AU/messages.js +1 -1
  254. package/dist/i18n/locales/en-GB/messages.js +1 -1
  255. package/dist/i18n/locales/es/messages.js +1 -1
  256. package/dist/i18n/locales/fr/messages.js +1 -1
  257. package/dist/i18n/locales/hu/messages.js +1 -1
  258. package/dist/i18n/locales/it/messages.js +1 -1
  259. package/dist/i18n/locales/nl/messages.js +1 -1
  260. package/dist/i18n/locales/pl/messages.js +1 -1
  261. package/dist/i18n/locales/pt/messages.js +1 -1
  262. package/dist/i18n/locales/ro/messages.js +1 -1
  263. package/dist/i18n/locales/sk/messages.js +1 -1
  264. package/dist/i18n/locales/tr/messages.js +1 -1
  265. package/dist/legacy/domain-cli/gen/implementation.js +5 -5
  266. package/dist/legacy/domain-cli/gen/invariants.js +5 -3
  267. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  268. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  269. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.d.ts +1 -1
  270. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.js +4 -0
  271. package/dist/ui-sdk/theme/types.d.ts +1 -1
  272. package/dist/webhook/builders/common.d.ts +5 -0
  273. package/dist/webhook/builders/webhook-builder.js +1 -1
  274. package/package.json +3 -3
  275. package/dist/domain/actions/action-factory.d.ts +0 -10
  276. package/dist/domain/actions/prepare-action-implementations.js +0 -5
  277. package/dist/domain/domain-context/recipe-system/recipes.js +0 -1
  278. package/dist/domain/relations/all-of-type-relation.js +0 -1
  279. package/dist/domain/relations/component-factories.js +0 -1
  280. package/dist/domain/relations/composed-of.js +0 -1
  281. package/dist/domain/relations/indirect-relation.js +0 -1
  282. package/dist/domain/relations/reference-component.js +0 -1
  283. package/dist/domain/system-components/child-entity-recipe-hierarchy.js +0 -1
  284. package/dist/domain/system-components/common/angle-indicator-schema.js +0 -1
  285. package/dist/domain/system-components/custom-header.js +0 -1
  286. package/dist/domain/system-components/custom-sidebar-footer.js +0 -1
  287. package/dist/domain/system-components/editable-angle-indicator.js +0 -1
  288. package/dist/domain/system-components/editable-distance-dimension-indicator.js +0 -1
  289. package/dist/domain/system-components/editable-offset-indicator.js +0 -1
  290. package/dist/domain/system-components/editable-size-indicator.js +0 -1
  291. package/dist/domain/system-components/entity-header.js +0 -1
  292. package/dist/domain/system-components/list-selector-dimension-indicator.js +0 -1
  293. package/dist/domain/system-components/property-page.js +0 -1
  294. package/dist/domain/system-components/replace-entity-recipe-hierarchy.js +0 -1
  295. package/dist/domain/system-components/scene-entity-add-fab.js +0 -1
  296. package/dist/domain/system-components/scene-entity-delete-fab.js +0 -1
  297. package/dist/domain/system-components/scene-entity-html-hotspot.js +0 -1
  298. package/dist/domain/system-components/scene-entity-navigation-hotspot.js +0 -1
  299. package/dist/domain/system-components/scene-entity-object-html-hotspot.js +0 -1
  300. package/dist/domain/system-components/scene-entity-select-hotspot.js +0 -1
  301. package/dist/domain/system-components/sketching-edit.js +0 -1
  302. package/dist/domain/system-components/tool-menu-fab.js +0 -1
  303. package/dist/domain/system-components/toolbar.js +0 -1
  304. /package/dist/domain/{actions → core/action}/action-factory.js +0 -0
  305. /package/dist/domain/core/{action.js → action/action.js} +0 -0
  306. /package/dist/domain/{relations/reference-field.js → core/data-schema/data-cell-value.js} +0 -0
  307. /package/dist/domain/{relations/relation-implementation.js → core/data-schema/data-schema-array-field.js} +0 -0
  308. /package/dist/domain/{relations → core/relation}/direct-relation.js +0 -0
  309. /package/dist/domain/{relations → core/relation}/relation-factory.js +0 -0
  310. /package/dist/domain/{core/expression → domain-runtime/spec}/memoize-expression.js +0 -0
  311. /package/dist/domain/{core/expression → domain-runtime/spec}/prepare-domain-expressions.js +0 -0
  312. /package/dist/domain/{system-components → extensions}/angle-indicator.d.ts +0 -0
  313. /package/dist/domain/{system-components → extensions}/angle-indicator.js +0 -0
  314. /package/dist/domain/{system-components → extensions}/attribute-switch.d.ts +0 -0
  315. /package/dist/domain/{system-components → extensions}/attribute-switch.js +0 -0
  316. /package/dist/domain/{system-components → extensions}/autorotate-camera-component.d.ts +0 -0
  317. /package/dist/domain/{system-components → extensions}/autorotate-camera-component.js +0 -0
  318. /package/dist/domain/{system-components → extensions}/basic-sidebar-footer.d.ts +0 -0
  319. /package/dist/domain/{system-components → extensions}/basic-sidebar-footer.js +0 -0
  320. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.d.ts +0 -0
  321. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.js +0 -0
  322. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.d.ts +0 -0
  323. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.js +0 -0
  324. /package/dist/domain/{system-components → extensions}/canvas-config.d.ts +0 -0
  325. /package/dist/domain/{system-components → extensions}/canvas-config.js +0 -0
  326. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.d.ts +0 -0
  327. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.js +0 -0
  328. /package/dist/domain/{system-components → extensions}/canvas-padding.d.ts +0 -0
  329. /package/dist/domain/{system-components → extensions}/canvas-padding.js +0 -0
  330. /package/dist/domain/{system-components → extensions}/canvas-preset-environment.d.ts +0 -0
  331. /package/dist/domain/{system-components → extensions}/canvas-preset-environment.js +0 -0
  332. /package/dist/domain/{system-components → extensions}/client-side-image.d.ts +0 -0
  333. /package/dist/domain/{system-components → extensions}/client-side-image.js +0 -0
  334. /package/dist/domain/{system-components → extensions}/color-value.d.ts +0 -0
  335. /package/dist/domain/{system-components → extensions}/color-value.js +0 -0
  336. /package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.d.ts +0 -0
  337. /package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.js +0 -0
  338. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.d.ts +0 -0
  339. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.js +0 -0
  340. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.d.ts +0 -0
  341. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.js +0 -0
  342. /package/dist/domain/{system-components → extensions}/custom-price-footer.d.ts +0 -0
  343. /package/dist/domain/{system-components → extensions}/dimension-indicator.d.ts +0 -0
  344. /package/dist/domain/{system-components → extensions}/dimension-indicator.js +0 -0
  345. /package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.d.ts +0 -0
  346. /package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.js +0 -0
  347. /package/dist/domain/{system-components → extensions}/finalize-action.d.ts +0 -0
  348. /package/dist/domain/{system-components → extensions}/finalize-action.js +0 -0
  349. /package/dist/domain/{system-components → extensions}/finalize-component.d.ts +0 -0
  350. /package/dist/domain/{system-components → extensions}/fit-selection-orthographic-camera-component.d.ts +0 -0
  351. /package/dist/domain/{system-components → extensions}/fit-selection-orthographic-camera-component.js +0 -0
  352. /package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.d.ts +0 -0
  353. /package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.js +0 -0
  354. /package/dist/domain/{system-components → extensions}/fixed-header.d.ts +0 -0
  355. /package/dist/domain/{system-components → extensions}/fixed-header.js +0 -0
  356. /package/dist/domain/{system-components → extensions}/floating-header.d.ts +0 -0
  357. /package/dist/domain/{system-components → extensions}/floating-header.js +0 -0
  358. /package/dist/domain/{system-components → extensions}/hidden-header.d.ts +0 -0
  359. /package/dist/domain/{system-components → extensions}/hidden-header.js +0 -0
  360. /package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.d.ts +0 -0
  361. /package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.js +0 -0
  362. /package/dist/domain/{system-components → extensions}/horizontal-tabs.d.ts +0 -0
  363. /package/dist/domain/{system-components → extensions}/horizontal-tabs.js +0 -0
  364. /package/dist/domain/{system-components → extensions}/multilingual-text-value.d.ts +0 -0
  365. /package/dist/domain/{system-components → extensions}/multilingual-text-value.js +0 -0
  366. /package/dist/domain/{system-components → extensions}/navigation-steps.d.ts +0 -0
  367. /package/dist/domain/{system-components → extensions}/navigation-steps.js +0 -0
  368. /package/dist/domain/{system-components → extensions}/offset-anchors.d.ts +0 -0
  369. /package/dist/domain/{system-components → extensions}/offset-anchors.js +0 -0
  370. /package/dist/domain/{system-components → extensions}/offset-indicator.d.ts +0 -0
  371. /package/dist/domain/{system-components → extensions}/offset-indicator.js +0 -0
  372. /package/dist/domain/{system-components → extensions}/offset.d.ts +0 -0
  373. /package/dist/domain/{system-components → extensions}/offset.js +0 -0
  374. /package/dist/domain/{system-components → extensions}/other-action.d.ts +0 -0
  375. /package/dist/domain/{system-components → extensions}/other-action.js +0 -0
  376. /package/dist/domain/{system-components → extensions}/read-sidebar-footer.d.ts +0 -0
  377. /package/dist/domain/{system-components → extensions}/read-sidebar-footer.js +0 -0
  378. /package/dist/domain/{system-components → extensions}/rotatable.d.ts +0 -0
  379. /package/dist/domain/{system-components → extensions}/rotatable.js +0 -0
  380. /package/dist/domain/{system-components → extensions}/rotation-handle.d.ts +0 -0
  381. /package/dist/domain/{system-components → extensions}/rotation-handle.js +0 -0
  382. /package/dist/domain/{system-components → extensions}/save-template-thumbnail.d.ts +0 -0
  383. /package/dist/domain/{system-components → extensions}/save-template-thumbnail.js +0 -0
  384. /package/dist/domain/{system-components → extensions}/scene-entity-animation.d.ts +0 -0
  385. /package/dist/domain/{system-components → extensions}/scene-entity-animation.js +0 -0
  386. /package/dist/domain/{system-components → extensions}/scene-entity-control.d.ts +0 -0
  387. /package/dist/domain/{system-components → extensions}/scene-entity-control.js +0 -0
  388. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.d.ts +0 -0
  389. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.js +0 -0
  390. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.d.ts +0 -0
  391. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.js +0 -0
  392. /package/dist/domain/{system-components → extensions}/selectable-component.d.ts +0 -0
  393. /package/dist/domain/{system-components → extensions}/selectable-component.js +0 -0
  394. /package/dist/domain/{system-components → extensions}/sidebar-tabs.d.ts +0 -0
  395. /package/dist/domain/{system-components → extensions}/sidebar-tabs.js +0 -0
  396. /package/dist/domain/{system-components → extensions}/simple-summary.d.ts +0 -0
  397. /package/dist/domain/{system-components → extensions}/simple-summary.js +0 -0
  398. /package/dist/domain/{system-components → extensions}/size.d.ts +0 -0
  399. /package/dist/domain/{system-components → extensions}/size.js +0 -0
  400. /package/dist/domain/{system-components → extensions}/sketching-draw.d.ts +0 -0
  401. /package/dist/domain/{system-components → extensions}/sketching-draw.js +0 -0
  402. /package/dist/domain/{system-components → extensions}/summary-component.d.ts +0 -0
  403. /package/dist/domain/{system-components → extensions}/text-value.d.ts +0 -0
  404. /package/dist/domain/{system-components → extensions}/text-value.js +0 -0
  405. /package/dist/domain/{system-components → extensions}/tool-controls.d.ts +0 -0
  406. /package/dist/domain/{system-components → extensions}/tool-controls.js +0 -0
  407. /package/dist/domain/{system-components → extensions}/universal-sidebar-footer.d.ts +0 -0
  408. /package/dist/domain/{system-components → extensions}/universal-sidebar-footer.js +0 -0
  409. /package/dist/domain/{system-components → extensions}/view-controls.d.ts +0 -0
  410. /package/dist/domain/{system-components → extensions}/view-controls.js +0 -0
@@ -2,3 +2,11 @@ export * from './selectors.js';
2
2
  export type * from './types.js';
3
3
  export * from './actions.js';
4
4
  export * from './initialize.js';
5
+ export * from './invariant-builder.js';
6
+ export * from './memoize-expression.js';
7
+ export * from './prepare-action-implementations.js';
8
+ export * from './prepare-domain-expressions.js';
9
+ export * from './resolve-action-modules.js';
10
+ export * from './resolve-component-optic-modules.js';
11
+ export * from './resolve-expression-modules.js';
12
+ export * from './resolve-invariant-modules.js';
@@ -1 +1 @@
1
- export*from"./selectors.js";export*from"./actions.js";export*from"./initialize.js";
1
+ export*from"./selectors.js";export*from"./actions.js";export*from"./initialize.js";export*from"./invariant-builder.js";export*from"./memoize-expression.js";export*from"./prepare-action-implementations.js";export*from"./prepare-domain-expressions.js";export*from"./resolve-action-modules.js";export*from"./resolve-component-optic-modules.js";export*from"./resolve-expression-modules.js";export*from"./resolve-invariant-modules.js";
@@ -1 +1 @@
1
- import{SessionRole as e}from"@salsita-ai/contracts/api";import{resolveElementModules as t}from"../../application/element-registration.js";import{resolveHandlerModules as a}from"../../application/handler-registration.js";import{resolveImportedTransformers as n,resolveTransformerModules as o}from"../../application/resolve-imported-transformers.js";import{resolveComponentOpticModules as i}from"../../core/index.js";export const initializeSpec=s=>{let r=s.adminDomain.presets[0];if(!r)throw Error("Cannot register application spec because admin preset is required.");let m=a(s.handlers),c=t(s.elements),d=(e=>{let t={};for(let a of e)t[a.name]=(void 0)??a.name;return t})(m),l=(e=>{let t={},a=0;for(let n of e)if("entity"===n.type||"layout"===n.type)t[n.name]=(void 0)??n.name;else{let e=`icon:${a}`;t[e]=(void 0)??`${e}:${n.elements.length}`,a+=1}return t})(c),p=o(s.transformers?.importedTransformers??[]),y=s.transformers?.specTransformers??[];return{version:s.version,dataConfig:s.dataSpec??null,chunks:s.chunks,publishedDataHash:s.publishedDataHash,initialPublishedData:s.initialPublishedData,canCreate:s.features?.acl?.canCreate??Object.values(e),enableAdminRelease:s.features?.enableAdminRelease??!1,textLanguages:s.domain.textLanguages??s.adminDomain.textLanguages??["en"],baseResourcesUrl:s.resources?.baseResourcesUrl??s.defaultEnvs?.resourcesUrl??"",configurator:{factory:s.domain.domainFactory,presets:s.domain.presets,aliasMap:s.domain.domainFactory.context.aliasMap,entityReflections:s.domain.domainFactory.context.entityReflections,$entityReflections:s.domain.domainFactory.context.$entityReflections,expressions:s.domain.domainFactory.context.expressions,actions:s.domain.domainFactory.context.actions,actionImplementations:s.domain.domainFactory.context.actionImplementations,allowedRootEntityTypes:s.domain.domainFactory.context.allowedRootEntityTypes,migrate:s.domain.domainFactory.context.migrate,componentOptics:i(s.domain.componentOptics),createTransformers:e=>n(p,y,e),navigationStates:s.navigation?.navigationStates??[],viewStates:s.navigation?.viewStates??[],toolStates:s.navigation?.toolStates??[],exportStates:s.navigation?.exportStates??[],handlers:m,handlerHashes:d,elements:c,elementHashes:l,appLoader:s.ui?.appLoader??"universal",preview:s.ui?.preview??"auto",alwaysExpand:s.ui?.alwaysExpand??!1,theme:s.ui?.theme??{},assistant:s.assistant??null,deploymentQueryDisabled:s.resources?.deploymentQueryDisabled??!1,prefetchTextureUrls:s.resources?.prefetchTextureUrls??[],modelVersion:s.domain.domainFactory.modelVersion},admin:{factory:s.adminDomain.domainFactory,modelVersion:s.adminDomain.domainFactory.modelVersion,aliasMap:s.adminDomain.domainFactory.context.aliasMap,entityReflections:s.adminDomain.domainFactory.context.entityReflections,$entityReflections:s.adminDomain.domainFactory.context.$entityReflections,expressions:s.adminDomain.domainFactory.context.expressions,actions:s.adminDomain.domainFactory.context.actions,actionImplementations:s.adminDomain.domainFactory.context.actionImplementations,allowedRootEntityTypes:s.adminDomain.domainFactory.context.allowedRootEntityTypes,migrate:s.adminDomain.domainFactory.context.migrate,preset:r,componentOptics:i(s.adminDomain.componentOptics),navigationStates:s.adminNavigation?.navigationStates??[],viewStates:s.adminNavigation?.viewStates??[],handlers:m,handlerHashes:d,elements:c,elementHashes:l}}};
1
+ import{SessionRole as e}from"@salsita-ai/contracts/api";import{resolveElementModules as t}from"../../application/element-registration.js";import{resolveHandlerModules as a}from"../../application/handler-registration.js";import{resolveImportedTransformers as o,resolveTransformerModules as n}from"../../application/resolve-imported-transformers.js";import{resolveComponentOpticModules as i}from"./resolve-component-optic-modules.js";export const initializeSpec=s=>{let r=s.adminDomain.presets[0];if(!r)throw Error("Cannot register application spec because admin preset is required.");let m=a(s.handlers),c=t(s.elements),d=(e=>{let t={};for(let a of e)t[a.name]=(void 0)??a.name;return t})(m),l=(e=>{let t={},a=0;for(let o of e)if("entity"===o.type||"layout"===o.type)t[o.name]=(void 0)??o.name;else{let e=`icon:${a}`;t[e]=(void 0)??`${e}:${o.elements.length}`,a+=1}return t})(c),p=n(s.transformers?.importedTransformers??[]),y=s.transformers?.specTransformers??[];return{version:s.version,dataConfig:s.dataSpec??null,chunks:s.chunks,publishedDataHash:s.publishedDataHash,initialPublishedData:s.initialPublishedData,canCreate:s.features?.acl?.canCreate??Object.values(e),enableAdminRelease:s.features?.enableAdminRelease??!1,textLanguages:s.domain.textLanguages??s.adminDomain.textLanguages??["en"],baseResourcesUrl:s.resources?.baseResourcesUrl??s.defaultEnvs?.resourcesUrl??"",configurator:{factory:s.domain.domainFactory,presets:s.domain.presets,aliasMap:s.domain.domainFactory.context.aliasMap,entityReflections:s.domain.domainFactory.context.entityReflections,$entityReflections:s.domain.domainFactory.context.$entityReflections,expressions:s.domain.domainFactory.context.expressions,actions:s.domain.domainFactory.context.actions,actionImplementations:s.domain.domainFactory.context.actionImplementations,allowedRootEntityTypes:s.domain.domainFactory.context.allowedRootEntityTypes,migrate:s.domain.domainFactory.context.migrate,componentOptics:i(s.domain.componentOptics),createTransformers:e=>o(p,y,e),navigationStates:s.navigation?.navigationStates??[],viewStates:s.navigation?.viewStates??[],toolStates:s.navigation?.toolStates??[],exportStates:s.navigation?.exportStates??[],handlers:m,handlerHashes:d,elements:c,elementHashes:l,appLoader:s.ui?.appLoader??"universal",preview:s.ui?.preview??"auto",alwaysExpand:s.ui?.alwaysExpand??!1,theme:s.ui?.theme??{},assistant:s.assistant??null,deploymentQueryDisabled:s.resources?.deploymentQueryDisabled??!1,prefetchTextureUrls:s.resources?.prefetchTextureUrls??[],modelVersion:s.domain.domainFactory.modelVersion},admin:{factory:s.adminDomain.domainFactory,modelVersion:s.adminDomain.domainFactory.modelVersion,aliasMap:s.adminDomain.domainFactory.context.aliasMap,entityReflections:s.adminDomain.domainFactory.context.entityReflections,$entityReflections:s.adminDomain.domainFactory.context.$entityReflections,expressions:s.adminDomain.domainFactory.context.expressions,actions:s.adminDomain.domainFactory.context.actions,actionImplementations:s.adminDomain.domainFactory.context.actionImplementations,allowedRootEntityTypes:s.adminDomain.domainFactory.context.allowedRootEntityTypes,migrate:s.adminDomain.domainFactory.context.migrate,preset:r,componentOptics:i(s.adminDomain.componentOptics),navigationStates:s.adminNavigation?.navigationStates??[],viewStates:s.adminNavigation?.viewStates??[],handlers:m,handlerHashes:d,elements:c,elementHashes:l}}};
@@ -0,0 +1,61 @@
1
+ import type { OmitNever } from '@salsita-ai/common/utils';
2
+ import { type $DomainEntity, type AliasMap, type AliasedInvariants, type AnonymousExpression, type DeclaredInvariants, type DomainEntity, type EntityByType, type EventualAlias, type ExpandAlias, type ExtractFromAliasedRecord, type Invariant, type TypeOrAlias, type Violation } from '../../core/index.js';
3
+ import type { ProjectModule } from '../../project-modules/index.js';
4
+ type ConflictingInvariants<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, EXPECTED extends Partial<Record<ENTITIES['type'], ReadonlyArray<Invariant<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, string>>>>, IMPLEMENTED extends Partial<Record<ENTITIES['type'], ReadonlyArray<Invariant<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, string>>>>> = OmitNever<{
5
+ [K in keyof EXPECTED]: EXPECTED[K] extends [never] ? never : K extends keyof IMPLEMENTED ? ViolationTypeOfInvariants<EXPECTED[K]> extends ViolationTypeOfInvariants<IMPLEMENTED[K]> ? ViolationTypeOfInvariants<IMPLEMENTED[K]> extends ViolationTypeOfInvariants<EXPECTED[K]> ? never : {
6
+ missing: Exclude<ViolationTypeOfInvariants<EXPECTED[K]>, ViolationTypeOfInvariants<IMPLEMENTED[K]>>;
7
+ extra: Exclude<ViolationTypeOfInvariants<IMPLEMENTED[K]>, ViolationTypeOfInvariants<EXPECTED[K]>>;
8
+ } : {
9
+ missing: Exclude<ViolationTypeOfInvariants<EXPECTED[K]>, ViolationTypeOfInvariants<IMPLEMENTED[K]>>;
10
+ extra: Exclude<ViolationTypeOfInvariants<IMPLEMENTED[K]>, ViolationTypeOfInvariants<EXPECTED[K]>>;
11
+ } : {
12
+ missing: ViolationTypeOfInvariants<EXPECTED[K]>;
13
+ extra: never;
14
+ };
15
+ }>;
16
+ type ViolationOfInvariants<INVARIANTS> = INVARIANTS extends ReadonlyArray<infer INVARIANT> ? INVARIANT : never;
17
+ type ViolationTypeOfInvariants<INVARIANTS> = ViolationOfInvariants<INVARIANTS> extends Invariant<any, any, any, any, any, any, infer VIOLATION_TYPE> ? VIOLATION_TYPE : never;
18
+ type ExpandAndMergeInvariants<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ALIASES extends Readonly<Record<string, ENTITIES>>, EXPANDED extends Partial<Record<ENTITIES['type'], ReadonlyArray<Invariant<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, string>>>>, ALIASED extends Partial<Record<TypeOrAlias<ENTITIES, ALIASES>, ReadonlyArray<Invariant<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, string>>>>> = {
19
+ [K in keyof EXPANDED | ExpandAlias<ENTITIES, ALIASES, keyof ALIASED & string>['type']]: K extends ENTITIES['type'] ? ExtractFromAliasedRecord<ENTITIES, ALIASES, ALIASED, EventualAlias<ENTITIES, ALIASES, K> | K> extends infer INVARIANTS_FROM_ALIAS ? [
20
+ INVARIANTS_FROM_ALIAS
21
+ ] extends [never] ? K extends keyof EXPANDED ? EXPANDED[K] : never : K extends keyof EXPANDED ? ReadonlyArray<ViolationOfInvariants<EXPANDED[K]> | ViolationOfInvariants<INVARIANTS_FROM_ALIAS>> : ReadonlyArray<ViolationOfInvariants<INVARIANTS_FROM_ALIAS>> : never : never;
22
+ };
23
+ type ExpressionsFromInvariants<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, INVARIANTS extends Partial<Record<ENTITIES['type'], ReadonlyArray<Invariant<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, string>>>>> = {
24
+ [K in keyof INVARIANTS & ENTITIES['type']]: {
25
+ $violations: AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, EntityByType<ENTITIES, K>, ReadonlyArray<Violation<INVARIANTS[K] extends ReadonlyArray<infer ELEMENT> ? ELEMENT extends Invariant<any, any, any, any, any, any, infer VIOLATION_TYPE> ? VIOLATION_TYPE : never : never>>>;
26
+ };
27
+ };
28
+ type BuildViolationExpressions<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, INVARIANTS extends Partial<Record<ENTITIES['type'], ReadonlyArray<Invariant<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, string>>>>> = Record<never, never> extends ConflictingInvariants<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, DeclaredInvariants<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>, INVARIANTS> ? () => ExpressionsFromInvariants<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, INVARIANTS> : never;
29
+ export declare class InvariantBuilder<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ALIASES extends Record<string, ENTITIES>, INVARIANTS extends Partial<Record<ENTITIES['type'], ReadonlyArray<Invariant<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, string>>>> = Record<never, never>> {
30
+ private readonly aliasMap;
31
+ private readonly invariants;
32
+ constructor(aliasMap: AliasMap<ALIASES>, invariants?: INVARIANTS);
33
+ /**
34
+ * Adds the invariants of the `src/invariants/` files, as the generated barrel lists them, after
35
+ * checking each file against the folder's contract.
36
+ */
37
+ withInvariantModules(modules: readonly ProjectModule[]): InvariantBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES, ExpandAndMergeInvariants<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES, INVARIANTS, AliasedInvariants<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES, string>>>;
38
+ withInvariants<ALIASED_INVARIANTS extends AliasedInvariants<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES, string>>(aliasedInvariants: ALIASED_INVARIANTS): InvariantBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES, ExpandAndMergeInvariants<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES, INVARIANTS, ALIASED_INVARIANTS>>;
39
+ /**
40
+ * DO NOT USE in runtime!
41
+ *
42
+ * This is just a dev-time to review conflicts in declared and actually reportable violations.
43
+ * Use your IDEs code-completion to see which entities have conflicts and which violations are the conflicting ones.
44
+ *
45
+ * Use the helper when you see the following error on the `.buildViolationExpressions()` method call:
46
+ * ```
47
+ * TS2349: This expression is not callable.
48
+ * Type never has no call signatures.
49
+ * ```
50
+ * simply
51
+ * ```ts
52
+ * const violationExpressions = invariantBuilder
53
+ * .withInvariants(createBuiltinInvariants(domainComponentReader))
54
+ * .withInvariants(kitchenRangeInvariants)
55
+ * ._conflicts.Oven. // <- trigger code-completion here
56
+ * ```
57
+ */
58
+ _conflicts: ConflictingInvariants<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, DeclaredInvariants<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>, INVARIANTS>;
59
+ buildViolationExpressions: BuildViolationExpressions<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, INVARIANTS>;
60
+ }
61
+ export {};
@@ -0,0 +1 @@
1
+ import{expandAlias as a}from"../../core/index.js";import{resolveInvariantModules as i}from"./resolve-invariant-modules.js";export class InvariantBuilder{aliasMap;invariants;constructor(a,i={}){this.aliasMap=a,this.invariants=i}withInvariantModules(a){return this.withInvariants(i(a))}withInvariants(i){let t={...this.invariants};return Object.entries(i).forEach(([i,r])=>{a(this.aliasMap,i).forEach(a=>{t[a]=[...t[a]??[],...r]})}),new InvariantBuilder(this.aliasMap,t)}_conflicts={};buildViolationExpressions=()=>{let a={};return Object.entries(this.invariants).forEach(([i,t])=>{a[i]={$violations:{evaluate:(a,i,r)=>t.flatMap(t=>t.evaluate(a,i,r)),meta:{}}}}),a}}
@@ -1,5 +1,4 @@
1
- import type { DomainEntity, DomainEntityId } from '../model/index.js';
2
- import type { Expression, ExpressionOrigin } from './expression.js';
1
+ import type { DomainEntity, DomainEntityId, Expression, ExpressionOrigin } from '../../core/index.js';
3
2
  export interface ExpressionTrace {
4
3
  origin: ExpressionOrigin;
5
4
  entityId: DomainEntityId<string>;
@@ -1,4 +1,4 @@
1
- import type { ActionDefinitions, AnyActionImplementations } from '../core/index.js';
1
+ import type { ActionDefinitions, AnyActionImplementations } from '../../core/index.js';
2
2
  /** The declared actions that have no implementation, and the implementations of undeclared names. */
3
3
  export interface ActionImplementationConflicts {
4
4
  readonly missing: readonly string[];
@@ -0,0 +1,5 @@
1
+ export const findActionImplementationConflicts=(e,t)=>{let n=Object.entries(t).filter(([,e])=>"function"==typeof e).map(([e])=>e);return{missing:e.filter(e=>!n.includes(e)),extra:n.filter(t=>!e.includes(t))}};export const prepareActionImplementations=(e,t)=>{let{missing:n,extra:i}=findActionImplementationConflicts(Object.values(e).map(e=>e.name),t);if(0===n.length&&0===i.length)return t;let o=Error("Domain cannot be instantiated because there are conflicts between declared and implemented actions."+(n.length>0?`
2
+
3
+ Missing actions: ${n.join(", ")}. Add each to a default export of phx.domain.implementActions({ ... }) in src/actions/.`:"")+(i.length>0?`
4
+
5
+ Extra actions: ${i.join(", ")}. Declare each under "actions" in a spec file or remove its implementation.`:"")+"\n");if(n.length>0)throw o;return console.error(o),t};
@@ -1,4 +1,4 @@
1
- import type { AnyExpressions } from './expression.js';
1
+ import type { AnyExpressions } from '../../core/index.js';
2
2
  interface DomainExpressionsSource {
3
3
  readonly expressions: AnyExpressions;
4
4
  readonly $entityReflections: Record<string, {
@@ -0,0 +1,4 @@
1
+ import type { AnyActionImplementations } from '../../core/index.js';
2
+ import { type ProjectModule } from '../../project-modules/index.js';
3
+ /** Validates the `src/actions/` files and merges their implementations by action name; a later file wins. */
4
+ export declare const resolveActionModules: (modules: readonly ProjectModule[]) => AnyActionImplementations;
@@ -0,0 +1 @@
1
+ import{SHARED_FOLDER_HINT as e,createContractError as t,isRecord as o}from"../../project-modules/index.js";let i={expected:"an object of action implementations keyed by action name",fix:`Create it with phx.domain.implementActions({ ... }), ${e}.`},n=e=>"function"==typeof e;export const resolveActionModules=e=>e.reduce((e,r)=>{let c;if(!(o(c=r.exports)&&Object.values(c).every(n)))throw t(r.origin,i,r.exports);return{...e,...r.exports}},{});
@@ -0,0 +1,4 @@
1
+ import type { AnyDomainComponentOptic } from '../../core/index.js';
2
+ import { type ProjectModule } from '../../project-modules/index.js';
3
+ /** Validates the `src/components/` files, or the optics a generated file lists, and flattens them. */
4
+ export declare const resolveComponentOpticModules: (modules: readonly ProjectModule[]) => readonly AnyDomainComponentOptic[];
@@ -0,0 +1 @@
1
+ import{SHARED_FOLDER_HINT as t,isRecord as e,resolveListModule as n}from"../../project-modules/index.js";let o={expected:"an attached component, or an array of them",fix:`Create it with phx.domain.attachComponent(...) (phx.domain.admin.attachComponent(...) under src/admin/), ${t}.`},a=t=>e(t)&&("simple"===t.kind||"dynamic"===t.kind)&&"string"==typeof t.instanceName&&"function"==typeof t.read;export const resolveComponentOpticModules=t=>t.flatMap(t=>n(t,o,a));
@@ -0,0 +1,15 @@
1
+ import type { AnonymousExpression } from '../../core/index.js';
2
+ import { type ProjectModule } from '../../project-modules/index.js';
3
+ /** The expressions of one validated expression file, keyed by entity type or alias, then by expression name. */
4
+ export interface ExpressionModule {
5
+ readonly origin: string;
6
+ readonly expressions: Readonly<Record<string, Readonly<Record<string, AnyAnonymousExpression>>>>;
7
+ }
8
+ type AnyAnonymousExpression = AnonymousExpression<any, any, any, any, any, any, unknown>;
9
+ /**
10
+ * Validates the `src/expressions/` files and rejects an expression that two files define for the
11
+ * same entity type. Merging stays with the caller, because the domain builder and the editor expand
12
+ * aliases at different points; within one file the builder's own duplicate check applies.
13
+ */
14
+ export declare const resolveExpressionModules: (modules: readonly ProjectModule[], aliasMap: Readonly<Record<string, readonly string[]>>) => readonly ExpressionModule[];
15
+ export {};
@@ -0,0 +1 @@
1
+ import{SHARED_FOLDER_HINT as e,createContractError as o,isRecord as t}from"../../project-modules/index.js";let i={expected:"an object of expressions keyed by entity type or alias, then by expression name",fix:`Create it with phx.domain.implementCustomExpressions({ ... }) (phx.domain.admin.implementCustomExpressions({ ... }) under src/admin/), ${e}.`},r=e=>t(e)&&"function"==typeof e.evaluate,n=e=>t(e)&&Object.values(e).every(r);export const resolveExpressionModules=(e,r)=>{let s=new Map;return e.map(e=>{let p;if(!(t(p=e.exports)&&Object.values(p).every(n)))throw o(e.origin,i,e.exports);for(let[o,t]of Object.entries(e.exports))for(let i of r[o]??[o])for(let o of Object.keys(t)){let t=`${i}.${o}`,r=s.get(t);if(void 0!==r&&r!==e.origin)throw Error(`Duplicate expression ${t}: it is defined in both ${r} and ${e.origin}, which would make its value depend on file order. Keep one definition and remove the other.`);s.set(t,e.origin)}return{origin:e.origin,expressions:e.exports}})};
@@ -0,0 +1,6 @@
1
+ import type { Invariant } from '../../core/index.js';
2
+ import { type ProjectModule } from '../../project-modules/index.js';
3
+ type AnyInvariant = Invariant<any, any, any, any, any, any, string>;
4
+ /** Validates the `src/invariants/` files and concatenates their invariants per entity type or alias. */
5
+ export declare const resolveInvariantModules: (modules: readonly ProjectModule[]) => Readonly<Record<string, readonly AnyInvariant[]>>;
6
+ export {};
@@ -0,0 +1 @@
1
+ import{SHARED_FOLDER_HINT as e,createContractError as t,isRecord as r}from"../../project-modules/index.js";let o={expected:"an object of invariant lists keyed by entity type or alias",fix:`Create it with phx.domain.implementCustomInvariants({ ... }) (phx.domain.admin.implementCustomInvariants({ ... }) under src/admin/), ${e}.`},i=e=>r(e)&&"function"==typeof e.evaluate,n=e=>r(e)&&Object.values(e).every(e=>Array.isArray(e)&&e.every(i));export const resolveInvariantModules=e=>{let r={};for(let i of e){if(!n(i.exports))throw t(i.origin,o,i.exports);for(let[e,t]of Object.entries(i.exports))r[e]=[...r[e]??[],...t]}return r};
@@ -1,5 +1,5 @@
1
1
  import { type ComponentInstance, type ComponentSnapshot, type SystemComponentTypeConstraint } from '../core/index.js';
2
- import { type GroupedRecipeItems } from './common/recipes.js';
2
+ import { type GroupedRecipeItems } from '../system-components/index.js';
3
3
  export type ChildEntityRecipeHierarchyComponentState = {
4
4
  /**
5
5
  * The fixable violations.
@@ -0,0 +1 @@
1
+ import{SystemComponentBuilder as e}from"../core/index.js";import{GroupedRecipeItemsSchema as i}from"../system-components/index.js";export const childEntityRecipeHierarchyComponent=e.component("childEntityRecipeHierarchy").withState({type:"object",tsType:"ChildEntityRecipeHierarchyComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"ChildEntityRecipeHierarchyComponentState"}],properties:{recipes:i,fixableViolations:{type:"array",items:{type:"string"}}},definitions:{GroupedRecipeItems:i},required:["recipes"],additionalProperties:!1}).build();export const isChildEntityRecipeHierarchySnapshot=e=>e.componentInstance.componentType===childEntityRecipeHierarchyComponent;export const isChildEntityRecipeHierarchyInstance=e=>e.componentType===childEntityRecipeHierarchyComponent;
@@ -1,5 +1,5 @@
1
1
  import { type Localizable } from '@salsita-ai/common/utils';
2
- import { type AngleUnit } from '../../dimensions/angles.js';
2
+ import { type AngleUnit } from '../../dimensions/index.js';
3
3
  import type { DeepWritable } from '../../utils/deep-writable.js';
4
4
  export type AngleIndicatorBaseState = {
5
5
  /**
@@ -0,0 +1 @@
1
+ import{EnhancedLocalizableSchema as e}from"@salsita-ai/common/utils";import{AngleUnitSchema as t}from"../../dimensions/index.js";export const AngleIndicatorProperties={positionX:{type:"number"},positionY:{type:"number"},positionZ:{type:"number"},startAngle:{type:"number"},sweepAngle:{type:"number"},angleOffset:{type:"number"},arcDiameter:{type:"number"},lineWidth:{type:"number"},indicatorLineColor:{type:["string","number"]},indicatorLineDashed:{type:"boolean"},dashScale:{type:"number"},labelFont:{type:"string"},labelFontSize:{type:"number"},labelColor:{type:["string","number"]},labelDirection:{type:"string",enum:["auto","ltr","rtl"]},labelFillOpacity:{type:"number"},labelFontStyle:{type:"string",enum:["normal","italic"]},labelFontWeight:{type:["number","string"]},labelLetterSpacing:{type:"number"},labelLineHeight:{type:"number"},labelMaxWidth:{type:"number"},labelOutlineBlur:{type:["number","string"]},labelOutlineColor:{type:["string","number"]},labelOutlineOffsetX:{type:["number","string"]},labelOutlineOffsetY:{type:["number","string"]},labelOutlineOpacity:{type:"number"},labelOutlineWidth:{type:["number","string"]},labelOverflowWrap:{type:"string",enum:["normal","break-word"]},labelStrokeColor:{type:["string","number"]},labelStrokeOpacity:{type:"number"},labelStrokeWidth:{type:["number","string"]},labelWhiteSpace:{type:"string",enum:["normal","nowrap","pre-wrap"]},labelPrefix:e,labelPrefixFontColor:{type:["string","number"]},indicatorAlwaysVisible:{type:"boolean"},renderOrder:{type:"number"},screenSized:{type:"boolean"},angleUnit:t};
@@ -0,0 +1,4 @@
1
+ export { type AngleIndicatorBaseState, AngleIndicatorProperties } from './angle-indicator-schema.js';
2
+ export { ArrowHeadType, ArrowHeadTypeSchema } from './dimension-indicators.js';
3
+ export { type EditableIndicatorButtonVariant, EditableIndicatorButtonVariantSchema, } from './editable-indicator-button-variant.js';
4
+ export { type DimensionIndicatorBaseState, type DimensionIndicatorState, DimensionIndicatorBaseProperties, DimensionIndicatorProperties, } from './dimension-indicator-schema.js';
@@ -0,0 +1 @@
1
+ export{AngleIndicatorProperties}from"./angle-indicator-schema.js";export{ArrowHeadType,ArrowHeadTypeSchema}from"./dimension-indicators.js";export{EditableIndicatorButtonVariantSchema}from"./editable-indicator-button-variant.js";export{DimensionIndicatorBaseProperties,DimensionIndicatorProperties}from"./dimension-indicator-schema.js";
@@ -1,5 +1,5 @@
1
1
  import { type ComponentInstance, type ComponentSnapshot } from '../core/index.js';
2
- import { type PhoenixLayoutElement } from './phoenix-layout-elements/index.js';
2
+ import { type PhoenixLayoutElement } from '../system-components/index.js';
3
3
  export type CustomHeaderComponentState = {
4
4
  readonly children?: readonly PhoenixLayoutElement[];
5
5
  };
@@ -0,0 +1 @@
1
+ import{SystemComponentBuilder as e,isInstanceOfComponentType as t,isSnapshotOfComponentType as o}from"../core/index.js";import{PhoenixLayoutElementSchema as n}from"../system-components/index.js";export const customHeaderComponent=e.component("customHeader").withState({type:"object",tsType:"CustomHeaderComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"CustomHeaderComponentState"}],properties:{children:{type:"array",items:{$ref:"#/definitions/PhoenixLayoutElement"}}},definitions:{PhoenixLayoutElement:n},required:[],additionalProperties:!1}).build();export const isCustomHeaderSnapshot=o(customHeaderComponent);export const isCustomHeaderInstance=t(customHeaderComponent);
@@ -1 +1 @@
1
- import{SystemComponentBuilder as o}from"../core/index.js";import{ReactNodeSchema as e}from"./common/react-node-schema.js";export const customPriceFooterComponent=o.component("customPriceFooter").withState({type:"object",properties:{node:e},required:["node"],additionalProperties:!1}).build();
1
+ import{SystemComponentBuilder as o}from"../core/index.js";import{ReactNodeSchema as e}from"../system-components/index.js";export const customPriceFooterComponent=o.component("customPriceFooter").withState({type:"object",properties:{node:e},required:["node"],additionalProperties:!1}).build();
@@ -1,5 +1,5 @@
1
1
  import { type ComponentInstance, type ComponentSnapshot } from '../core/index.js';
2
- import { type PhoenixLayoutElement } from './phoenix-layout-elements/index.js';
2
+ import { type PhoenixLayoutElement } from '../system-components/index.js';
3
3
  export type CustomSidebarFooterComponentState = {
4
4
  readonly children?: readonly PhoenixLayoutElement[];
5
5
  };
@@ -0,0 +1 @@
1
+ import{SystemComponentBuilder as o,isInstanceOfComponentType as e,isSnapshotOfComponentType as t}from"../core/index.js";import{PhoenixLayoutElementSchema as r}from"../system-components/index.js";export const customSidebarFooterComponent=o.component("customSidebarFooter").withState({type:"object",tsType:"CustomSidebarFooterComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"CustomSidebarFooterComponentState"}],properties:{children:{type:"array",items:{$ref:"#/definitions/PhoenixLayoutElement"}}},definitions:{PhoenixLayoutElement:r},required:[],additionalProperties:!1}).build();export const isCustomSidebarFooterSnapshot=t(customSidebarFooterComponent);export const isCustomSidebarFooterInstance=e(customSidebarFooterComponent);
@@ -1,6 +1,7 @@
1
1
  import { type Localizable } from '@salsita-ai/common/utils';
2
2
  import { type ComponentInstance, type ComponentSnapshot } from '../core/index.js';
3
- import { type AngleIndicatorBaseState, type EditableIndicatorButtonVariant, type SceneEntityHtmlOpacityState, type SceneEntityHtmlVisibilityState } from './common/index.js';
3
+ import { type SceneEntityHtmlOpacityState, type SceneEntityHtmlVisibilityState } from '../system-components/index.js';
4
+ import { type AngleIndicatorBaseState, type EditableIndicatorButtonVariant } from './common/index.js';
4
5
  export type EditableAngleIndicatorComponentState = AngleIndicatorBaseState & SceneEntityHtmlOpacityState & SceneEntityHtmlVisibilityState & {
5
6
  /**
6
7
  * The instance name of the angleDimension component that will be used to update the angle.
@@ -0,0 +1 @@
1
+ import{EnhancedLocalizableSchema as t}from"@salsita-ai/common/utils";import{SystemComponentBuilder as e,isSnapshotOfComponentType as o}from"../core/index.js";import{SceneHtmlOpacityProperties as i,SceneHtmlVisibilityProperties as n}from"../system-components/index.js";import{AngleIndicatorProperties as a,EditableIndicatorButtonVariantSchema as r}from"./common/index.js";export const editableAngleIndicatorComponent=e.component("editableAngleIndicator").withState({tsType:"EditableAngleIndicatorComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"EditableAngleIndicatorComponentState"}],type:"object",properties:{...a,...i,...n,targetDimension:{type:"string"},fixableViolations:{type:"array",items:{type:"string"}},inputLabel:t,modalTitle:t,modalText:t,helperText:t,buttonVariant:r},required:["targetDimension","positionX","positionY","positionZ","startAngle","sweepAngle"],additionalProperties:!1}).build();export const isEditableAngleIndicatorSnapshot=o(editableAngleIndicatorComponent);
@@ -1,6 +1,7 @@
1
1
  import { type Localizable } from '@salsita-ai/common/utils';
2
2
  import { type ComponentInstance, type ComponentSnapshot } from '../core/index.js';
3
- import { type DimensionIndicatorState, type EditableIndicatorButtonVariant, type SceneEntityHtmlOpacityState, type SceneEntityHtmlVisibilityState } from './common/index.js';
3
+ import { type SceneEntityHtmlOpacityState, type SceneEntityHtmlVisibilityState } from '../system-components/index.js';
4
+ import { type DimensionIndicatorState, type EditableIndicatorButtonVariant } from './common/index.js';
4
5
  export type EditableDistanceDimensionIndicatorComponentState = DimensionIndicatorState & SceneEntityHtmlOpacityState & SceneEntityHtmlVisibilityState & {
5
6
  /**
6
7
  * The instance name of the dimension component that will be used to update the dimension.
@@ -0,0 +1 @@
1
+ import{EnhancedLocalizableSchema as t}from"@salsita-ai/common/utils";import{SystemComponentBuilder as e,isSnapshotOfComponentType as i}from"../core/index.js";import{SceneHtmlOpacityProperties as n,SceneHtmlVisibilityProperties as o}from"../system-components/index.js";import{DimensionIndicatorProperties as a,EditableIndicatorButtonVariantSchema as s}from"./common/index.js";export const editableDistanceDimensionIndicatorComponent=e.component("editableDistanceDimensionIndicator").withState({tsType:"EditableDistanceDimensionIndicatorComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"EditableDistanceDimensionIndicatorComponentState"}],type:"object",properties:{...a,...n,...o,targetDimension:{type:"string"},fixableViolations:{type:"array",items:{type:"string"}},inputLabel:t,modalTitle:t,modalText:t,helperText:t,buttonVariant:s,icon:{type:"string"}},required:["targetDimension","startX","startY","startZ","endX","endY","endZ"],additionalProperties:!1}).build();export const isEditableDistanceDimensionIndicatorSnapshot=i(editableDistanceDimensionIndicatorComponent);
@@ -1,6 +1,7 @@
1
1
  import { type Localizable } from '@salsita-ai/common/utils';
2
2
  import { type ComponentInstance, type ComponentSnapshot } from '../core/index.js';
3
- import { type EditableIndicatorButtonVariant, type SceneEntityHtmlOpacityState, type SceneEntityHtmlVisibilityState } from './common/index.js';
3
+ import { type SceneEntityHtmlOpacityState, type SceneEntityHtmlVisibilityState } from '../system-components/index.js';
4
+ import { type EditableIndicatorButtonVariant } from './common/index.js';
4
5
  import { type OffsetIndicatorComponentState } from './offset-indicator.js';
5
6
  export type EditableOffsetIndicatorComponentState = OffsetIndicatorComponentState & SceneEntityHtmlOpacityState & SceneEntityHtmlVisibilityState & {
6
7
  /**
@@ -0,0 +1 @@
1
+ import{EnhancedLocalizableSchema as t}from"@salsita-ai/common/utils";import{SystemComponentBuilder as e,isSnapshotOfComponentType as i}from"../core/index.js";import{DimensionUnitSchema as n,UnitsConfigSchema as r}from"../dimensions/index.js";import{SceneHtmlOpacityProperties as o,SceneHtmlVisibilityProperties as a}from"../system-components/index.js";import{DimensionIndicatorBaseProperties as s,EditableIndicatorButtonVariantSchema as p}from"./common/index.js";export const editableOffsetIndicatorComponent=e.component("editableOffsetIndicator").withState({tsType:"EditableOffsetIndicatorComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"EditableOffsetIndicatorComponentState"}],type:"object",properties:{...s,targetEntityOffsetAnchors:{type:"array",items:{type:"string"}},targetReferenceOffsetAnchors:{type:"array",items:{type:"string"}},referenceEntityIds:{type:"array",items:{type:"string"}},directionVector:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},additionalProperties:!1},directionVectorRelativeToEntityId:{type:"string"},maxDistance:{type:["number","null"]},minDistance:{type:["number","null"]},maxPerpendicularDistance:{type:["number","null"]},minPerpendicularDistance:{type:["number","null"]},visible:{type:"boolean"},force:{type:"boolean"},displayUnit:n,unitDisplayConfig:r,...o,...a,targetOffset:{type:"string"},fixableViolations:{type:"array",items:{type:"string"}},inputLabel:t,modalTitle:t,modalText:t,helperText:t,buttonVariant:p},required:["targetOffset","targetEntityOffsetAnchors","targetReferenceOffsetAnchors","directionVector"],additionalProperties:!1}).build();export const isEditableOffsetIndicatorSnapshot=i(editableOffsetIndicatorComponent);
@@ -1,6 +1,7 @@
1
1
  import { type Localizable } from '@salsita-ai/common/utils';
2
2
  import { type ComponentInstance, type ComponentSnapshot } from '../core/index.js';
3
- import { type DimensionIndicatorState, type EditableIndicatorButtonVariant, type SceneEntityHtmlOpacityState, type SceneEntityHtmlVisibilityState } from './common/index.js';
3
+ import { type SceneEntityHtmlOpacityState, type SceneEntityHtmlVisibilityState } from '../system-components/index.js';
4
+ import { type DimensionIndicatorState, type EditableIndicatorButtonVariant } from './common/index.js';
4
5
  export type EditableSizeIndicatorComponentState = DimensionIndicatorState & SceneEntityHtmlOpacityState & SceneEntityHtmlVisibilityState & {
5
6
  /**
6
7
  * The instance name of the size component that will be used to update the size.
@@ -0,0 +1 @@
1
+ import{EnhancedLocalizableSchema as t}from"@salsita-ai/common/utils";import{SystemComponentBuilder as e,isSnapshotOfComponentType as i}from"../core/index.js";import{SceneHtmlOpacityProperties as o,SceneHtmlVisibilityProperties as a}from"../system-components/index.js";import{DimensionIndicatorProperties as n,EditableIndicatorButtonVariantSchema as r}from"./common/index.js";export const editableSizeIndicatorComponent=e.component("editableSizeIndicator").withState({tsType:"EditableSizeIndicatorComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"EditableSizeIndicatorComponentState"}],type:"object",properties:{...n,...o,...a,targetSize:{type:"string"},fixableViolations:{type:"array",items:{type:"string"}},inputLabel:t,modalTitle:t,modalText:t,helperText:t,buttonVariant:r},required:["targetSize","startX","startY","startZ","endX","endY","endZ"],additionalProperties:!1}).build();export const isEditableSizeIndicatorSnapshot=i(editableSizeIndicatorComponent);
@@ -1,5 +1,5 @@
1
1
  import type { ReactNode } from 'react';
2
- import type { PhoenixEntityElement } from './phoenix-entity-elements/index.js';
2
+ import { type PhoenixEntityElement } from '../system-components/index.js';
3
3
  export interface EntityHeaderDeleteAction {
4
4
  readonly kind: 'delete';
5
5
  }
@@ -0,0 +1 @@
1
+ import{SystemComponentBuilder as e}from"../core/index.js";import{PhoenixEntityElementSchema as t,ReactNodeSchema as i}from"../system-components/index.js";export const entityHeaderComponent=e.component("entityHeader").withState({type:"object",tsType:"EntityHeaderComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"EntityHeaderComponentState"}],properties:{primaryButton:{anyOf:[i,{type:"object",properties:{kind:{type:"string",enum:["delete"]}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",enum:["replace"]},instanceNames:{type:"array",items:{type:"string"}}},required:["kind"],additionalProperties:!1},{$ref:"#/definitions/PhoenixEntityElement"}]},secondaryButton:{anyOf:[i,{type:"object",properties:{kind:{type:"string",enum:["delete"]}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",enum:["replace"]},instanceNames:{type:"array",items:{type:"string"}}},required:["kind"],additionalProperties:!1},{$ref:"#/definitions/PhoenixEntityElement"}]}},definitions:{PhoenixEntityElement:t},required:[],additionalProperties:!1}).build();
@@ -1 +1 @@
1
- import{SystemComponentBuilder as t}from"../core/index.js";import{ReactNodeSchema as e}from"./common/react-node-schema.js";export const finalizePageComponent=t.component("finalizePage").withState({type:"object",properties:{finalizeNavigationStates:{type:"array",items:{type:"string"}},page:e},required:["finalizeNavigationStates","page"],additionalProperties:!1}).build();export const finalizeButtonComponent=t.component("finalizeButton").withState({type:"object",properties:{button:e},required:["button"],additionalProperties:!1}).build();
1
+ import{SystemComponentBuilder as t}from"../core/index.js";import{ReactNodeSchema as e}from"../system-components/index.js";export const finalizePageComponent=t.component("finalizePage").withState({type:"object",properties:{finalizeNavigationStates:{type:"array",items:{type:"string"}},page:e},required:["finalizeNavigationStates","page"],additionalProperties:!1}).build();export const finalizeButtonComponent=t.component("finalizeButton").withState({type:"object",properties:{button:e},required:["button"],additionalProperties:!1}).build();
@@ -0,0 +1,69 @@
1
+ export * from './common/index.js';
2
+ export { attributeSwitchComponent, type AttributeSwitchComponent, type AttributeSwitchComponentState, } from './attribute-switch.js';
3
+ export { childEntityRecipeHierarchyComponent, type ChildEntityRecipeHierarchyComponent, type ChildEntityRecipeHierarchyComponentState, type ChildEntityRecipeHierarchyComponentSnapshot, type ChildEntityRecipeHierarchyComponentInstance, isChildEntityRecipeHierarchySnapshot, isChildEntityRecipeHierarchyInstance, } from './child-entity-recipe-hierarchy.js';
4
+ export { dimensionIndicatorComponent, type DimensionIndicatorComponent, type DimensionIndicatorComponentState, isDimensionIndicatorSnapshot, } from './dimension-indicator.js';
5
+ export { angleIndicatorComponent, isAngleIndicatorSnapshot, type AngleIndicatorComponent, type AngleIndicatorComponentSnapshot, type AngleIndicatorComponentState, } from './angle-indicator.js';
6
+ export { editableAngleIndicatorComponent, isEditableAngleIndicatorSnapshot, type EditableAngleIndicatorComponent, type EditableAngleIndicatorComponentInstance, type EditableAngleIndicatorComponentSnapshot, type EditableAngleIndicatorComponentState, } from './editable-angle-indicator.js';
7
+ export { editableDistanceDimensionIndicatorComponent, isEditableDistanceDimensionIndicatorSnapshot, type EditableDistanceDimensionIndicatorComponentInstance, type EditableDistanceDimensionIndicatorComponentSnapshot, type EditableDistanceDimensionIndicatorComponent, type EditableDistanceDimensionIndicatorComponentState, } from './editable-distance-dimension-indicator.js';
8
+ export { editableSizeIndicatorComponent, isEditableSizeIndicatorSnapshot, type EditableSizeIndicatorComponentInstance, type EditableSizeIndicatorComponentSnapshot, type EditableSizeIndicatorComponent, type EditableSizeIndicatorComponentState, } from './editable-size-indicator.js';
9
+ export { editableOffsetIndicatorComponent, isEditableOffsetIndicatorSnapshot, type EditableOffsetIndicatorComponentInstance, type EditableOffsetIndicatorComponentSnapshot, type EditableOffsetIndicatorComponent, type EditableOffsetIndicatorComponentState, } from './editable-offset-indicator.js';
10
+ export { offsetAnchorsComponent, isOffsetAnchorsSnapshot, type OffsetAnchorsComponent, type OffsetAnchorsComponentSnapshot, type OffsetAnchorsComponentState, } from './offset-anchors.js';
11
+ export { offsetIndicatorComponent, isOffsetIndicatorSnapshot, type OffsetIndicatorComponent, type OffsetIndicatorComponentSnapshot, type OffsetIndicatorComponentState, } from './offset-indicator.js';
12
+ export { listSelectorDimensionIndicatorComponent, isListSelectorDimensionIndicatorSnapshot, type ListSelectorDimensionIndicatorComponentInstance, type ListSelectorDimensionIndicatorComponentSnapshot, type ListSelectorDimensionIndicatorComponent, type ListSelectorDimensionIndicatorComponentState, } from './list-selector-dimension-indicator.js';
13
+ export { replaceEntityRecipeHierarchyComponent, isReplaceEntityRecipeHierarchySnapshot, isReplaceEntityRecipeHierarchyInstance, type ReplaceEntityRecipeHierarchyComponentSnapshot, type ReplaceEntityRecipeHierarchyComponent, type ReplaceEntityRecipeHierarchyComponentState, } from './replace-entity-recipe-hierarchy.js';
14
+ export { rotatableComponent, type RotatableComponent, type RotatableComponentState } from './rotatable.js';
15
+ export { isSceneEntityAddFabComponentSnapshot, sceneEntityAddFabComponent, type SceneEntityAddFabComponent, type SceneEntityAddFabComponentState, } from './scene-entity-add-fab.js';
16
+ export { isSceneEntityDeleteFabComponentSnapshot, sceneEntityDeleteFabComponent, type SceneEntityDeleteFabComponent, type SceneEntityDeleteFabComponentState, } from './scene-entity-delete-fab.js';
17
+ export { isSceneEntityNavigationHotspotComponentSnapshot, sceneEntityNavigationHotspotComponent, type SceneEntityNavigationHotspotComponent, type SceneEntityNavigationHotspotComponentState, } from './scene-entity-navigation-hotspot.js';
18
+ export { htmlHotspotComponent, isHtmlHotspotComponentSnapshot, isHtmlHotspotComponentInstance, type HtmlHotspotComponentSnapshot, type HtmlHotspotComponentInstance, type HtmlHotspotComponent, type HtmlHotspotComponentState, } from './scene-entity-html-hotspot.js';
19
+ export { sceneEntityObjectHtmlHotspotComponent, isSceneEntityObjectHtmlHotspotComponentSnapshot, isSceneEntityObjectHtmlHotspotComponentInstance, type SceneEntityObjectHtmlHotspotComponentSnapshot, type SceneEntityObjectHtmlHotspotComponentInstance, type SceneEntityObjectHtmlHotspotComponent, type SceneEntityObjectHtmlHotspotComponentState, } from './scene-entity-object-html-hotspot.js';
20
+ export { isSceneEntitySelectHotspotComponentSnapshot, sceneEntitySelectHotspotComponent, type SceneEntitySelectHotspotComponent, type SceneEntitySelectHotspotComponentState, } from './scene-entity-select-hotspot.js';
21
+ export { customPriceFooterComponent, type CustomPriceFooterComponent, type CustomPriceFooterComponentState, } from './custom-price-footer.js';
22
+ export { entityHeaderComponent, type EntityHeaderAction, type EntityHeaderComponent, type EntityHeaderComponentState, type EntityHeaderDeleteAction, type EntityHeaderReplaceAction, } from './entity-header.js';
23
+ export { finalizeButtonComponent, finalizePageComponent, type FinalizeButtonComponent, type FinalizeButtonComponentState, type FinalizePageComponent, type FinalizePageComponentState, } from './finalize-component.js';
24
+ export { fitSelectionOrthographicCameraComponent, isFitSelectionOrthographicCameraComponent, type FitSelectionOrthographicCameraComponent, type FitSelectionOrthographicCameraComponentState, } from './fit-selection-orthographic-camera-component.js';
25
+ export { fitSelectionPerspectiveCameraComponent, isFitSelectionPerspectiveCameraComponent, type FitSelectionPerspectiveCameraComponent, type FitSelectionPerspectiveCameraComponentState, } from './fit-selection-perspective-camera-component.js';
26
+ export { autorotateCameraComponent, isAutorotateCameraComponent, type AutorotateCameraComponent, type AutorotateCameraComponentState, } from './autorotate-camera-component.js';
27
+ export { selectableComponent, type SelectableComponent, type SelectableComponentState } from './selectable-component.js';
28
+ export { sizeComponent, isSizeSnapshot, isSizeInstance, type SizeComponentSnapshot, type SizeComponent, type SizeComponentInstance, type SizeComponentState, } from './size.js';
29
+ export { offsetComponent, isOffsetSnapshot, isOffsetInstance, type OffsetComponentSnapshot, type OffsetComponent, type OffsetComponentInstance, type OffsetComponentState, } from './offset.js';
30
+ export { navigationStepsComponent, type NavigationStep, type NavigationStepsComponent, type NavigationStepsComponentState, } from './navigation-steps.js';
31
+ export { propertyPageComponent, type PropertyPageComponent, type PropertyPageComponentState, type PropertyPageComponentSnapshot, type PropertyPageComponentInstance, isPropertyPageSnapshot, isPropertyPageInstance, } from './property-page.js';
32
+ export { rotationHandleComponent, type RotatableSurface, type RotationHandleComponent, type RotationHandleComponentState, } from './rotation-handle.js';
33
+ export { saveTemplateThumbnailComponent, type SaveTemplateThumbnailComponent, type SaveTemplateThumbnailComponentState, } from './save-template-thumbnail.js';
34
+ export { sceneEntityAnimationComponent, type SceneEntityAnimationComponent, type SceneEntityAnimationComponentState, } from './scene-entity-animation.js';
35
+ export { sidebarTabsComponent, type SidebarTab, type SidebarTabsComponent, type SidebarTabsComponentState, type SidebarTabsComponentSnapshot, type SidebarTabsComponentInstance, isSidebarTabsSnapshot, isSidebarTabsInstance, } from './sidebar-tabs.js';
36
+ export { isSimpleSummaryComponentSnapshot, simpleSummaryComponent, type SimpleSummaryComponent, type SimpleSummaryComponentState, type SimpleSummaryItem, } from './simple-summary.js';
37
+ export { customSummaryPageComponent, isCustomSummaryComponentSnapshot, type CustomSummaryPageComponent, type CustomSummaryPageComponentState, } from './summary-component.js';
38
+ export { colorValueComponent, type ColorValueComponent, type ColorValueComponentState } from './color-value.js';
39
+ export { textValueComponent, type TextValueComponent, type TextValueComponentState } from './text-value.js';
40
+ export { toolControlsComponent, type ToolControlsComponent, type ToolControlsComponentState } from './tool-controls.js';
41
+ export { viewControlsComponent, type ViewControlsComponent, type ViewControlsComponentState } from './view-controls.js';
42
+ export { multilingualTextValueComponent, type MultilingualTextValueComponent, type MultilingualTextValueComponentState, } from './multilingual-text-value.js';
43
+ export { isSceneEntityFloorObjectComponent, sceneEntityFloorObjectComponent, type SceneEntityFloorObjectComponent, type SceneEntityFloorObjectComponentState, } from './scene-entity-floor-object.js';
44
+ export { isSceneEntityWallObjectComponent, sceneEntityWallObjectComponent, type SceneEntityWallObjectComponent, type SceneEntityWallObjectComponentState, } from './scene-entity-wall-object.js';
45
+ export { isSketchingDrawSnapshot, isSketchingDrawInstance, sketchingDrawComponent, type SketchingDrawComponentSnapshot, type SketchingDrawComponentState, type SketchingDrawComponent, type SketchingDrawComponentInstance, } from './sketching-draw.js';
46
+ export { isSketchingEditSnapshot, isSketchingEditInstance, sketchingEditComponent, type SketchingEditComponentSnapshot, type SketchingEditComponentState, type SketchingEditComponent, type SketchingEditComponentInstance, } from './sketching-edit.js';
47
+ export { toolbarComponent, type ToolbarComponent, type ToolbarComponentState, type ToolbarComponentSnapshot, type ToolbarComponentInstance, isToolbarSnapshot, isToolbarInstance, } from './toolbar.js';
48
+ export { finalizeActionComponent, type FinalizeActionComponent, type FinalizeActionComponentState, type FinalizeActionComponentSnapshot, type FinalizeActionComponentInstance, isFinalizeActionSnapshot, isFinalizeActionInstance, } from './finalize-action.js';
49
+ export { otherActionComponent, type OtherActionComponent, type OtherActionComponentState, type OtherActionComponentSnapshot, type OtherActionComponentInstance, isOtherActionSnapshot, isOtherActionInstance, } from './other-action.js';
50
+ export { hiddenSidebarFooterComponent, type HiddenSidebarFooterComponent, type HiddenSidebarFooterComponentState, type HiddenSidebarFooterComponentSnapshot, type HiddenSidebarFooterComponentInstance, isHiddenSidebarFooterSnapshot, isHiddenSidebarFooterInstance, } from './hidden-sidebar-footer.js';
51
+ export { universalSidebarFooterComponent, type UniversalSidebarFooterComponent, type UniversalSidebarFooterComponentState, type UniversalSidebarFooterComponentSnapshot, type UniversalSidebarFooterComponentInstance, isUniversalSidebarFooterSnapshot, isUniversalSidebarFooterInstance, } from './universal-sidebar-footer.js';
52
+ export { basicSidebarFooterComponent, type BasicSidebarFooterComponent, type BasicSidebarFooterComponentState, type BasicSidebarFooterComponentSnapshot, type BasicSidebarFooterComponentInstance, isBasicSidebarFooterSnapshot, isBasicSidebarFooterInstance, } from './basic-sidebar-footer.js';
53
+ export { readSidebarFooterComponent, type ReadSidebarFooterComponent, type ReadSidebarFooterComponentState, type ReadSidebarFooterComponentSnapshot, type ReadSidebarFooterComponentInstance, isReadSidebarFooterSnapshot, isReadSidebarFooterInstance, } from './read-sidebar-footer.js';
54
+ export { customSidebarFooterComponent, type CustomSidebarFooterComponent, type CustomSidebarFooterComponentState, type CustomSidebarFooterComponentSnapshot, type CustomSidebarFooterComponentInstance, isCustomSidebarFooterSnapshot, isCustomSidebarFooterInstance, } from './custom-sidebar-footer.js';
55
+ export { canvasPaddingComponent, isCanvasPaddingInstance, isCanvasPaddingSnapshot, type CanvasPaddingComponent, type CanvasPaddingComponentInstance, type CanvasPaddingComponentSnapshot, type CanvasPaddingComponentState, } from './canvas-padding.js';
56
+ export { floatingHeaderComponent, type FloatingHeaderComponent, type FloatingHeaderComponentState, type FloatingHeaderComponentSnapshot, type FloatingHeaderComponentInstance, isFloatingHeaderSnapshot, isFloatingHeaderInstance, } from './floating-header.js';
57
+ export { customHeaderComponent, type CustomHeaderComponent, type CustomHeaderComponentState, type CustomHeaderComponentSnapshot, type CustomHeaderComponentInstance, isCustomHeaderSnapshot, isCustomHeaderInstance, } from './custom-header.js';
58
+ export { fixedHeaderComponent, type FixedHeaderComponent, type FixedHeaderComponentState, type FixedHeaderComponentSnapshot, type FixedHeaderComponentInstance, isFixedHeaderSnapshot, isFixedHeaderInstance, } from './fixed-header.js';
59
+ export { hiddenHeaderComponent, type HiddenHeaderComponent, type HiddenHeaderComponentState, type HiddenHeaderComponentSnapshot, type HiddenHeaderComponentInstance, isHiddenHeaderSnapshot, isHiddenHeaderInstance, } from './hidden-header.js';
60
+ export { horizontalTabsComponent, type HorizontalTabsComponentSnapshot, type HorizontalTabsComponentInstance, isHorizontalTabsSnapshot, isHorizontalTabsInstance, type HorizontalTab, type HorizontalTabsComponent, type HorizontalTabsComponentState, } from './horizontal-tabs.js';
61
+ export { canvasConfigComponent, isCanvasConfigInstance, isCanvasConfigSnapshot, type CanvasConfigComponent, type CanvasConfigComponentInstance, type CanvasConfigComponentSnapshot, type CanvasConfigComponentState, } from './canvas-config.js';
62
+ export { canvasPresetEnvironmentComponent, isCanvasPresetEnvironmentInstance, isCanvasPresetEnvironmentSnapshot, type CanvasPresetEnvironmentComponent, type CanvasPresetEnvironmentComponentInstance, type CanvasPresetEnvironmentComponentSnapshot, type CanvasPresetEnvironmentComponentState, } from './canvas-preset-environment.js';
63
+ export { canvasCustomEnvironmentComponent, isCanvasCustomEnvironmentInstance, isCanvasCustomEnvironmentSnapshot, type CanvasCustomEnvironmentComponent, type CanvasCustomEnvironmentComponentInstance, type CanvasCustomEnvironmentComponentSnapshot, type CanvasCustomEnvironmentComponentState, } from './canvas-custom-environment.js';
64
+ export { toolMenuFabComponent, isToolMenuFabComponentSnapshot, isToolMenuFabComponentInstance, type ToolMenuFabOption, type ToolMenuFabComponent, type ToolMenuFabComponentInstance, type ToolMenuFabComponentSnapshot, type ToolMenuFabComponentState, } from './tool-menu-fab.js';
65
+ export { exitToolModeFabComponent, isExitToolModeFabComponentSnapshot, isExitToolModeFabComponentInstance, type ExitToolModeFabComponent, type ExitToolModeFabComponentInstance, type ExitToolModeFabComponentSnapshot, type ExitToolModeFabComponentState, } from './exit-tool-mode-fab.js';
66
+ export { clientSideImageComponent, type ClientSideImageComponent, type ClientSideImageComponentState, } from './client-side-image.js';
67
+ export { cameraBasedHiddenEntityComponent, type CameraBasedHiddenEntityComponent, type CameraBasedHiddenEntityComponentState, isCameraBasedHiddenEntityComponent, } from './camera-based-hidden-entity.js';
68
+ export { cameraBasedHiddenEntityObjectComponent, type CameraBasedHiddenEntityObjectComponent, type CameraBasedHiddenEntityObjectComponentState, isCameraBasedHiddenEntityObjectComponent, } from './camera-based-hidden-entity-object.js';
69
+ export { sceneEntityControlComponent, isSceneEntityControlComponentSnapshot, isSceneEntityControlComponentInstance, type SceneEntityControlComponentSnapshot, type SceneEntityControlComponentInstance, type SceneEntityControlComponent, type SceneEntityControlComponentState, } from './scene-entity-control.js';
@@ -0,0 +1 @@
1
+ export*from"./common/index.js";export{attributeSwitchComponent}from"./attribute-switch.js";export{childEntityRecipeHierarchyComponent,isChildEntityRecipeHierarchySnapshot,isChildEntityRecipeHierarchyInstance}from"./child-entity-recipe-hierarchy.js";export{dimensionIndicatorComponent,isDimensionIndicatorSnapshot}from"./dimension-indicator.js";export{angleIndicatorComponent,isAngleIndicatorSnapshot}from"./angle-indicator.js";export{editableAngleIndicatorComponent,isEditableAngleIndicatorSnapshot}from"./editable-angle-indicator.js";export{editableDistanceDimensionIndicatorComponent,isEditableDistanceDimensionIndicatorSnapshot}from"./editable-distance-dimension-indicator.js";export{editableSizeIndicatorComponent,isEditableSizeIndicatorSnapshot}from"./editable-size-indicator.js";export{editableOffsetIndicatorComponent,isEditableOffsetIndicatorSnapshot}from"./editable-offset-indicator.js";export{offsetAnchorsComponent,isOffsetAnchorsSnapshot}from"./offset-anchors.js";export{offsetIndicatorComponent,isOffsetIndicatorSnapshot}from"./offset-indicator.js";export{listSelectorDimensionIndicatorComponent,isListSelectorDimensionIndicatorSnapshot}from"./list-selector-dimension-indicator.js";export{replaceEntityRecipeHierarchyComponent,isReplaceEntityRecipeHierarchySnapshot,isReplaceEntityRecipeHierarchyInstance}from"./replace-entity-recipe-hierarchy.js";export{rotatableComponent}from"./rotatable.js";export{isSceneEntityAddFabComponentSnapshot,sceneEntityAddFabComponent}from"./scene-entity-add-fab.js";export{isSceneEntityDeleteFabComponentSnapshot,sceneEntityDeleteFabComponent}from"./scene-entity-delete-fab.js";export{isSceneEntityNavigationHotspotComponentSnapshot,sceneEntityNavigationHotspotComponent}from"./scene-entity-navigation-hotspot.js";export{htmlHotspotComponent,isHtmlHotspotComponentSnapshot,isHtmlHotspotComponentInstance}from"./scene-entity-html-hotspot.js";export{sceneEntityObjectHtmlHotspotComponent,isSceneEntityObjectHtmlHotspotComponentSnapshot,isSceneEntityObjectHtmlHotspotComponentInstance}from"./scene-entity-object-html-hotspot.js";export{isSceneEntitySelectHotspotComponentSnapshot,sceneEntitySelectHotspotComponent}from"./scene-entity-select-hotspot.js";export{customPriceFooterComponent}from"./custom-price-footer.js";export{entityHeaderComponent}from"./entity-header.js";export{finalizeButtonComponent,finalizePageComponent}from"./finalize-component.js";export{fitSelectionOrthographicCameraComponent,isFitSelectionOrthographicCameraComponent}from"./fit-selection-orthographic-camera-component.js";export{fitSelectionPerspectiveCameraComponent,isFitSelectionPerspectiveCameraComponent}from"./fit-selection-perspective-camera-component.js";export{autorotateCameraComponent,isAutorotateCameraComponent}from"./autorotate-camera-component.js";export{selectableComponent}from"./selectable-component.js";export{sizeComponent,isSizeSnapshot,isSizeInstance}from"./size.js";export{offsetComponent,isOffsetSnapshot,isOffsetInstance}from"./offset.js";export{navigationStepsComponent}from"./navigation-steps.js";export{propertyPageComponent,isPropertyPageSnapshot,isPropertyPageInstance}from"./property-page.js";export{rotationHandleComponent}from"./rotation-handle.js";export{saveTemplateThumbnailComponent}from"./save-template-thumbnail.js";export{sceneEntityAnimationComponent}from"./scene-entity-animation.js";export{sidebarTabsComponent,isSidebarTabsSnapshot,isSidebarTabsInstance}from"./sidebar-tabs.js";export{isSimpleSummaryComponentSnapshot,simpleSummaryComponent}from"./simple-summary.js";export{customSummaryPageComponent,isCustomSummaryComponentSnapshot}from"./summary-component.js";export{colorValueComponent}from"./color-value.js";export{textValueComponent}from"./text-value.js";export{toolControlsComponent}from"./tool-controls.js";export{viewControlsComponent}from"./view-controls.js";export{multilingualTextValueComponent}from"./multilingual-text-value.js";export{isSceneEntityFloorObjectComponent,sceneEntityFloorObjectComponent}from"./scene-entity-floor-object.js";export{isSceneEntityWallObjectComponent,sceneEntityWallObjectComponent}from"./scene-entity-wall-object.js";export{isSketchingDrawSnapshot,isSketchingDrawInstance,sketchingDrawComponent}from"./sketching-draw.js";export{isSketchingEditSnapshot,isSketchingEditInstance,sketchingEditComponent}from"./sketching-edit.js";export{toolbarComponent,isToolbarSnapshot,isToolbarInstance}from"./toolbar.js";export{finalizeActionComponent,isFinalizeActionSnapshot,isFinalizeActionInstance}from"./finalize-action.js";export{otherActionComponent,isOtherActionSnapshot,isOtherActionInstance}from"./other-action.js";export{hiddenSidebarFooterComponent,isHiddenSidebarFooterSnapshot,isHiddenSidebarFooterInstance}from"./hidden-sidebar-footer.js";export{universalSidebarFooterComponent,isUniversalSidebarFooterSnapshot,isUniversalSidebarFooterInstance}from"./universal-sidebar-footer.js";export{basicSidebarFooterComponent,isBasicSidebarFooterSnapshot,isBasicSidebarFooterInstance}from"./basic-sidebar-footer.js";export{readSidebarFooterComponent,isReadSidebarFooterSnapshot,isReadSidebarFooterInstance}from"./read-sidebar-footer.js";export{customSidebarFooterComponent,isCustomSidebarFooterSnapshot,isCustomSidebarFooterInstance}from"./custom-sidebar-footer.js";export{canvasPaddingComponent,isCanvasPaddingInstance,isCanvasPaddingSnapshot}from"./canvas-padding.js";export{floatingHeaderComponent,isFloatingHeaderSnapshot,isFloatingHeaderInstance}from"./floating-header.js";export{customHeaderComponent,isCustomHeaderSnapshot,isCustomHeaderInstance}from"./custom-header.js";export{fixedHeaderComponent,isFixedHeaderSnapshot,isFixedHeaderInstance}from"./fixed-header.js";export{hiddenHeaderComponent,isHiddenHeaderSnapshot,isHiddenHeaderInstance}from"./hidden-header.js";export{horizontalTabsComponent,isHorizontalTabsSnapshot,isHorizontalTabsInstance}from"./horizontal-tabs.js";export{canvasConfigComponent,isCanvasConfigInstance,isCanvasConfigSnapshot}from"./canvas-config.js";export{canvasPresetEnvironmentComponent,isCanvasPresetEnvironmentInstance,isCanvasPresetEnvironmentSnapshot}from"./canvas-preset-environment.js";export{canvasCustomEnvironmentComponent,isCanvasCustomEnvironmentInstance,isCanvasCustomEnvironmentSnapshot}from"./canvas-custom-environment.js";export{toolMenuFabComponent,isToolMenuFabComponentSnapshot,isToolMenuFabComponentInstance}from"./tool-menu-fab.js";export{exitToolModeFabComponent,isExitToolModeFabComponentSnapshot,isExitToolModeFabComponentInstance}from"./exit-tool-mode-fab.js";export{clientSideImageComponent}from"./client-side-image.js";export{cameraBasedHiddenEntityComponent,isCameraBasedHiddenEntityComponent}from"./camera-based-hidden-entity.js";export{cameraBasedHiddenEntityObjectComponent,isCameraBasedHiddenEntityObjectComponent}from"./camera-based-hidden-entity-object.js";export{sceneEntityControlComponent,isSceneEntityControlComponentSnapshot,isSceneEntityControlComponentInstance}from"./scene-entity-control.js";
@@ -1,6 +1,7 @@
1
1
  import { type Localizable } from '@salsita-ai/common/utils';
2
2
  import { type ComponentInstance, type ComponentSnapshot } from '../core/index.js';
3
- import { type DimensionIndicatorState, type EditableIndicatorButtonVariant, type SceneEntityHtmlOpacityState, type SceneEntityHtmlVisibilityState } from './common/index.js';
3
+ import { type SceneEntityHtmlOpacityState, type SceneEntityHtmlVisibilityState } from '../system-components/index.js';
4
+ import { type DimensionIndicatorState, type EditableIndicatorButtonVariant } from './common/index.js';
4
5
  export type ListSelectorDimensionIndicatorComponentState = DimensionIndicatorState & SceneEntityHtmlOpacityState & SceneEntityHtmlVisibilityState & {
5
6
  /**
6
7
  * The instance name of the dimension component that will be used to update the dimension.
@@ -0,0 +1 @@
1
+ import{EnhancedLocalizableSchema as t}from"@salsita-ai/common/utils";import{SystemComponentBuilder as e,isSnapshotOfComponentType as i}from"../core/index.js";import{SceneHtmlOpacityProperties as o,SceneHtmlVisibilityProperties as n}from"../system-components/index.js";import{DimensionIndicatorProperties as s,EditableIndicatorButtonVariantSchema as r}from"./common/index.js";export const listSelectorDimensionIndicatorComponent=e.component("listSelectorDimensionIndicator").withState({tsType:"ListSelectorDimensionIndicatorComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"ListSelectorDimensionIndicatorComponentState"}],type:"object",properties:{...s,...o,...n,targetDistanceDimensionSelect:{type:"string"},fixableViolations:{type:"array",items:{type:"string"}},menuTitle:t,menuMessage:t,buttonVariant:r},required:["targetDistanceDimensionSelect","startX","startY","startZ","endX","endY","endZ"],additionalProperties:!1}).build();export const isListSelectorDimensionIndicatorSnapshot=i(listSelectorDimensionIndicatorComponent);
@@ -1,6 +1,6 @@
1
1
  import { type ReactNode } from 'react';
2
2
  import { type ComponentInstance, type ComponentSnapshot } from '../core/index.js';
3
- import { type PhoenixEntityElement } from './phoenix-entity-elements/index.js';
3
+ import { type PhoenixEntityElement } from '../system-components/index.js';
4
4
  export type PropertyPageComponentState = {
5
5
  readonly page?: Exclude<ReactNode, undefined>;
6
6
  readonly children?: readonly PhoenixEntityElement[];
@@ -0,0 +1 @@
1
+ import{SystemComponentBuilder as e,isInstanceOfComponentType as t,isSnapshotOfComponentType as o}from"../core/index.js";import{PhoenixEntityElementSchema as r,ReactNodeSchema as n}from"../system-components/index.js";export const propertyPageComponent=e.component("propertyPage").withState({type:"object",tsType:"PropertyPageComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"PropertyPageComponentState"}],properties:{page:n,children:{type:"array",items:{$ref:"#/definitions/PhoenixEntityElement"}}},definitions:{PhoenixEntityElement:r},required:[],additionalProperties:!1}).build();export const isPropertyPageSnapshot=o(propertyPageComponent);export const isPropertyPageInstance=t(propertyPageComponent);
@@ -1,5 +1,5 @@
1
1
  import { type ComponentInstance, type ComponentSnapshot, type SystemComponentTypeConstraint } from '../core/index.js';
2
- import { type GroupedRecipeItems } from './common/recipes.js';
2
+ import { type GroupedRecipeItems } from '../system-components/index.js';
3
3
  export type ReplaceEntityRecipeHierarchyComponentState = {
4
4
  /**
5
5
  * The fixable violations.
@@ -0,0 +1 @@
1
+ import{SystemComponentBuilder as e}from"../core/index.js";import{GroupedRecipeItemsSchema as t}from"../system-components/index.js";export const replaceEntityRecipeHierarchyComponent=e.component("replaceEntityRecipeHierarchy").withState({type:"object",tsType:"ReplaceEntityRecipeHierarchyComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"ReplaceEntityRecipeHierarchyComponentState"}],properties:{recipes:t,fixableViolations:{type:"array",items:{type:"string"}}},definitions:{GroupedRecipeItems:t},required:["recipes"],additionalProperties:!1}).build();export const isReplaceEntityRecipeHierarchySnapshot=e=>e.componentInstance.componentType===replaceEntityRecipeHierarchyComponent;export const isReplaceEntityRecipeHierarchyInstance=e=>e.componentType===replaceEntityRecipeHierarchyComponent;
@@ -1,5 +1,5 @@
1
1
  import { type Localizable } from '@salsita-ai/common/utils';
2
- import type { SceneEntityHtmlOpacityState, SceneEntityHtmlPositionState, SceneEntityHtmlTooltipState, SceneEntityHtmlVisibilityState } from './common/scene-entity-control-schema.js';
2
+ import { type SceneEntityHtmlOpacityState, type SceneEntityHtmlPositionState, type SceneEntityHtmlTooltipState, type SceneEntityHtmlVisibilityState } from '../system-components/index.js';
3
3
  export type SceneEntityAddFabComponentState = SceneEntityHtmlPositionState & SceneEntityHtmlOpacityState & SceneEntityHtmlVisibilityState & SceneEntityHtmlTooltipState & {
4
4
  /**
5
5
  * `instanceName`s of the recipe components to offer to add.
@@ -0,0 +1 @@
1
+ import{EnhancedLocalizableSchema as e}from"@salsita-ai/common/utils";import{SystemComponentBuilder as t,isSnapshotOfComponentType as n}from"../core/index.js";import{SceneHtmlOpacityProperties as o,SceneHtmlPositionProperties as i,SceneHtmlTooltipProperties as s,SceneHtmlVisibilityProperties as a}from"../system-components/index.js";export const sceneEntityAddFabComponent=t.component("sceneEntityAddFab").withState({type:"object",tsType:"SceneEntityAddFabComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityAddFabComponentState"}],properties:{...i,...o,...a,...s,instanceNames:{type:"array",items:{type:"string"}},hiddenViolations:{type:"array",items:{type:"string"}},label:e,icon:{type:"string"},skipMenuWhenOnlyOne:{type:"boolean"},hideWhenNone:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isSceneEntityAddFabComponentSnapshot=n(sceneEntityAddFabComponent);
@@ -1,5 +1,5 @@
1
1
  import type { Localizable } from '@salsita-ai/common/utils';
2
- import type { SceneEntityHtmlOpacityState, SceneEntityHtmlPositionState, SceneEntityHtmlTooltipState, SceneEntityHtmlVisibilityState } from './common/scene-entity-control-schema.js';
2
+ import { type SceneEntityHtmlOpacityState, type SceneEntityHtmlPositionState, type SceneEntityHtmlTooltipState, type SceneEntityHtmlVisibilityState } from '../system-components/index.js';
3
3
  export type SceneEntityDeleteFabComponentState = SceneEntityHtmlPositionState & SceneEntityHtmlOpacityState & SceneEntityHtmlVisibilityState & SceneEntityHtmlTooltipState & {
4
4
  /**
5
5
  * Types of violations that won't be displayed in the "disabled" tooltip.
@@ -0,0 +1 @@
1
+ import{SystemComponentBuilder as e,isSnapshotOfComponentType as t}from"../core/index.js";import{SceneHtmlOpacityProperties as n,SceneHtmlPositionProperties as o,SceneHtmlTooltipProperties as i,SceneHtmlVisibilityProperties as p}from"../system-components/index.js";export const sceneEntityDeleteFabComponent=e.component("sceneEntityDeleteFab").withState({tsType:"SceneEntityDeleteFabComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityDeleteFabComponentState"}],type:"object",properties:{...o,...n,...p,...i,icon:{type:"string"}},required:[],additionalProperties:!1}).build();export const isSceneEntityDeleteFabComponentSnapshot=t(sceneEntityDeleteFabComponent);
@@ -1,6 +1,6 @@
1
1
  import { type ReactNode } from 'react';
2
2
  import { type ComponentInstance, type ComponentSnapshot } from '../core/index.js';
3
- import type { SceneEntityHtmlOpacityState, SceneEntityHtmlPositionState, SceneEntityHtmlVisibilityState } from './common/index.js';
3
+ import { type SceneEntityHtmlOpacityState, type SceneEntityHtmlPositionState, type SceneEntityHtmlVisibilityState } from '../system-components/index.js';
4
4
  export type HtmlHotspotComponentState = SceneEntityHtmlPositionState & SceneEntityHtmlOpacityState & SceneEntityHtmlVisibilityState & {
5
5
  /**
6
6
  * The content of the hotspot. It can be any valid React node. It is optional.
@@ -0,0 +1 @@
1
+ import{SystemComponentBuilder as t,isInstanceOfComponentType as o,isSnapshotOfComponentType as e}from"../core/index.js";import{ReactNodeSchema as n,SceneHtmlOpacityProperties as p,SceneHtmlPositionProperties as m,SceneHtmlVisibilityProperties as s}from"../system-components/index.js";export const htmlHotspotComponent=t.component("htmlHotspot").withState({type:"object",tsType:"HtmlHotspotComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"HtmlHotspotComponentState"}],properties:{...m,...p,...s,node:n,controlHotspot:{type:"boolean"},inert:{type:"boolean"},name:{type:"string"}},required:[],additionalProperties:!1}).build();export const isHtmlHotspotComponentSnapshot=e(htmlHotspotComponent);export const isHtmlHotspotComponentInstance=o(htmlHotspotComponent);
@@ -1,4 +1,4 @@
1
- import type { SceneEntityHtmlOpacityState, SceneEntityHtmlPositionState, SceneEntityHtmlTooltipState, SceneEntityHtmlVisibilityState } from './common/index.js';
1
+ import { type SceneEntityHtmlOpacityState, type SceneEntityHtmlPositionState, type SceneEntityHtmlTooltipState, type SceneEntityHtmlVisibilityState } from '../system-components/index.js';
2
2
  export type SceneEntityNavigationHotspotComponentState = SceneEntityHtmlPositionState & SceneEntityHtmlOpacityState & SceneEntityHtmlVisibilityState & SceneEntityHtmlTooltipState & {
3
3
  /**
4
4
  * The navigation state to push to the stack or replace the current state.
@@ -0,0 +1 @@
1
+ import{SystemComponentBuilder as t,isSnapshotOfComponentType as o}from"../core/index.js";import{SceneHtmlOpacityProperties as e,SceneHtmlPositionProperties as n,SceneHtmlTooltipProperties as i,SceneHtmlVisibilityProperties as a}from"../system-components/index.js";export const sceneEntityNavigationHotspotComponent=t.component("sceneEntityNavigationHotspot").withState({tsType:"SceneEntityNavigationHotspotComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityNavigationHotspotComponentState"}],type:"object",properties:{...n,...e,...a,...i,navigationState:{type:"string"},pushToStack:{type:"boolean"},canStackOnto:{type:"array",items:{type:"string"}}},required:["navigationState"],additionalProperties:!1}).build();export const isSceneEntityNavigationHotspotComponentSnapshot=o(sceneEntityNavigationHotspotComponent);