@salsita-ai/sdk 0.50.0-develop.bfba230ad7 → 0.50.0-develop.d6ed5efd42

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 (445) hide show
  1. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  2. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  3. package/dist/application-spec/generate-application/code/common/project-module-list.d.ts +8 -0
  4. package/dist/application-spec/generate-application/code/common/project-module-list.js +3 -0
  5. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  6. package/dist/application-spec/generate-application/code/templates/admin-domain-code.d.ts +1 -2
  7. package/dist/application-spec/generate-application/code/templates/admin-domain-code.js +6 -14
  8. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.d.ts +1 -2
  9. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.js +4 -4
  10. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.d.ts +1 -2
  11. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.js +7 -16
  12. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.d.ts +1 -2
  13. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.js +7 -9
  14. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.d.ts +2 -2
  15. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.js +1 -1
  16. package/dist/application-spec/generate-application/code/templates/domain-spec.js +4 -4
  17. package/dist/application-spec/generate-application/code/templates/domain.js +3 -3
  18. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +1 -1
  19. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +2 -1
  20. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +1 -2
  21. package/dist/application-spec/generate-application/code/templates/webhook-builders.js +8 -4
  22. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +4 -3
  23. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.js +1 -1
  24. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.d.ts +3 -8
  25. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.js +1 -1
  26. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +9 -43
  27. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  28. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-server-settings.d.ts +2 -2
  29. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant.d.ts +5 -21
  30. package/dist/client/phoenix-api.d.ts +58 -30
  31. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +15 -3
  32. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  33. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  34. package/dist/configurator/ui/assistant/tool-chip.d.ts +8 -1
  35. package/dist/configurator/ui/assistant/tool-chip.js +1 -1
  36. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +84 -98
  37. package/dist/docs/complex-use-cases/navigation-reset-selection.mdx +18 -12
  38. package/dist/docs/index.json +1 -1
  39. package/dist/docs/layouts/custom-price.mdx +14 -16
  40. package/dist/docs/layouts/sidebar/tabs.mdx +24 -21
  41. package/dist/docs/other-features/domain-actions.mdx +1 -1
  42. package/dist/docs/other-features/side-effects.mdx +42 -34
  43. package/dist/docs/other-features/transformers.mdx +1 -1
  44. package/dist/docs/phoenix/admin.mdx +9 -24
  45. package/dist/docs/phoenix/localization.mdx +3 -22
  46. package/dist/docs/phoenix/project-structure.mdx +6 -0
  47. package/dist/docs/recipes-and-delete/recipe-hierarchy-selection.mdx +15 -13
  48. package/dist/docs/relations/hierarchy.mdx +13 -2
  49. package/dist/domain/actions/action-factory.d.ts +4 -4
  50. package/dist/domain/admin-domain/__generated/enhanced-model.d.ts +1 -1
  51. package/dist/domain/admin-domain/__generated/model/versions/v1.d.ts +1 -1
  52. package/dist/domain/admin-domain/__generated/model/versions/v2.d.ts +1 -1
  53. package/dist/domain/admin-domain/__generated/model/versions/v3.d.ts +1 -1
  54. package/dist/domain/admin-domain/__generated/model/versions/v4.d.ts +1 -1
  55. package/dist/domain/admin-domain/__generated/model/versions/v5.d.ts +1 -1
  56. package/dist/domain/admin-domain/__generated/model/versions/v6.d.ts +2 -2
  57. package/dist/domain/admin-domain/__generated/model/versions/v6.js +1 -1
  58. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +1 -3
  59. package/dist/domain/admin-domain/implementation/common-admin-migrations.d.ts +1 -1
  60. package/dist/domain/admin-domain/index.d.ts +1 -1
  61. package/dist/domain/application/admin-page-factories.d.ts +1 -1
  62. package/dist/domain/application/application-config.d.ts +25 -75
  63. package/dist/domain/application/assistant/assistant-manifest.d.ts +61 -0
  64. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +95 -0
  65. package/dist/domain/application/assistant/assistant-value-type.d.ts +9 -0
  66. package/dist/domain/application/assistant/assistant-value-type.js +1 -0
  67. package/dist/domain/application/assistant/build-assistant-manifest.d.ts +4 -0
  68. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -0
  69. package/dist/{phoenix/application-spec → domain/application/assistant}/generate-assistant-prompt.d.ts +3 -3
  70. package/dist/{phoenix/application-spec → domain/application/assistant}/generate-assistant-prompt.js +1 -1
  71. package/dist/domain/application/assistant/index.d.ts +4 -0
  72. package/dist/domain/application/assistant/index.js +1 -0
  73. package/dist/domain/application/assistant-field-options.d.ts +2 -3
  74. package/dist/domain/application/assistant-mutations.d.ts +2 -4
  75. package/dist/domain/application/assistant-mutations.js +1 -1
  76. package/dist/domain/application/assistant-recipe-groups.d.ts +2 -4
  77. package/dist/domain/application/configurator-builder.d.ts +33 -18
  78. package/dist/domain/application/configurator-builder.js +1 -1
  79. package/dist/domain/application/element-registration.d.ts +5 -0
  80. package/dist/domain/application/element-registration.js +1 -1
  81. package/dist/domain/application/handler-registration.d.ts +5 -0
  82. package/dist/domain/application/handler-registration.js +1 -1
  83. package/dist/domain/application/index.d.ts +5 -4
  84. package/dist/domain/application/index.js +1 -1
  85. package/dist/domain/application/published-data/create-finalize-admin-domain.d.ts +1 -2
  86. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +1 -1
  87. package/dist/domain/application/published-data/map-published-data.d.ts +1 -2
  88. package/dist/domain/application/resolve-imported-transformers.d.ts +12 -2
  89. package/dist/domain/application/resolve-imported-transformers.js +1 -1
  90. package/dist/domain/components/component-reader-types.d.ts +1 -2
  91. package/dist/domain/components/debug-state-component.d.ts +1 -1
  92. package/dist/domain/components/debug-state-component.js +1 -1
  93. package/dist/domain/components/domain-component-optic.d.ts +4 -6
  94. package/dist/domain/components/domain-component-optic.js +2 -2
  95. package/dist/domain/components/drag-state-component.d.ts +1 -1
  96. package/dist/domain/components/drag-state-component.js +1 -1
  97. package/dist/domain/components/export-state-component.d.ts +1 -1
  98. package/dist/domain/components/export-state-component.js +1 -1
  99. package/dist/domain/components/fullscreen-state-component.d.ts +1 -1
  100. package/dist/domain/components/fullscreen-state-component.js +1 -1
  101. package/dist/domain/components/group-components-by-entity-id-and-name.d.ts +1 -2
  102. package/dist/domain/components/group-components-by-entity-id-and-name.js +1 -1
  103. package/dist/domain/components/hover-state-component.d.ts +1 -1
  104. package/dist/domain/components/hover-state-component.js +1 -1
  105. package/dist/domain/components/legacy-filter.d.ts +1 -2
  106. package/dist/domain/components/navigation-state-component.d.ts +1 -1
  107. package/dist/domain/components/navigation-state-component.js +1 -1
  108. package/dist/domain/components/selection-state-component.d.ts +1 -1
  109. package/dist/domain/components/selection-state-component.js +1 -1
  110. package/dist/domain/components/system-component-builder.d.ts +1 -2
  111. package/dist/domain/components/system-component-builder.js +1 -1
  112. package/dist/domain/components/system-component-filter.d.ts +1 -3
  113. package/dist/domain/components/system-virtual-entity.js +1 -1
  114. package/dist/domain/components/tool-state-component.d.ts +1 -1
  115. package/dist/domain/components/tool-state-component.js +1 -1
  116. package/dist/domain/components/updates.d.ts +1 -2
  117. package/dist/domain/components/view-state-component.d.ts +1 -1
  118. package/dist/domain/components/view-state-component.js +1 -1
  119. package/dist/domain/components/viewport-state-component.d.ts +1 -1
  120. package/dist/domain/components/viewport-state-component.js +1 -1
  121. package/dist/domain/core/action.d.ts +4 -5
  122. package/dist/domain/core/decoder/create-decoder.d.ts +6 -0
  123. package/dist/domain/core/decoder/create-decoder.js +1 -0
  124. package/dist/domain/core/decoder/decoder.d.ts +6 -0
  125. package/dist/domain/core/decoder/index.d.ts +2 -0
  126. package/dist/domain/core/decoder/index.js +1 -0
  127. package/dist/domain/core/domain-factory.d.ts +3 -4
  128. package/dist/domain/core/domain-factory.js +1 -1
  129. package/dist/domain/core/domain.d.ts +3 -4
  130. package/dist/domain/core/domain.js +1 -1
  131. package/dist/domain/{expressions → core/expression}/constant-expressions.d.ts +2 -3
  132. package/dist/domain/core/expression/constant-expressions.js +1 -0
  133. package/dist/domain/{expressions → core/expression}/custom-expression.d.ts +4 -5
  134. package/dist/domain/core/expression/custom-expression.js +1 -0
  135. package/dist/domain/core/{expression.d.ts → expression/expression.d.ts} +6 -8
  136. package/dist/domain/core/expression/expression.js +1 -0
  137. package/dist/domain/core/expression/index.d.ts +5 -0
  138. package/dist/domain/core/expression/index.js +1 -0
  139. package/dist/domain/{expressions → core/expression}/memoize-expression.d.ts +2 -2
  140. package/dist/domain/{expressions → core/expression}/prepare-domain-expressions.d.ts +1 -1
  141. package/dist/domain/core/index.d.ts +7 -17
  142. package/dist/domain/core/index.js +1 -1
  143. package/dist/domain/core/{component.d.ts → model/component.d.ts} +1 -1
  144. package/dist/domain/core/model/index.d.ts +6 -0
  145. package/dist/domain/core/model/index.js +1 -0
  146. package/dist/domain/core/{reflection.d.ts → model/reflection.d.ts} +1 -1
  147. package/dist/domain/core/model/reflection.js +1 -0
  148. package/dist/domain/core/schema/enhanced-json-schema.js +1 -0
  149. package/dist/domain/core/schema/extended-schema-validator.js +1 -0
  150. package/dist/domain/core/schema/index.d.ts +3 -0
  151. package/dist/domain/core/schema/index.js +1 -0
  152. package/dist/domain/core/schema/schema-validator.js +1 -0
  153. package/dist/domain/core/state/id-sequence.d.ts +15 -0
  154. package/dist/domain/core/state/id-sequence.js +1 -0
  155. package/dist/domain/core/state/index.d.ts +3 -0
  156. package/dist/domain/core/state/index.js +1 -0
  157. package/dist/domain/core/{migrations.d.ts → state/migrations.d.ts} +1 -2
  158. package/dist/domain/core/{state.d.ts → state/state.d.ts} +1 -2
  159. package/dist/domain/domain-builder.d.ts +11 -8
  160. package/dist/domain/domain-builder.js +1 -1
  161. package/dist/domain/domain-context/action-system/action-system.d.ts +1 -3
  162. package/dist/domain/domain-context/action-system/action-system.js +1 -1
  163. package/dist/domain/domain-context/create-transformer.d.ts +1 -1
  164. package/dist/domain/domain-context/domain-context-systems.d.ts +1 -3
  165. package/dist/domain/domain-context/index.d.ts +1 -1
  166. package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +1 -2
  167. package/dist/domain/domain-context/navigation-system/navigation-updates.d.ts +1 -1
  168. package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +1 -1
  169. package/dist/domain/domain-context/navigation-system/selection-transformers.js +1 -1
  170. package/dist/domain/domain-context/recipe-system/recipes.d.ts +1 -3
  171. package/dist/domain/domain-context/recipe-system/recipes.js +1 -1
  172. package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +1 -1
  173. package/dist/domain/domain-context/relation-transformers/cascade-deletes.js +1 -1
  174. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +1 -1
  175. package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +1 -1
  176. package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +1 -1
  177. package/dist/domain/domain-context/store-system/apply-updates.d.ts +1 -2
  178. package/dist/domain/domain-context/store-system/apply-updates.js +1 -1
  179. package/dist/domain/domain-context/store-system/next-domain-entity-id.d.ts +1 -12
  180. package/dist/domain/domain-context/store-system/next-domain-entity-id.js +1 -1
  181. package/dist/domain/domain-context/store-system/reconcile-projected-entities.d.ts +1 -1
  182. package/dist/domain/domain-context/store-system/store-system.d.ts +1 -3
  183. package/dist/domain/domain-context/store-system/store-system.js +1 -1
  184. package/dist/domain/domain-context/store-system/system-state.d.ts +1 -3
  185. package/dist/domain/domain-context/transformers/actions-builder.d.ts +1 -1
  186. package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
  187. package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +1 -2
  188. package/dist/domain/domain-context/transformers/chain-builder.d.ts +2 -2
  189. package/dist/domain/domain-context/transformers/context.d.ts +1 -3
  190. package/dist/domain/domain-context/transformers/entity-builder.d.ts +1 -1
  191. package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
  192. package/dist/domain/domain-context/transformers/then-builder.d.ts +1 -1
  193. package/dist/domain/domain-context/transformers/then-builder.js +1 -1
  194. package/dist/domain/domain-context/transformers/when-builder.d.ts +1 -2
  195. package/dist/domain/domain-context/transformers/when-builder.js +1 -1
  196. package/dist/domain/domain-context/undo-system.d.ts +1 -1
  197. package/dist/domain/domain-runtime/domain-context/component-reader.d.ts +1 -3
  198. package/dist/domain/domain-runtime/domain-context/component-reader.js +1 -1
  199. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +1 -2
  200. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  201. package/dist/domain/domain-runtime/domain-runtime.d.ts +4 -4
  202. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  203. package/dist/domain/domain-runtime/spec/selectors.d.ts +2 -2
  204. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  205. package/dist/domain/domain-runtime/spec/types.d.ts +3 -3
  206. package/dist/domain/index.d.ts +3 -4
  207. package/dist/domain/index.js +1 -1
  208. package/dist/domain/invariants/builtin-invariant.d.ts +1 -2
  209. package/dist/domain/invariants/custom-invariants.d.ts +1 -3
  210. package/dist/domain/invariants/invariants.d.ts +10 -4
  211. package/dist/domain/invariants/invariants.js +1 -1
  212. package/dist/domain/invariants/violation.d.ts +1 -1
  213. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +3 -3
  214. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  215. package/dist/domain/project-modules/index.d.ts +1 -0
  216. package/dist/domain/project-modules/index.js +1 -0
  217. package/dist/domain/project-modules/project-modules.d.ts +41 -0
  218. package/dist/domain/project-modules/project-modules.js +1 -0
  219. package/dist/domain/projections/projected-entities-projections.d.ts +1 -2
  220. package/dist/domain/projections/snap-matching.d.ts +1 -2
  221. package/dist/domain/projections/snap-utils.d.ts +1 -2
  222. package/dist/domain/relations/all-of-type-relation.d.ts +1 -4
  223. package/dist/domain/relations/all-of-type-relation.js +1 -1
  224. package/dist/domain/relations/component-factories.d.ts +1 -2
  225. package/dist/domain/relations/composed-of.d.ts +1 -1
  226. package/dist/domain/relations/composed-of.js +1 -1
  227. package/dist/domain/relations/direct-relation.d.ts +1 -3
  228. package/dist/domain/relations/indirect-relation.d.ts +1 -4
  229. package/dist/domain/relations/indirect-relation.js +1 -1
  230. package/dist/domain/relations/reference-component.d.ts +1 -2
  231. package/dist/domain/relations/reference-component.js +1 -1
  232. package/dist/domain/relations/reference-field.d.ts +1 -1
  233. package/dist/domain/relations/relation-factory.d.ts +1 -3
  234. package/dist/domain/relations/relation-implementation.d.ts +1 -4
  235. package/dist/domain/system-components/admin-sidebar.d.ts +1 -1
  236. package/dist/domain/system-components/admin-sidebar.js +1 -1
  237. package/dist/domain/system-components/angle-indicator.d.ts +1 -1
  238. package/dist/domain/system-components/angle-indicator.js +1 -1
  239. package/dist/domain/system-components/application-config.d.ts +1 -1
  240. package/dist/domain/system-components/application-config.js +1 -1
  241. package/dist/domain/system-components/attribute-selection.js +1 -1
  242. package/dist/domain/system-components/autorotate-camera-component.d.ts +1 -1
  243. package/dist/domain/system-components/basic-sidebar-footer.d.ts +1 -1
  244. package/dist/domain/system-components/basic-sidebar-footer.js +1 -1
  245. package/dist/domain/system-components/bounding-box-component.d.ts +1 -1
  246. package/dist/domain/system-components/bounding-sphere-component.d.ts +1 -1
  247. package/dist/domain/system-components/camera-based-hidden-entity-object.js +1 -1
  248. package/dist/domain/system-components/camera-based-hidden-entity.js +1 -1
  249. package/dist/domain/system-components/canvas-config.d.ts +1 -1
  250. package/dist/domain/system-components/canvas-config.js +1 -1
  251. package/dist/domain/system-components/canvas-padding.d.ts +1 -1
  252. package/dist/domain/system-components/canvas-padding.js +1 -1
  253. package/dist/domain/system-components/canvas-preset-environment.d.ts +1 -1
  254. package/dist/domain/system-components/canvas-preset-environment.js +1 -1
  255. package/dist/domain/system-components/child-entity-selection.d.ts +1 -1
  256. package/dist/domain/system-components/client-side-image.js +1 -1
  257. package/dist/domain/system-components/collision-box-geometry.d.ts +1 -1
  258. package/dist/domain/system-components/collision-geometries.d.ts +1 -1
  259. package/dist/domain/system-components/collision-geometry.d.ts +1 -1
  260. package/dist/domain/system-components/collision-point-geometry.d.ts +1 -1
  261. package/dist/domain/system-components/common/dimension-indicator-schema.d.ts +1 -1
  262. package/dist/domain/system-components/common/dimension-indicator-schema.js +1 -1
  263. package/dist/domain/system-components/constraint.d.ts +1 -1
  264. package/dist/domain/system-components/create-blueprint.d.ts +1 -1
  265. package/dist/domain/system-components/custom-header.d.ts +1 -1
  266. package/dist/domain/system-components/custom-header.js +1 -1
  267. package/dist/domain/system-components/custom-scene-entity.d.ts +1 -1
  268. package/dist/domain/system-components/custom-scene-entity.js +1 -1
  269. package/dist/domain/system-components/custom-sidebar-footer.d.ts +1 -1
  270. package/dist/domain/system-components/custom-sidebar-footer.js +1 -1
  271. package/dist/domain/system-components/dimension-indicator.d.ts +1 -1
  272. package/dist/domain/system-components/dimension-indicator.js +1 -1
  273. package/dist/domain/system-components/distance-dimension-select.d.ts +1 -1
  274. package/dist/domain/system-components/distance-dimension-select.js +1 -1
  275. package/dist/domain/system-components/distance-dimension.d.ts +1 -1
  276. package/dist/domain/system-components/distance-dimension.js +1 -1
  277. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  278. package/dist/domain/system-components/drag-handle.js +1 -1
  279. package/dist/domain/system-components/editable-angle-indicator.d.ts +1 -1
  280. package/dist/domain/system-components/editable-angle-indicator.js +1 -1
  281. package/dist/domain/system-components/editable-distance-dimension-indicator.d.ts +1 -1
  282. package/dist/domain/system-components/editable-distance-dimension-indicator.js +1 -1
  283. package/dist/domain/system-components/editable-offset-indicator.d.ts +1 -1
  284. package/dist/domain/system-components/editable-offset-indicator.js +1 -1
  285. package/dist/domain/system-components/editable-size-indicator.d.ts +1 -1
  286. package/dist/domain/system-components/editable-size-indicator.js +1 -1
  287. package/dist/domain/system-components/exit-tool-mode-fab.d.ts +1 -1
  288. package/dist/domain/system-components/exit-tool-mode-fab.js +1 -1
  289. package/dist/domain/system-components/finalize-action.d.ts +1 -1
  290. package/dist/domain/system-components/finalize-action.js +1 -1
  291. package/dist/domain/system-components/fixed-header.d.ts +1 -1
  292. package/dist/domain/system-components/fixed-header.js +1 -1
  293. package/dist/domain/system-components/floating-header.d.ts +1 -1
  294. package/dist/domain/system-components/floating-header.js +1 -1
  295. package/dist/domain/system-components/generic-dimension.d.ts +1 -1
  296. package/dist/domain/system-components/generic-dimension.js +1 -1
  297. package/dist/domain/system-components/hidden-header.d.ts +1 -1
  298. package/dist/domain/system-components/hidden-header.js +1 -1
  299. package/dist/domain/system-components/hidden-sidebar-footer.d.ts +1 -1
  300. package/dist/domain/system-components/hidden-sidebar-footer.js +1 -1
  301. package/dist/domain/system-components/horizontal-tabs.d.ts +1 -1
  302. package/dist/domain/system-components/horizontal-tabs.js +1 -1
  303. package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -1
  304. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  305. package/dist/domain/system-components/list-selector-dimension-indicator.d.ts +1 -1
  306. package/dist/domain/system-components/list-selector-dimension-indicator.js +1 -1
  307. package/dist/domain/system-components/material-swatch.js +1 -1
  308. package/dist/domain/system-components/offset-anchors.d.ts +1 -1
  309. package/dist/domain/system-components/offset-anchors.js +1 -1
  310. package/dist/domain/system-components/offset-indicator.d.ts +1 -2
  311. package/dist/domain/system-components/offset-indicator.js +1 -1
  312. package/dist/domain/system-components/offset.d.ts +1 -1
  313. package/dist/domain/system-components/offset.js +1 -1
  314. package/dist/domain/system-components/other-action.d.ts +1 -1
  315. package/dist/domain/system-components/other-action.js +1 -1
  316. package/dist/domain/system-components/pivot-point.d.ts +1 -1
  317. package/dist/domain/system-components/pivot-point.js +1 -1
  318. package/dist/domain/system-components/price.js +1 -1
  319. package/dist/domain/system-components/projected-entities.d.ts +1 -1
  320. package/dist/domain/system-components/projected-entities.js +1 -1
  321. package/dist/domain/system-components/property-page.d.ts +1 -1
  322. package/dist/domain/system-components/property-page.js +1 -1
  323. package/dist/domain/system-components/read-sidebar-footer.d.ts +1 -1
  324. package/dist/domain/system-components/read-sidebar-footer.js +1 -1
  325. package/dist/domain/system-components/save-template-thumbnail.js +1 -1
  326. package/dist/domain/system-components/scene-entity-add-fab.js +1 -1
  327. package/dist/domain/system-components/scene-entity-delete-fab.js +1 -1
  328. package/dist/domain/system-components/scene-entity-local-material-override.js +1 -1
  329. package/dist/domain/system-components/scene-entity-material-override.js +1 -1
  330. package/dist/domain/system-components/scene-entity-navigation-hotspot.js +1 -1
  331. package/dist/domain/system-components/scene-entity-object-local-material-override.js +1 -1
  332. package/dist/domain/system-components/scene-entity-object-material-override.js +1 -1
  333. package/dist/domain/system-components/scene-entity-object-remote-material-override.js +1 -1
  334. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.js +1 -1
  335. package/dist/domain/system-components/scene-entity-remote-material-override.js +1 -1
  336. package/dist/domain/system-components/scene-entity-select-hotspot.js +1 -1
  337. package/dist/domain/system-components/scene-entity-transimissive-material-override.js +1 -1
  338. package/dist/domain/system-components/sidebar-tabs.d.ts +1 -1
  339. package/dist/domain/system-components/sidebar-tabs.js +1 -1
  340. package/dist/domain/system-components/simple-summary.js +1 -1
  341. package/dist/domain/system-components/size.d.ts +1 -1
  342. package/dist/domain/system-components/size.js +1 -1
  343. package/dist/domain/system-components/sketching-draw.d.ts +1 -1
  344. package/dist/domain/system-components/sketching-draw.js +1 -1
  345. package/dist/domain/system-components/sketching-edit.d.ts +1 -1
  346. package/dist/domain/system-components/sketching-edit.js +1 -1
  347. package/dist/domain/system-components/sketching-line.d.ts +1 -1
  348. package/dist/domain/system-components/sketching-line.js +1 -1
  349. package/dist/domain/system-components/sketching-rectangle.d.ts +1 -1
  350. package/dist/domain/system-components/sketching-rectangle.js +1 -1
  351. package/dist/domain/system-components/sketching.d.ts +1 -1
  352. package/dist/domain/system-components/sketching.js +1 -1
  353. package/dist/domain/system-components/snap-axis.d.ts +1 -1
  354. package/dist/domain/system-components/snap-axis.js +1 -1
  355. package/dist/domain/system-components/snap-edge.d.ts +1 -1
  356. package/dist/domain/system-components/snap-edge.js +1 -1
  357. package/dist/domain/system-components/snap-plane.d.ts +1 -1
  358. package/dist/domain/system-components/snap-plane.js +1 -1
  359. package/dist/domain/system-components/snap-point.d.ts +1 -1
  360. package/dist/domain/system-components/snap-point.js +1 -1
  361. package/dist/domain/system-components/summary-component.js +1 -1
  362. package/dist/domain/system-components/tool-menu-fab.d.ts +1 -1
  363. package/dist/domain/system-components/tool-menu-fab.js +1 -1
  364. package/dist/domain/system-components/toolbar.d.ts +1 -1
  365. package/dist/domain/system-components/toolbar.js +1 -1
  366. package/dist/domain/system-components/universal-sidebar-footer.d.ts +1 -1
  367. package/dist/domain/system-components/universal-sidebar-footer.js +1 -1
  368. package/dist/domain/utils/eval-cache.d.ts +1 -2
  369. package/dist/domain/utils/memo-eval.d.ts +1 -3
  370. package/dist/editor/domain-editors/use-implementation-files.d.ts +7 -6
  371. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  372. package/dist/i18n/locales/cs/messages.js +1 -1
  373. package/dist/i18n/locales/da/messages.js +1 -1
  374. package/dist/i18n/locales/de/messages.js +1 -1
  375. package/dist/i18n/locales/de-AT/messages.js +1 -1
  376. package/dist/i18n/locales/en/messages.js +1 -1
  377. package/dist/i18n/locales/en-AU/messages.js +1 -1
  378. package/dist/i18n/locales/en-GB/messages.js +1 -1
  379. package/dist/i18n/locales/es/messages.js +1 -1
  380. package/dist/i18n/locales/fr/messages.js +1 -1
  381. package/dist/i18n/locales/hu/messages.js +1 -1
  382. package/dist/i18n/locales/it/messages.js +1 -1
  383. package/dist/i18n/locales/nl/messages.js +1 -1
  384. package/dist/i18n/locales/pl/messages.js +1 -1
  385. package/dist/i18n/locales/pt/messages.js +1 -1
  386. package/dist/i18n/locales/ro/messages.js +1 -1
  387. package/dist/i18n/locales/sk/messages.js +1 -1
  388. package/dist/i18n/locales/tr/messages.js +1 -1
  389. package/dist/legacy/domain-cli/gen/configurator-builder.js +21 -8
  390. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  391. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  392. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +18 -19
  393. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +15 -16
  394. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +22 -23
  395. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +15 -16
  396. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.d.ts +7 -2
  397. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.js +8 -12
  398. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.d.ts +1 -1
  399. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.js +1 -1
  400. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/webhook-builders.js +7 -7
  401. package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +4 -3
  402. package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
  403. package/dist/phoenix/commands/prepare-deployment-command.js +2 -2
  404. package/dist/phoenix/commands/prepare-local-environment-command.js +1 -1
  405. package/dist/phoenix/scripts/build-admin.js +1 -1
  406. package/dist/phoenix/services/prepare-development-environment.js +1 -1
  407. package/dist/phoenix/services/variant-file-session.js +1 -1
  408. package/dist/react-sdk/application-runtime/hooks/use-domain-application-props.d.ts +5 -2
  409. package/dist/react-sdk/application-runtime/hooks/use-spec.d.ts +1 -1
  410. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.d.ts +1 -1
  411. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  412. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +4 -4
  413. package/dist/webhook/builders/common.d.ts +3 -0
  414. package/dist/webhook/builders/webhook-builder.d.ts +1 -1
  415. package/dist/webhook/builders/webhook-builder.js +1 -1
  416. package/package.json +3 -3
  417. package/dist/domain/core/json-schema.js +0 -1
  418. package/dist/domain/core/reflection.js +0 -1
  419. package/dist/domain/expressions/constant-expressions.js +0 -1
  420. package/dist/domain/expressions/custom-expression.js +0 -1
  421. package/dist/domain/expressions/index.d.ts +0 -1
  422. package/dist/domain/expressions/index.js +0 -1
  423. /package/dist/domain/{core/enhanced-json-schema.js → application/assistant/assistant-manifest.js} +0 -0
  424. /package/dist/domain/{core/expression.js → application/assistant/assistant-resolved-manifest.js} +0 -0
  425. /package/dist/domain/core/{schema-validator.js → decoder/decoder.js} +0 -0
  426. /package/dist/domain/{expressions → core/expression}/memoize-expression.js +0 -0
  427. /package/dist/domain/{expressions → core/expression}/prepare-domain-expressions.js +0 -0
  428. /package/dist/domain/core/{alias.d.ts → model/alias.d.ts} +0 -0
  429. /package/dist/domain/core/{alias.js → model/alias.js} +0 -0
  430. /package/dist/domain/core/{common-definitions.d.ts → model/common-definitions.d.ts} +0 -0
  431. /package/dist/domain/core/{common-definitions.js → model/common-definitions.js} +0 -0
  432. /package/dist/domain/core/{component.js → model/component.js} +0 -0
  433. /package/dist/domain/core/{model.d.ts → model/model.d.ts} +0 -0
  434. /package/dist/domain/core/{model.js → model/model.js} +0 -0
  435. /package/dist/domain/core/{preset.d.ts → model/preset.d.ts} +0 -0
  436. /package/dist/domain/core/{preset.js → model/preset.js} +0 -0
  437. /package/dist/domain/core/{schema-validator-ajv.d.ts → schema/create-ajv-schema-validator.d.ts} +0 -0
  438. /package/dist/domain/core/{schema-validator-ajv.js → schema/create-ajv-schema-validator.js} +0 -0
  439. /package/dist/domain/core/{schema-validator-csp.d.ts → schema/create-csp-schema-validator.d.ts} +0 -0
  440. /package/dist/domain/core/{schema-validator-csp.js → schema/create-csp-schema-validator.js} +0 -0
  441. /package/dist/domain/core/{enhanced-json-schema.d.ts → schema/enhanced-json-schema.d.ts} +0 -0
  442. /package/dist/domain/core/{json-schema.d.ts → schema/extended-schema-validator.d.ts} +0 -0
  443. /package/dist/domain/core/{schema-validator.d.ts → schema/schema-validator.d.ts} +0 -0
  444. /package/dist/domain/core/{migrations.js → state/migrations.js} +0 -0
  445. /package/dist/domain/core/{state.js → state/state.js} +0 -0
@@ -1 +1 @@
1
- import{createSelector as e}from"@salsita-ai/common/utils";import{systemElementRegistry as t}from"../../application/element-registration.js";export const createSpecSelectors=n=>{let{getState:a}=n,s=e.withTypes(),r=s([s.leaf(e=>e.spec)],e=>e),o=s([r],e=>e.version),l=s([r],e=>e.baseResourcesUrl),i=s([r],e=>e.configurator),g=s([r],e=>e.dataConfig),m=s([r],e=>e.chunks),p=s([r],e=>e.publishedDataHash),d=s([r],e=>e.initialPublishedData),c=s([r],e=>e.canCreate),u=s([r],e=>e.enableAdminRelease),y=s([r],e=>e.textLanguages),h=s([i],e=>e.modelVersion),f=s([r],e=>e.admin),C=s([f],e=>e.preset),A=s([f],e=>e.modelVersion),E=s([i],e=>e.theme),b=s([i],e=>e.assistant),H=s([i],e=>e.factory),x=s([f],e=>e.factory),D=s([i],e=>e.componentOptics),P=s([f],e=>e.componentOptics),S=s([i],e=>e.appLoader),w=s([i],e=>e.preview),O=s([i],e=>e.alwaysExpand),T=s([i],e=>e.presets),V=s([i],e=>e.deploymentQueryDisabled),L=s([i],e=>e.prefetchTextureUrls),R=s([i],e=>e.handlerHashes),U=s([i],e=>e.handlers),v=s([U,R],(e,t)=>({...(e=>{let t={},n={},a={};for(let s of e)"phoenix"===s.type&&(t[s.name]=s.handler),"system"===s.type&&(n[s.name]=s.handler),"system-async"===s.type&&(a[s.name]=s.handler);return{handlers:t,systemHandlers:n,systemAsyncHandlers:a}})(e),hashes:t})),k=s([i],e=>e.elementHashes),F=s([i],e=>e.elements),M=s([F,k],(e,n)=>({...(e=>{let n={},a={};for(let t of e)"layout"===t.type&&(n[t.name]=t.element),"entity"===t.type&&(a[t.name]=t.element);return{entityElements:{...t.entityElements,...a},layoutElements:{...t.layoutElements,...n}}})(e),hashes:n}));return{selectSpec:r,selectVersion:o,selectBaseResourcesUrl:l,selectConfiguratorSpec:i,selectConfiguratorModelVersion:h,selectAdminSpec:f,selectAdminPreset:C,selectAdminModelVersion:A,selectThemeOptions:E,selectAssistant:b,selectConfiguratorFactory:H,selectAdminFactory:x,selectConfiguratorComponentOptics:D,selectAdminComponentOptics:P,selectAppLoader:S,selectPreview:w,selectAlwaysExpand:O,selectPresetSeed:T,selectDeploymentQueryDisabled:V,selectPrefetchTextureUrls:L,selectTextLanguages:y,selectHandlerHashes:R,selectHandlers:U,selectHandlerSlots:v,selectElementHashes:k,selectElements:F,selectElementSlots:M,selectDataConfig:g,selectChunks:m,selectPublishedDataHash:p,selectInitialPublishedData:d,selectCanCreate:c,selectEnableAdminRelease:u,getVersion:()=>o(a()),getBaseResourcesUrl:()=>l(a()),getConfiguratorSpec:()=>i(a()),getConfiguratorModelVersion:()=>h(a()),getAdminSpec:()=>f(a()),getAdminPreset:()=>C(a()),getAdminModelVersion:()=>A(a()),getThemeOptions:()=>E(a()),getAssistant:()=>b(a()),getConfiguratorFactory:()=>H(a()),getAdminFactory:()=>x(a()),getConfiguratorComponentOptics:()=>D(a()),getAdminComponentOptics:()=>P(a()),getAppLoader:()=>S(a()),getPreview:()=>w(a()),getAlwaysExpand:()=>O(a()),getPresetSeed:()=>T(a()),getDeploymentQueryDisabled:()=>V(a()),getPrefetchTextureUrls:()=>L(a()),getTextLanguages:()=>y(a()),getHandlerHashes:()=>R(a()),getHandlers:()=>U(a()),getHandlerSlots:()=>v(a()),getElementHashes:()=>k(a()),getElements:()=>F(a()),getElementSlots:()=>M(a()),getDataConfig:()=>g(a()),getChunks:()=>m(a()),getPublishedDataHash:()=>p(a()),getInitialPublishedData:()=>d(a()),getCanCreate:()=>c(a()),getEnableAdminRelease:()=>u(a())}};
1
+ import{createSelector as e}from"@salsita-ai/common/utils";import{buildAssistantManifest as t}from"../../application/assistant/index.js";import{systemElementRegistry as n}from"../../application/element-registration.js";export const createSpecSelectors=a=>{let{getState:s}=a,r=e.withTypes(),o=r([r.leaf(e=>e.spec)],e=>e),l=r([o],e=>e.version),i=r([o],e=>e.baseResourcesUrl),m=r([o],e=>e.configurator),g=r([o],e=>e.dataConfig),p=r([o],e=>e.chunks),d=r([o],e=>e.publishedDataHash),c=r([o],e=>e.initialPublishedData),u=r([o],e=>e.canCreate),y=r([o],e=>e.enableAdminRelease),h=r([o],e=>e.textLanguages),f=r([m],e=>e.modelVersion),C=r([o],e=>e.admin),A=r([C],e=>e.preset),E=r([C],e=>e.modelVersion),b=r([m],e=>e.theme),x=r([m],e=>e.assistant),H=r([x],e=>e?t(e):null),D=r([m],e=>e.factory),P=r([C],e=>e.factory),S=r([m],e=>e.componentOptics),w=r([C],e=>e.componentOptics),O=r([m],e=>e.appLoader),T=r([m],e=>e.preview),V=r([m],e=>e.alwaysExpand),L=r([m],e=>e.presets),R=r([m],e=>e.deploymentQueryDisabled),U=r([m],e=>e.prefetchTextureUrls),v=r([m],e=>e.handlerHashes),j=r([m],e=>e.handlers),k=r([j,v],(e,t)=>({...(e=>{let t={},n={},a={};for(let s of e)"phoenix"===s.type&&(t[s.name]=s.handler),"system"===s.type&&(n[s.name]=s.handler),"system-async"===s.type&&(a[s.name]=s.handler);return{handlers:t,systemHandlers:n,systemAsyncHandlers:a}})(e),hashes:t})),F=r([m],e=>e.elementHashes),M=r([m],e=>e.elements),Q=r([M,F],(e,t)=>({...(e=>{let t={},a={};for(let n of e)"layout"===n.type&&(t[n.name]=n.element),"entity"===n.type&&(a[n.name]=n.element);return{entityElements:{...n.entityElements,...a},layoutElements:{...n.layoutElements,...t}}})(e),hashes:t}));return{selectSpec:o,selectVersion:l,selectBaseResourcesUrl:i,selectConfiguratorSpec:m,selectConfiguratorModelVersion:f,selectAdminSpec:C,selectAdminPreset:A,selectAdminModelVersion:E,selectThemeOptions:b,selectAssistant:H,selectConfiguratorFactory:D,selectAdminFactory:P,selectConfiguratorComponentOptics:S,selectAdminComponentOptics:w,selectAppLoader:O,selectPreview:T,selectAlwaysExpand:V,selectPresetSeed:L,selectDeploymentQueryDisabled:R,selectPrefetchTextureUrls:U,selectTextLanguages:h,selectHandlerHashes:v,selectHandlers:j,selectHandlerSlots:k,selectElementHashes:F,selectElements:M,selectElementSlots:Q,selectDataConfig:g,selectChunks:p,selectPublishedDataHash:d,selectInitialPublishedData:c,selectCanCreate:u,selectEnableAdminRelease:y,getVersion:()=>l(s()),getBaseResourcesUrl:()=>i(s()),getConfiguratorSpec:()=>m(s()),getConfiguratorModelVersion:()=>f(s()),getAdminSpec:()=>C(s()),getAdminPreset:()=>A(s()),getAdminModelVersion:()=>E(s()),getThemeOptions:()=>b(s()),getAssistant:()=>H(s()),getConfiguratorFactory:()=>D(s()),getAdminFactory:()=>P(s()),getConfiguratorComponentOptics:()=>S(s()),getAdminComponentOptics:()=>w(s()),getAppLoader:()=>O(s()),getPreview:()=>T(s()),getAlwaysExpand:()=>V(s()),getPresetSeed:()=>L(s()),getDeploymentQueryDisabled:()=>R(s()),getPrefetchTextureUrls:()=>U(s()),getTextLanguages:()=>h(s()),getHandlerHashes:()=>v(s()),getHandlers:()=>j(s()),getHandlerSlots:()=>k(s()),getElementHashes:()=>F(s()),getElements:()=>M(s()),getElementSlots:()=>Q(s()),getDataConfig:()=>g(s()),getChunks:()=>p(s()),getPublishedDataHash:()=>d(s()),getInitialPublishedData:()=>c(s()),getCanCreate:()=>u(s()),getEnableAdminRelease:()=>y(s())}};
@@ -1,6 +1,6 @@
1
1
  import type { ThemeOptions } from '@mui/material';
2
2
  import type { SessionRole } from '@salsita-ai/contracts/api';
3
- import type { AssistantManifest, ChunksSpec, DataSpec, ElementRegistration, HandlerRegistration } from '../../application/index.js';
3
+ import type { AssistantResolvedManifest, ChunksSpec, DataSpec, ElementRegistration, HandlerRegistration } from '../../application/index.js';
4
4
  import type { AnyDomainComponentOptic } from '../../components/index.js';
5
5
  import type { ActionDefinitions, Any$EntityReflections, AnyActionImplementations, AnyAliasMap, AnyAllowedRootEntityTypes, AnyDomainFactory, AnyEntityReflections, AnyExpressions, AnyProductPreset, DomainEntity, MigrateFunction } from '../../core/index.js';
6
6
  import type { AnyCreateTransformersFactory } from '../../domain-context/store-system/store-system.js';
@@ -46,10 +46,10 @@ export interface ApplicationConfiguratorSpec {
46
46
  readonly alwaysExpand: boolean;
47
47
  readonly theme: ThemeOptions;
48
48
  /**
49
- * Experimental assistant manifest with its generated GraphQL SDL, or `null` when the application
49
+ * Resolved assistant manifest used to rebuild GraphQL SDL, or `null` when the application
50
50
  * spec declares no `assistant` section. Replaced by editor hot reload when the section changes.
51
51
  */
52
- readonly assistant: AssistantManifest | null;
52
+ readonly assistant: AssistantResolvedManifest | null;
53
53
  /**
54
54
  * When true, resource urls are not suffixed with the `?did=<deploymentId>` cache-busting
55
55
  * query — useful for demos serving local blob urls.
@@ -1,10 +1,8 @@
1
1
  export * from './core/index.js';
2
2
  export { createActionFactory } from './actions/action-factory.js';
3
3
  export { type ActionImplementationConflicts, findActionImplementationConflicts, } from './actions/prepare-action-implementations.js';
4
- export { createConstantExpressionFactory } from './expressions/constant-expressions.js';
5
- export { createCustomExpressionFactory } from './expressions/custom-expression.js';
6
4
  export { createCustomInvariantFactory, type StaticallyDefinedViolations } from './invariants/custom-invariants.js';
7
- export { InvariantBuilder } from './invariants/invariants.js';
5
+ export { InvariantBuilder, resolveInvariantModules } from './invariants/invariants.js';
8
6
  export type { AliasedInvariants, Invariant } from './invariants/invariants.js';
9
7
  export type { Violation, ViolationSeverity, ViolationTypesOf$Entity, EntityViolation } from './invariants/violation.js';
10
8
  export { compareSeverity } from './invariants/violation.js';
@@ -26,7 +24,7 @@ export { viewportStateComponent, isViewportStateComponentSnapshot, isSystemViewp
26
24
  export { type ComponentSystemFilterState, type ComponentSystemFilterProps, ComponentSystemFilterPropsSchema, getComponentSystemFilterState, CombinedComponentFilterSchema, type GradualComponentSystemFilter, type FilterMismatchReason, type IdOrWithId, } from './components/system-component-filter.js';
27
25
  export { ComponentSystemFilterSchema, type ComponentSystemFilter, type DeclarativeComponentSystemFilter, } from './components/legacy-filter.js';
28
26
  export type { OneComponentFilter, ManyComponentFilter, ComponentFilter, FilteredOutComponentSnapshot, FilteredOutFilterContext, } from './components/component-reader-types.js';
29
- export { DomainComponentOpticBuilder, type AnyDomainComponentOptic, type DomainComponentOptic, } from './components/domain-component-optic.js';
27
+ export { DomainComponentOpticBuilder, type AnyDomainComponentOptic, type DomainComponentOptic, resolveComponentOpticModules, } from './components/domain-component-optic.js';
30
28
  export { groupComponentsByEntityIdAndName, isEqualGroupedComponentSnapshots, type GroupedComponentSnapshots, } from './components/group-components-by-entity-id-and-name.js';
31
29
  export { SystemComponentBuilder } from './components/system-component-builder.js';
32
30
  export { type DataUpdate, type StateUpdate, type ComponentModification, isComponentModificationOfType, type DomainEntityCreation, type EntityDeletion, type DomainEntityReplacement, type DomainEntityModification, type EphemeralRecordCreation, type EphemeralRecordDeletion, type EphemeralRecordModification, type DomainEntityStateDelta, systemUpdateFactory, type UpdateFactory, createUpdateFactory, } from './components/updates.js';
@@ -41,6 +39,7 @@ export * from './sketching/index.js';
41
39
  export * from './projections/index.js';
42
40
  export * from './admin-domain/index.js';
43
41
  export * from './application/index.js';
42
+ export { type ProjectModule, resolveActionModules, resolveExpressionModules } from './project-modules/index.js';
44
43
  export * from './scene/index.js';
45
44
  export { getAllPhxDefinitions } from './system-definitions.js';
46
45
  export { availableSystemComponents, componentsByName } from './available-system-components.js';
@@ -1 +1 @@
1
- export*from"./core/index.js";export{createActionFactory}from"./actions/action-factory.js";export{findActionImplementationConflicts}from"./actions/prepare-action-implementations.js";export{createConstantExpressionFactory}from"./expressions/constant-expressions.js";export{createCustomExpressionFactory}from"./expressions/custom-expression.js";export{createCustomInvariantFactory}from"./invariants/custom-invariants.js";export{InvariantBuilder}from"./invariants/invariants.js";export{compareSeverity}from"./invariants/violation.js";export{violationsComponent}from"./invariants/violation-component.js";export{createRelationFactory}from"./relations/relation-factory.js";export{attachMultipleReferenceComponent,attachSingleReferenceComponent,referenceComponent}from"./relations/reference-component.js";export{composedOfComponent}from"./relations/composed-of.js";export{createSingleReferenceRead,createSingleReferenceWrite,createMultipleReferenceRead,createMultipleReferenceWrite,createSingleCompositionRead,createMultipleCompositionRead,createEmptyWrite}from"./relations/component-factories.js";export{systemVirtualEntityId}from"./components/system-virtual-entity.js";export{navigationStateComponent,isNavigationComponentSnapshot,isSystemNavigationComponentSnapshot}from"./components/navigation-state-component.js";export{hoverStateComponent,isHoverStateComponentSnapshot,isSystemHoverStateComponentSnapshot}from"./components/hover-state-component.js";export{selectionStateComponent,isSelectionComponentSnapshot,isSystemSelectionComponentSnapshot}from"./components/selection-state-component.js";export{viewStateComponent,isViewComponentSnapshot,isSystemViewComponentSnapshot}from"./components/view-state-component.js";export{toolStateComponent,isToolStateComponentSnapshot,isSystemToolStateComponentSnapshot}from"./components/tool-state-component.js";export{debugStateComponent,isDebugStateComponentSnapshot,isSystemDebugStateComponentSnapshot}from"./components/debug-state-component.js";export{fullscreenStateComponent,isFullscreenStateComponentSnapshot,isSystemFullscreenStateComponentSnapshot}from"./components/fullscreen-state-component.js";export{dragStateComponent,isDragStateComponentSnapshot,isSystemDragStateComponentSnapshot}from"./components/drag-state-component.js";export{viewportStateComponent,isViewportStateComponentSnapshot,isSystemViewportStateComponentSnapshot,VIEWPORTS}from"./components/viewport-state-component.js";export{ComponentSystemFilterPropsSchema,getComponentSystemFilterState,CombinedComponentFilterSchema}from"./components/system-component-filter.js";export{ComponentSystemFilterSchema}from"./components/legacy-filter.js";export{DomainComponentOpticBuilder}from"./components/domain-component-optic.js";export{groupComponentsByEntityIdAndName,isEqualGroupedComponentSnapshots}from"./components/group-components-by-entity-id-and-name.js";export{SystemComponentBuilder}from"./components/system-component-builder.js";export{isComponentModificationOfType,systemUpdateFactory,createUpdateFactory}from"./components/updates.js";export{DomainBuilder}from"./domain-builder.js";export{memoEval,isMemoizedArray,isMemoizedObject}from"./utils/memo-eval.js";export{cloneEvalCache,getEvalCache,setEvalCache,createEvalCacheToken}from"./utils/eval-cache.js";export{areProfilerLabelsEnabled,setProfilerLabelsEnabled}from"./utils/profiler-label.js";export*from"./dimensions/index.js";export*from"./domain-context/index.js";export*from"./system-components/index.js";export*from"./sketching/index.js";export*from"./projections/index.js";export*from"./admin-domain/index.js";export*from"./application/index.js";export*from"./scene/index.js";export{getAllPhxDefinitions}from"./system-definitions.js";export{availableSystemComponents,componentsByName}from"./available-system-components.js";export*from"./mocks/index.js";export*from"./domain-runtime/index.js";
1
+ export*from"./core/index.js";export{createActionFactory}from"./actions/action-factory.js";export{findActionImplementationConflicts}from"./actions/prepare-action-implementations.js";export{createCustomInvariantFactory}from"./invariants/custom-invariants.js";export{InvariantBuilder,resolveInvariantModules}from"./invariants/invariants.js";export{compareSeverity}from"./invariants/violation.js";export{violationsComponent}from"./invariants/violation-component.js";export{createRelationFactory}from"./relations/relation-factory.js";export{attachMultipleReferenceComponent,attachSingleReferenceComponent,referenceComponent}from"./relations/reference-component.js";export{composedOfComponent}from"./relations/composed-of.js";export{createSingleReferenceRead,createSingleReferenceWrite,createMultipleReferenceRead,createMultipleReferenceWrite,createSingleCompositionRead,createMultipleCompositionRead,createEmptyWrite}from"./relations/component-factories.js";export{systemVirtualEntityId}from"./components/system-virtual-entity.js";export{navigationStateComponent,isNavigationComponentSnapshot,isSystemNavigationComponentSnapshot}from"./components/navigation-state-component.js";export{hoverStateComponent,isHoverStateComponentSnapshot,isSystemHoverStateComponentSnapshot}from"./components/hover-state-component.js";export{selectionStateComponent,isSelectionComponentSnapshot,isSystemSelectionComponentSnapshot}from"./components/selection-state-component.js";export{viewStateComponent,isViewComponentSnapshot,isSystemViewComponentSnapshot}from"./components/view-state-component.js";export{toolStateComponent,isToolStateComponentSnapshot,isSystemToolStateComponentSnapshot}from"./components/tool-state-component.js";export{debugStateComponent,isDebugStateComponentSnapshot,isSystemDebugStateComponentSnapshot}from"./components/debug-state-component.js";export{fullscreenStateComponent,isFullscreenStateComponentSnapshot,isSystemFullscreenStateComponentSnapshot}from"./components/fullscreen-state-component.js";export{dragStateComponent,isDragStateComponentSnapshot,isSystemDragStateComponentSnapshot}from"./components/drag-state-component.js";export{viewportStateComponent,isViewportStateComponentSnapshot,isSystemViewportStateComponentSnapshot,VIEWPORTS}from"./components/viewport-state-component.js";export{ComponentSystemFilterPropsSchema,getComponentSystemFilterState,CombinedComponentFilterSchema}from"./components/system-component-filter.js";export{ComponentSystemFilterSchema}from"./components/legacy-filter.js";export{DomainComponentOpticBuilder,resolveComponentOpticModules}from"./components/domain-component-optic.js";export{groupComponentsByEntityIdAndName,isEqualGroupedComponentSnapshots}from"./components/group-components-by-entity-id-and-name.js";export{SystemComponentBuilder}from"./components/system-component-builder.js";export{isComponentModificationOfType,systemUpdateFactory,createUpdateFactory}from"./components/updates.js";export{DomainBuilder}from"./domain-builder.js";export{memoEval,isMemoizedArray,isMemoizedObject}from"./utils/memo-eval.js";export{cloneEvalCache,getEvalCache,setEvalCache,createEvalCacheToken}from"./utils/eval-cache.js";export{areProfilerLabelsEnabled,setProfilerLabelsEnabled}from"./utils/profiler-label.js";export*from"./dimensions/index.js";export*from"./domain-context/index.js";export*from"./system-components/index.js";export*from"./sketching/index.js";export*from"./projections/index.js";export*from"./admin-domain/index.js";export*from"./application/index.js";export{resolveActionModules,resolveExpressionModules}from"./project-modules/index.js";export*from"./scene/index.js";export{getAllPhxDefinitions}from"./system-definitions.js";export{availableSystemComponents,componentsByName}from"./available-system-components.js";export*from"./mocks/index.js";export*from"./domain-runtime/index.js";
@@ -1,5 +1,4 @@
1
- import type { DomainEntity, DomainEntityId } from '../core/model.js';
2
- import type { DomainState } from '../core/state.js';
1
+ import type { DomainEntity, DomainEntityId, DomainState } from '../core/index.js';
3
2
  import type { Invariant } from './invariants.js';
4
3
  import type { Violation } from './violation.js';
5
4
  export declare const createInvariant: <VIOLATION_TYPE extends string>(evaluate: (selfId: DomainEntityId<string>, state: DomainState<DomainEntity<string>>) => ReadonlyArray<Violation<VIOLATION_TYPE>>) => Invariant<DomainEntity<string>, DomainEntity<string>, Record<string, unknown>, Record<string, unknown>, Record<string, unknown>, DomainEntity<string>, VIOLATION_TYPE>;
@@ -1,7 +1,5 @@
1
1
  import type { OmitEmpty, OmitNever } from '@salsita-ai/common/utils';
2
- import type { ExpandAlias, TypeOrAlias } from '../core/alias.js';
3
- import type { $DomainEntity, DomainEntity } from '../core/model.js';
4
- import type { CustomExpression } from '../expressions/custom-expression.js';
2
+ import type { $DomainEntity, CustomExpression, DomainEntity, ExpandAlias, TypeOrAlias } from '../core/index.js';
5
3
  import type { Invariant } from './invariants.js';
6
4
  import type { Violation } from './violation.js';
7
5
  export type CustomInvariantsFromBlueprints<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>, BLUEPRINTS extends Partial<Record<keyof $MAP & string, Record<string, boolean | string>>>> = {
@@ -1,8 +1,6 @@
1
1
  import type { OmitNever } from '@salsita-ai/common/utils';
2
- import { type AliasMap, type EventualAlias, type ExpandAlias, type ExtractFromAliasedRecord, type TypeOrAlias } from '../core/alias.js';
3
- import type { AnonymousExpression, ExpressionContext } from '../core/expression.js';
4
- import type { $DomainEntity, DomainEntity, EntityByType } from '../core/model.js';
5
- import type { DomainState } from '../core/state.js';
2
+ import { type $DomainEntity, type AliasMap, type AnonymousExpression, type DomainEntity, type DomainState, type EntityByType, type EventualAlias, type ExpandAlias, type ExpressionContext, type ExtractFromAliasedRecord, type TypeOrAlias } from '../core/index.js';
3
+ import { type ProjectModule } from '../project-modules/index.js';
6
4
  import { type Violation } from './violation.js';
7
5
  export interface Invariant<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>, ENTITY extends ENTITIES, VIOLATION_TYPE extends string> {
8
6
  evaluate(selfId: ENTITY['id'], state: DomainState<ENTITIES>, ctx: ExpressionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>): ReadonlyArray<Violation<VIOLATION_TYPE>>;
@@ -38,10 +36,18 @@ type ExpressionsFromInvariants<ENTITIES extends DomainEntity<string>, ALLOWED_RO
38
36
  };
39
37
  };
40
38
  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;
39
+ type AnyInvariant = Invariant<any, any, any, any, any, any, string>;
40
+ /** Validates the `src/invariants/` files and concatenates their invariants per entity type or alias. */
41
+ export declare const resolveInvariantModules: (modules: readonly ProjectModule[]) => Readonly<Record<string, readonly AnyInvariant[]>>;
41
42
  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>> {
42
43
  private readonly aliasMap;
43
44
  private readonly invariants;
44
45
  constructor(aliasMap: AliasMap<ALIASES>, invariants?: INVARIANTS);
46
+ /**
47
+ * Adds the invariants of the `src/invariants/` files, as the generated barrel lists them, after
48
+ * checking each file against the folder's contract.
49
+ */
50
+ 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>>>;
45
51
  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>>;
46
52
  /**
47
53
  * DO NOT USE in runtime!
@@ -1 +1 @@
1
- import{expandAlias as a}from"../core/alias.js";export class InvariantBuilder{aliasMap;invariants;constructor(a,i={}){this.aliasMap=a,this.invariants=i}withInvariants(i){let t={...this.invariants};return Object.entries(i).forEach(([i,s])=>{a(this.aliasMap,i).forEach(a=>{t[a]=[...t[a]??[],...s]})}),new InvariantBuilder(this.aliasMap,t)}_conflicts={};buildViolationExpressions=()=>{let a={};return Object.entries(this.invariants).forEach(([i,t])=>{a[i]={$violations:{evaluate:(a,i,s)=>t.flatMap(t=>t.evaluate(a,i,s)),meta:{}}}}),a}}
1
+ import{expandAlias as t}from"../core/index.js";import{SHARED_FOLDER_HINT as e,createContractError as a,isRecord as i}from"../project-modules/index.js";let r={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}.`},n=t=>i(t)&&"function"==typeof t.evaluate,s=t=>i(t)&&Object.values(t).every(t=>Array.isArray(t)&&t.every(n));export const resolveInvariantModules=t=>{let e={};for(let i of t){if(!s(i.exports))throw a(i.origin,r,i.exports);for(let[t,a]of Object.entries(i.exports))e[t]=[...e[t]??[],...a]}return e};export class InvariantBuilder{aliasMap;invariants;constructor(t,e={}){this.aliasMap=t,this.invariants=e}withInvariantModules(t){return this.withInvariants(resolveInvariantModules(t))}withInvariants(e){let a={...this.invariants};return Object.entries(e).forEach(([e,i])=>{t(this.aliasMap,e).forEach(t=>{a[t]=[...a[t]??[],...i]})}),new InvariantBuilder(this.aliasMap,a)}_conflicts={};buildViolationExpressions=()=>{let t={};return Object.entries(this.invariants).forEach(([e,a])=>{t[e]={$violations:{evaluate:(t,e,i)=>a.flatMap(a=>a.evaluate(t,e,i)),meta:{}}}}),t}}
@@ -1,6 +1,6 @@
1
1
  import type { I18n } from '@lingui/core';
2
2
  import type { Localizable } from '@salsita-ai/common/utils';
3
- import type { $DomainEntity, DomainEntity, EntityId } from '../core/model.js';
3
+ import type { $DomainEntity, DomainEntity, EntityId } from '../core/index.js';
4
4
  import type { StateEmission } from '../domain-context/store-system/store-system.js';
5
5
  /**
6
6
  * An **ORDERED** list of violation severities.
@@ -15,7 +15,7 @@ import type { RegistrableTransformer } from '../domain-context/index.js';
15
15
  *
16
16
  * Contributing no extension systems is the same shape webhook and finalize hosts run in.
17
17
  */
18
- export declare const createMockDomainRuntime: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, NAVIGATION_STATES extends string, VIEW_STATES extends string, TOOL_STATES extends string, EXPORT_STATES extends string, CHAT_CONTEXT extends Record<string, unknown>, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ADMIN_ENTITIES extends DomainEntity<string>, ADMIN_ALLOWED_ROOT_ENTITIES extends ADMIN_ENTITIES, ADMIN_$MAP extends Record<ADMIN_ENTITIES['type'], $DomainEntity<ADMIN_ENTITIES>>, ADMIN_NAVIGATION_STATES extends string, ADMIN_VIEW_STATES extends string>(_cfg: ApplicationConfig<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, NAVIGATION_STATES, VIEW_STATES, TOOL_STATES, EXPORT_STATES, CHAT_CONTEXT, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ADMIN_ENTITIES, ADMIN_ALLOWED_ROOT_ENTITIES, ADMIN_$MAP, ADMIN_NAVIGATION_STATES, ADMIN_VIEW_STATES>, mocks: {
18
+ export declare const createMockDomainRuntime: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, NAVIGATION_STATES extends string, VIEW_STATES extends string, TOOL_STATES extends string, EXPORT_STATES extends string, CHAT_CONTEXT extends Record<string, unknown>, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ADMIN_ENTITIES extends DomainEntity<string>, ADMIN_ALLOWED_ROOT_ENTITIES extends ADMIN_ENTITIES, ADMIN_$MAP extends Record<ADMIN_ENTITIES['type'], $DomainEntity<ADMIN_ENTITIES>>, ADMIN_NAVIGATION_STATES extends string, ADMIN_VIEW_STATES extends string>(config: ApplicationConfig<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, NAVIGATION_STATES, VIEW_STATES, TOOL_STATES, EXPORT_STATES, CHAT_CONTEXT, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ADMIN_ENTITIES, ADMIN_ALLOWED_ROOT_ENTITIES, ADMIN_$MAP, ADMIN_NAVIGATION_STATES, ADMIN_VIEW_STATES>, mocks: {
19
19
  frontendData: FRONTEND_DATA;
20
20
  publishedData: PUBLISHED_DATA;
21
21
  sessionData: SESSION_DATA;
@@ -57,7 +57,7 @@ export declare const createMockDomainRuntime: <ENTITIES extends DomainEntity<str
57
57
  selectAdminPreset: import("@salsita-ai/common/utils").Selector<import("../index.js").SpecSelectorState, import("../index.js").AnyProductPreset>;
58
58
  selectAdminModelVersion: import("@salsita-ai/common/utils").Selector<import("../index.js").SpecSelectorState, number>;
59
59
  selectThemeOptions: import("@salsita-ai/common/utils").Selector<import("../index.js").SpecSelectorState, import("@mui/material").ThemeOptions>;
60
- selectAssistant: import("@salsita-ai/common/utils").Selector<import("../index.js").SpecSelectorState, import("../index.js").AssistantManifest | null>;
60
+ selectAssistant: import("@salsita-ai/common/utils").Selector<import("../index.js").SpecSelectorState, Required<import("../index.js").AssistantManifest> | null>;
61
61
  selectConfiguratorFactory: import("@salsita-ai/common/utils").Selector<import("../index.js").SpecSelectorState, import("../index.js").AnyDomainFactory>;
62
62
  selectAdminFactory: import("@salsita-ai/common/utils").Selector<import("../index.js").SpecSelectorState, import("../index.js").AnyDomainFactory>;
63
63
  selectConfiguratorComponentOptics: import("@salsita-ai/common/utils").Selector<import("../index.js").SpecSelectorState, readonly import("../index.js").AnyDomainComponentOptic[]>;
@@ -100,7 +100,7 @@ export declare const createMockDomainRuntime: <ENTITIES extends DomainEntity<str
100
100
  getAdminPreset: () => import("../index.js").AnyProductPreset;
101
101
  getAdminModelVersion: () => number;
102
102
  getThemeOptions: () => import("@mui/material").ThemeOptions;
103
- getAssistant: () => import("../index.js").AssistantManifest | null;
103
+ getAssistant: () => Required<import("../index.js").AssistantManifest> | null;
104
104
  getConfiguratorFactory: () => import("../index.js").AnyDomainFactory;
105
105
  getAdminFactory: () => import("../index.js").AnyDomainFactory;
106
106
  getConfiguratorComponentOptics: () => readonly import("../index.js").AnyDomainComponentOptic[];
@@ -1 +1 @@
1
- import{createDomainRuntime as o}from"../domain-runtime/index.js";import{createMockDomainRuntimeServices as e}from"./create-mock-domain-runtime-services.js";import{createMockSessionContext as t}from"./create-mock-session-context.js";export const createMockDomainRuntime=(i,a)=>{let{sessionData:n,mode:r,role:s}=a,c={...i,createTransformers:o=>a.transformers.map(e=>e.transformer.register(o,e.priority??1/0))},m=o({config:c,services:e()});return m.actions.sessionContext.setSessionContext(t(s,n)),m.actions.access.setConfiguratorAccessInfo({raw:"mock-access-token",viewMode:"read"===r,revisionId:void 0,configurationId:"mock"}),m.actions.domainData.setDomainData({publishedData:a.publishedData,frontendData:a.frontendData,backendData:a.backendData}),m.actions.loadedData.completeConfiguratorLoad({initialRevisionId:"mock-revision",initialEntities:a.entities,modelVersion:c.domain.domainFactory.modelVersion,rootEntityType:a.rootEntityType,schemaIdentity:c.domain.domainFactory}),m};
1
+ import{createDomainRuntime as o}from"../domain-runtime/index.js";import{createMockDomainRuntimeServices as t}from"./create-mock-domain-runtime-services.js";import{createMockSessionContext as e}from"./create-mock-session-context.js";export const createMockDomainRuntime=(a,i)=>{let{sessionData:n,mode:r,role:s}=i,c=o({config:a,services:t()}),m=c.getState().spec;return c.actions.spec.updateSpec({...m,configurator:{...m.configurator,createTransformers:o=>i.transformers.map(t=>t.transformer.register(o,t.priority??1/0))}}),c.actions.sessionContext.setSessionContext(e(s,n)),c.actions.access.setConfiguratorAccessInfo({raw:"mock-access-token",viewMode:"read"===r,revisionId:void 0,configurationId:"mock"}),c.actions.domainData.setDomainData({publishedData:i.publishedData,frontendData:i.frontendData,backendData:i.backendData}),c.actions.loadedData.completeConfiguratorLoad({initialRevisionId:"mock-revision",initialEntities:i.entities,modelVersion:a.domain.domainFactory.modelVersion,rootEntityType:i.rootEntityType,schemaIdentity:a.domain.domainFactory}),c};
@@ -0,0 +1 @@
1
+ export { type ExpressionModule, type ProjectModule, type ProjectModuleContract, SHARED_FOLDER_HINT, createContractError, isRecord, resolveActionModules, resolveExpressionModules, resolveListModule, } from './project-modules.js';
@@ -0,0 +1 @@
1
+ export{SHARED_FOLDER_HINT,createContractError,isRecord,resolveActionModules,resolveExpressionModules,resolveListModule}from"./project-modules.js";
@@ -0,0 +1,41 @@
1
+ import type { AnonymousExpression, AnyActionImplementations } from '../core/index.js';
2
+ /**
3
+ * The default export of one file in a project convention folder (`src/elements/`, `src/handlers/`,
4
+ * `src/expressions/`, …), paired with the project-relative path it was imported from.
5
+ *
6
+ * Generated barrels and the editor's hot reload hand project code to the SDK in this shape, without
7
+ * inspecting it. Each folder's resolver then checks the export against the folder's contract, so an
8
+ * invalid file fails with an error naming it instead of an unrelated crash later.
9
+ */
10
+ export interface ProjectModule {
11
+ readonly origin: string;
12
+ readonly exports: unknown;
13
+ }
14
+ /** The expressions of one validated expression file, keyed by entity type or alias, then by expression name. */
15
+ export interface ExpressionModule {
16
+ readonly origin: string;
17
+ readonly expressions: Readonly<Record<string, Readonly<Record<string, AnyAnonymousExpression>>>>;
18
+ }
19
+ type AnyAnonymousExpression = AnonymousExpression<any, any, any, any, any, any, unknown>;
20
+ /** What a convention folder requires of its files, in the words used by the contract error. */
21
+ export interface ProjectModuleContract {
22
+ readonly expected: string;
23
+ readonly fix: string;
24
+ }
25
+ export declare const SHARED_FOLDER_HINT = "or move the file to an underscore-prefixed folder such as src/_shared/ when it is shared code";
26
+ export declare const isRecord: (value: unknown) => value is Record<string, unknown>;
27
+ export declare const createContractError: (origin: string, contract: ProjectModuleContract, received: unknown) => Error;
28
+ /**
29
+ * Checks a file of a folder whose contract is one item or an array of them, and returns its items.
30
+ * The first item that fails the check is the value the error reports.
31
+ */
32
+ export declare const resolveListModule: <Item>(module: ProjectModule, contract: ProjectModuleContract, isItem: (value: unknown) => value is Item) => readonly Item[];
33
+ /**
34
+ * Validates the `src/expressions/` files and rejects an expression that two files define for the
35
+ * same entity type. Merging stays with the caller, because the domain builder and the editor expand
36
+ * aliases at different points; within one file the builder's own duplicate check applies.
37
+ */
38
+ export declare const resolveExpressionModules: (modules: readonly ProjectModule[], aliasMap: Readonly<Record<string, readonly string[]>>) => readonly ExpressionModule[];
39
+ /** Validates the `src/actions/` files and merges their implementations by action name; a later file wins. */
40
+ export declare const resolveActionModules: (modules: readonly ProjectModule[]) => AnyActionImplementations;
41
+ export {};
@@ -0,0 +1 @@
1
+ export const SHARED_FOLDER_HINT="or move the file to an underscore-prefixed folder such as src/_shared/ when it is shared code";let e={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/), ${SHARED_FOLDER_HINT}.`},t={expected:"an object of action implementations keyed by action name",fix:`Create it with phx.domain.implementActions({ ... }), ${SHARED_FOLDER_HINT}.`};export const isRecord=e=>"object"==typeof e&&null!==e&&!Array.isArray(e);export const createContractError=(e,t,r)=>Error(`Invalid default export in ${e}: expected ${t.expected}, but got ${(e=>{if(void 0===e)return"nothing (the file has no default export)";if(null===e)return"null";if("function"==typeof e)return e.name?`the function "${e.name}"`:"an anonymous function";if(Array.isArray(e))return`an array of ${e.length} item(s)`;if(isRecord(e)){let t=Object.keys(e);return t.length>0?`an object with the keys ${t.join(", ")}`:"an empty object"}return`the ${typeof e} ${JSON.stringify(e)}`})(r)}. Every file in this folder is loaded by convention, so each one must default-export that shape. ${t.fix}`);export const resolveListModule=(e,t,r)=>{let o=Array.isArray(e.exports)?e.exports:[e.exports],n=[];for(let i of o){if(!r(i))throw createContractError(e.origin,t,i);n.push(i)}return n};let r=e=>isRecord(e)&&"function"==typeof e.evaluate,o=e=>isRecord(e)&&Object.values(e).every(r),n=e=>"function"==typeof e;export const resolveExpressionModules=(t,r)=>{let n=new Map;return t.map(t=>{let i;if(i=t.exports,!(isRecord(i)&&Object.values(i).every(o)))throw createContractError(t.origin,e,t.exports);for(let[e,o]of Object.entries(t.exports))for(let i of r[e]??[e])for(let e of Object.keys(o)){let r=`${i}.${e}`,o=n.get(r);if(void 0!==o&&o!==t.origin)throw Error(`Duplicate expression ${r}: it is defined in both ${o} and ${t.origin}, which would make its value depend on file order. Keep one definition and remove the other.`);n.set(r,t.origin)}return{origin:t.origin,expressions:t.exports}})};export const resolveActionModules=e=>e.reduce((e,r)=>{let o;if(o=r.exports,!(isRecord(o)&&Object.values(o).every(n)))throw createContractError(r.origin,t,r.exports);return{...e,...r.exports}},{});
@@ -1,5 +1,4 @@
1
- import type { DomainEntity, DomainEntityId } from '../core/model.js';
2
- import type { DomainState } from '../core/state.js';
1
+ import type { DomainEntity, DomainEntityId, DomainState } from '../core/index.js';
3
2
  import type { DomainContextSelectors } from '../domain-runtime/domain-context/index.js';
4
3
  /**
5
4
  * Constructor context of `ProjectedEntitiesProjections`. It carries no `selectors` member because
@@ -1,7 +1,6 @@
1
1
  import type { Matrix4 } from 'three';
2
2
  import { Vector3 } from 'three';
3
- import type { ComponentSnapshot } from '../core/component.js';
4
- import type { DomainEntity } from '../core/model.js';
3
+ import type { ComponentSnapshot, DomainEntity } from '../core/index.js';
5
4
  import type { SnapAxisComponent, SnapEdgeComponent, SnapPlaneComponent, SnapPointComponent } from '../system-components/index.js';
6
5
  /**
7
6
  * Common fields shared by all world-space snap primitives (points, edges, planes, axes).
@@ -1,6 +1,5 @@
1
1
  import { type Euler, Matrix4, Vector3 } from 'three';
2
- import type { ComponentSnapshot } from '../core/component.js';
3
- import type { DomainEntity } from '../core/model.js';
2
+ import type { ComponentSnapshot, DomainEntity } from '../core/index.js';
4
3
  import type { DimensionUnit } from '../dimensions/dimensions.js';
5
4
  import type { SnapAxisComponent, SnapEdgeComponent, SnapPlaneComponent, SnapPointComponent } from '../system-components/index.js';
6
5
  import type { SnapAxisComponentState } from '../system-components/snap-axis.js';
@@ -1,7 +1,4 @@
1
- import { type AliasMap, type TypeOrAlias } from '../core/alias.js';
2
- import type { ExpressionMeta } from '../core/expression.js';
3
- import type { DomainEntity, DomainEntityId } from '../core/model.js';
4
- import type { DomainState } from '../core/state.js';
1
+ import { type AliasMap, type DomainEntity, type DomainEntityId, type DomainState, type ExpressionMeta, type TypeOrAlias } from '../core/index.js';
5
2
  interface AllOfType0Relation<ENTITIES extends DomainEntity<string>, ALIASES extends Record<string, ENTITIES>, TARGET extends TypeOrAlias<ENTITIES, ALIASES>> {
6
3
  kind: 'allOfType';
7
4
  target: TARGET;
@@ -1 +1 @@
1
- import{expandAlias as e}from"../core/alias.js";export const createAllOfTypeRelation=t=>{let r=new Map,a=new WeakMap,n=!1;return o=>{if(n)throw Error(`Cannot register all-of-type relation targeting ${String(o.target)} after evaluation started. Create all relation expressions before evaluating the domain state.`);let i=new Set(e(t,o.target)),l=[...i].sort().join("|");return r.set(l,i),(e,t)=>(e=>{let t=a.get(e);if(t)return t;n=!0;let o=new Map([...r.keys()].map(e=>[e,[]]));for(let t of e.entities)for(let[e,a]of r)a.has(t.type)&&o.get(e).push(t.id);return a.set(e,o),o})(t).get(l)}};
1
+ import{expandAlias as e}from"../core/index.js";export const createAllOfTypeRelation=t=>{let r=new Map,a=new WeakMap,n=!1;return o=>{if(n)throw Error(`Cannot register all-of-type relation targeting ${String(o.target)} after evaluation started. Create all relation expressions before evaluating the domain state.`);let i=new Set(e(t,o.target)),l=[...i].sort().join("|");return r.set(l,i),(e,t)=>(e=>{let t=a.get(e);if(t)return t;n=!0;let o=new Map([...r.keys()].map(e=>[e,[]]));for(let t of e.entities)for(let[e,a]of r)a.has(t.type)&&o.get(e).push(t.id);return a.set(e,o),o})(t).get(l)}};
@@ -1,5 +1,4 @@
1
- import type { DomainEntity, DomainEntityId } from '../core/model.js';
2
- import type { DomainEntityReflection, RawAliasReflection } from '../core/reflection.js';
1
+ import type { DomainEntity, DomainEntityId, DomainEntityReflection, RawAliasReflection } from '../core/index.js';
3
2
  import type { ComposedOfComponentState } from './composed-of.js';
4
3
  import type { ReferenceComponentState } from './reference-component.js';
5
4
  export declare const createSingleReferenceRead: <TARGET extends DomainEntity<string>>(_targetReflection: DomainEntityReflection<TARGET> | RawAliasReflection<TARGET>, field: string) => (self: object, state: unknown, ctx: unknown) => ReferenceComponentState;
@@ -1,4 +1,4 @@
1
- import { type DomainEntityId } from '../core/model.js';
1
+ import { type DomainEntityId } from '../core/index.js';
2
2
  export type ComposedOfComponentState = {
3
3
  /**
4
4
  * List of entity IDs that the parent entity is composed of
@@ -1 +1 @@
1
- import{SystemComponentBuilder as o}from"../components/system-component-builder.js";import{EntityIdSchema as t}from"../core/model.js";export const composedOfComponent=o.component("composedOf").withState({type:"object",properties:{childEntityIds:{type:"array",items:t}},required:["childEntityIds"],additionalProperties:!1}).build();
1
+ import{SystemComponentBuilder as o}from"../components/system-component-builder.js";import{EntityIdSchema as t}from"../core/index.js";export const composedOfComponent=o.component("composedOf").withState({type:"object",properties:{childEntityIds:{type:"array",items:t}},required:["childEntityIds"],additionalProperties:!1}).build();
@@ -1,6 +1,4 @@
1
- import type { ExpandAlias, TypeOrAlias } from '../core/alias.js';
2
- import type { ExpressionMeta } from '../core/expression.js';
3
- import type { DomainEntity } from '../core/model.js';
1
+ import type { DomainEntity, ExpandAlias, ExpressionMeta, TypeOrAlias } from '../core/index.js';
4
2
  import type { ArrayReferenceField, SingleReferenceField } from './reference-field.js';
5
3
  import type { RelationImplementation } from './relation-implementation.js';
6
4
  interface DirectArrayRelation<ENTITIES extends DomainEntity<string>, ALIASES extends Record<string, ENTITIES>, SELF extends TypeOrAlias<ENTITIES, ALIASES>, TARGET extends TypeOrAlias<ENTITIES, ALIASES>> {
@@ -1,7 +1,4 @@
1
- import { type AliasMap, type ExpandAlias, type TypeOrAlias } from '../core/alias.js';
2
- import type { ExpressionMeta } from '../core/expression.js';
3
- import { type DomainEntity, type DomainEntityId } from '../core/model.js';
4
- import type { DomainState } from '../core/state.js';
1
+ import { type AliasMap, type DomainEntity, type DomainEntityId, type DomainState, type ExpandAlias, type ExpressionMeta, type TypeOrAlias } from '../core/index.js';
5
2
  import type { ArrayReferenceField, SingleReferenceField } from './reference-field.js';
6
3
  interface IndirectNullableSingle0Relation<ENTITIES extends DomainEntity<string>, ALIASES extends Record<string, ENTITIES>, SELF extends TypeOrAlias<ENTITIES, ALIASES>, TARGET extends TypeOrAlias<ENTITIES, ALIASES>> {
7
4
  kind: 'indirect';
@@ -1 +1 @@
1
- import{isArray as e}from"@salsita-ai/common/utils";import{expandAlias as t}from"../core/alias.js";let r=e=>"string"==typeof e;export const createIndirectRelation=i=>{let a=new Map,n=new WeakMap,o=!1;return l=>{if(o)throw Error(`Cannot register indirect relation ${String(l.target)}#${l.field} after evaluation started. Create all relation expressions before evaluating the domain state.`);let s=new Set(t(i,l.target)),f=`${l.field}|${[...s].sort().join("|")}`;return a.set(f,{field:l.field,targetTypes:s}),(t,i)=>(t=>{let i=n.get(t);if(i)return i;o=!0;let l=new Map([...a.keys()].map(e=>[e,new Map]));for(let i of t.entities)for(let[t,{field:n,targetTypes:o}]of a){if(!o.has(i.type))continue;let a=i[n],s=e(a)?new Set(a.filter(r)):r(a)?[a]:[],f=l.get(t);for(let e of s){let t=f.get(e);t||(t=[],f.set(e,t)),t.push(i.id)}}return n.set(t,l),l})(i).get(f).get(t)??[]}};
1
+ import{isArray as e}from"@salsita-ai/common/utils";import{expandAlias as t}from"../core/index.js";let r=e=>"string"==typeof e;export const createIndirectRelation=i=>{let n=new Map,o=new WeakMap,a=!1;return l=>{if(a)throw Error(`Cannot register indirect relation ${String(l.target)}#${l.field} after evaluation started. Create all relation expressions before evaluating the domain state.`);let s=new Set(t(i,l.target)),f=`${l.field}|${[...s].sort().join("|")}`;return n.set(f,{field:l.field,targetTypes:s}),(t,i)=>(t=>{let i=o.get(t);if(i)return i;a=!0;let l=new Map([...n.keys()].map(e=>[e,new Map]));for(let i of t.entities)for(let[t,{field:o,targetTypes:a}]of n){if(!a.has(i.type))continue;let n=i[o],s=e(n)?new Set(n.filter(r)):r(n)?[n]:[],f=l.get(t);for(let e of s){let t=f.get(e);t||(t=[],f.set(e,t)),t.push(i.id)}}return o.set(t,l),l})(i).get(f).get(t)??[]}};
@@ -1,6 +1,5 @@
1
1
  import type { DomainComponentOpticBuilder } from '../components/domain-component-optic.js';
2
- import type { $DomainEntity, DomainEntity, DomainEntityId } from '../core/model.js';
3
- import type { DomainEntityReflection, RawAliasReflection } from '../core/reflection.js';
2
+ import { type $DomainEntity, type DomainEntity, type DomainEntityId, type DomainEntityReflection, type RawAliasReflection } from '../core/index.js';
4
3
  import type { ArrayReferenceField, SingleReferenceField } from './reference-field.js';
5
4
  export type ReferenceComponentState = {
6
5
  /**
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{EntityIdSchema as t}from"../core/model.js";import{memoEval as r}from"../utils/memo-eval.js";export const referenceComponent=e.component("reference").withState({type:"object",properties:{referencedEntityIds:{type:"array",items:t}},required:["referencedEntityIds"],additionalProperties:!1}).withWritableKeys(["referencedEntityIds"]).build();export const attachSingleReferenceComponent=(e,t,n)=>e.attach(r(e=>[e[n]],e=>({referencedEntityIds:null===e?[]:[e]})),e=>{let r=e.referencedEntityIds[0];return r&&t.assertId(r),{[n]:r??null}});export const attachMultipleReferenceComponent=(e,t,n)=>e.attach(r(e=>[e[n]],e=>({referencedEntityIds:e})),e=>(t.assertIds(e.referencedEntityIds),{[n]:e.referencedEntityIds}));
1
+ import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{EntityIdSchema as t}from"../core/index.js";import{memoEval as r}from"../utils/memo-eval.js";export const referenceComponent=e.component("reference").withState({type:"object",properties:{referencedEntityIds:{type:"array",items:t}},required:["referencedEntityIds"],additionalProperties:!1}).withWritableKeys(["referencedEntityIds"]).build();export const attachSingleReferenceComponent=(e,t,n)=>e.attach(r(e=>[e[n]],e=>({referencedEntityIds:null===e?[]:[e]})),e=>{let r=e.referencedEntityIds[0];return r&&t.assertId(r),{[n]:r??null}});export const attachMultipleReferenceComponent=(e,t,n)=>e.attach(r(e=>[e[n]],e=>({referencedEntityIds:e})),e=>(t.assertIds(e.referencedEntityIds),{[n]:e.referencedEntityIds}));
@@ -1,4 +1,4 @@
1
- import type { DomainEntity } from '../core/model.js';
1
+ import type { DomainEntity } from '../core/index.js';
2
2
  export type SingleReferenceField<FROM extends DomainEntity<string>, TO extends DomainEntity<string>, OPTIONALITY extends null | never> = {
3
3
  [K in keyof FROM]: TO['id'] | OPTIONALITY extends FROM[K] ? FROM[K] extends TO['id'] | OPTIONALITY ? K & string : never : never;
4
4
  }[keyof FROM];
@@ -1,6 +1,4 @@
1
- import type { AliasMap, ExpandAlias, TypeOrAlias } from '../core/alias.js';
2
- import type { AnonymousExpression } from '../core/expression.js';
3
- import type { $DomainEntity, DomainEntity } from '../core/model.js';
1
+ import type { $DomainEntity, AliasMap, AnonymousExpression, DomainEntity, ExpandAlias, TypeOrAlias } from '../core/index.js';
4
2
  import { type AllOfTypeRelation } from './all-of-type-relation.js';
5
3
  import type { DirectRelation } from './direct-relation.js';
6
4
  import { type IndirectRelation } from './indirect-relation.js';
@@ -1,7 +1,4 @@
1
- import type { AliasMap } from '../core/alias.js';
2
- import type { Domain } from '../core/index.js';
3
- import type { DomainEntity, DomainEntityId } from '../core/model.js';
4
- import type { DomainState } from '../core/state.js';
1
+ import type { AliasMap, Domain, DomainEntity, DomainEntityId, DomainState } from '../core/index.js';
5
2
  import type { Relation } from './relation-factory.js';
6
3
  export type RelationImplementation<KIND extends Relation<any, any, any, any>['kind']> = (relation: Extract<Relation<any, any, any, any>, {
7
4
  kind: KIND;
@@ -1,5 +1,5 @@
1
1
  import type { ReactNode } from 'react';
2
- import { type DomainEntityId } from '../core/model.js';
2
+ import { type DomainEntityId } from '../core/index.js';
3
3
  import { type PhoenixEntityElement } from './phoenix-entity-elements/index.js';
4
4
  export type AdminSidebarComponentState = {
5
5
  /**
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{DomainEntityIdSchema as t}from"../core/model.js";import{ReactNodeSchema as i}from"./common/react-node-schema.js";import{PhoenixEntityElementSchema as o}from"./phoenix-entity-elements/index.js";export const adminSidebarComponent=e.component("adminSidebar").withState({type:"object",tsType:"AdminSidebarComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"AdminSidebarComponentState"}],properties:{page:i,children:{type:"array",items:{$ref:"#/definitions/PhoenixEntityElement"}},title:{type:"string"},fallbackId:t},definitions:{PhoenixEntityElement:o},required:["title"],additionalProperties:!1}).build();
1
+ import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{DomainEntityIdSchema as t}from"../core/index.js";import{ReactNodeSchema as i}from"./common/react-node-schema.js";import{PhoenixEntityElementSchema as n}from"./phoenix-entity-elements/index.js";export const adminSidebarComponent=e.component("adminSidebar").withState({type:"object",tsType:"AdminSidebarComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"AdminSidebarComponentState"}],properties:{page:i,children:{type:"array",items:{$ref:"#/definitions/PhoenixEntityElement"}},title:{type:"string"},fallbackId:t},definitions:{PhoenixEntityElement:n},required:["title"],additionalProperties:!1}).build();
@@ -1,5 +1,5 @@
1
1
  import { type Localizable } from '@salsita-ai/common/utils';
2
- import { type ComponentSnapshot } from '../core/component.js';
2
+ import { type ComponentSnapshot } from '../core/index.js';
3
3
  import { type AngleIndicatorBaseState } from './common/index.js';
4
4
  export type AngleIndicatorComponentState = AngleIndicatorBaseState & {
5
5
  /**
@@ -1 +1 @@
1
- import{EnhancedLocalizableSchema as o}from"@salsita-ai/common/utils";import{SystemComponentBuilder as t}from"../components/system-component-builder.js";import{isSnapshotOfComponentType as e}from"../core/component.js";import{AngleIndicatorProperties as n}from"./common/index.js";export const angleIndicatorComponent=t.component("angleIndicator").withState({tsType:"AngleIndicatorComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"AngleIndicatorComponentState"}],type:"object",properties:{...n,label:o,visible:{type:"boolean"},force:{type:"boolean"}},required:["positionX","positionY","positionZ","startAngle","sweepAngle"],additionalProperties:!1}).build();export const isAngleIndicatorSnapshot=e(angleIndicatorComponent);
1
+ import{EnhancedLocalizableSchema as o}from"@salsita-ai/common/utils";import{SystemComponentBuilder as t}from"../components/system-component-builder.js";import{isSnapshotOfComponentType as e}from"../core/index.js";import{AngleIndicatorProperties as n}from"./common/index.js";export const angleIndicatorComponent=t.component("angleIndicator").withState({tsType:"AngleIndicatorComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"AngleIndicatorComponentState"}],type:"object",properties:{...n,label:o,visible:{type:"boolean"},force:{type:"boolean"}},required:["positionX","positionY","positionZ","startAngle","sweepAngle"],additionalProperties:!1}).build();export const isAngleIndicatorSnapshot=e(angleIndicatorComponent);
@@ -1,4 +1,4 @@
1
- import { type ComponentInstance, type ComponentSnapshot } from '../core/component.js';
1
+ import { type ComponentInstance, type ComponentSnapshot } from '../core/index.js';
2
2
  import { DimensionUnit, type UnitsConfig } from '../dimensions/index.js';
3
3
  export type ApplicationConfigComponentState = {
4
4
  readonly showCollisionWarnings?: boolean;
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{isInstanceOfComponentType as n,isSnapshotOfComponentType as t}from"../core/component.js";import{DimensionUnit as o,UnitsConfigSchema as i}from"../dimensions/index.js";export const applicationConfigComponent=e.component("applicationConfig").withState({type:"object",tsType:"ApplicationConfigComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"ApplicationConfigComponentState"}],properties:{showCollisionWarnings:{type:"boolean"},collisionWarningIcon:{type:"string"},sidebarBackIcon:{type:"string"},hamburgerIcon:{type:"string"},readonlyBannerIcon:{type:"string"},toolbarCloseIcon:{type:"string"},layout:{type:"string",enum:["simple","tabs","steps","custom","universal"]},ignoreSelectionInSidebar:{type:"boolean"},miniSidebar:{type:"boolean"},initialGlobalUnit:{type:"string",enum:Object.values(o)},distanceDataUnit:{type:"string",enum:Object.values(o)},unitDisplayConfig:i,availableDimensions:{type:"array",items:{type:"string",enum:Object.values(o)}},splitSidebar:{type:"boolean"},showSelectionBackButton:{type:"boolean"},disableDefaultCamera:{type:"boolean"},shareDisabled:{type:"boolean"},shareOwnerLinkDisabled:{type:"boolean"},shareReadRevisionLinkDisabled:{type:"boolean"},shareExpiration:{type:"number"},shareCloneToEdit:{type:"boolean"},shareStrategy:{type:"string",enum:["deployment-registered","current-frontend"]},availableLocales:{type:"array",items:{type:"string"}},initialIndicatorShown:{type:"boolean"},chatEnabled:{type:"boolean"},indicatorSwitch:{type:"boolean"},disableRelativeDragging:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isApplicationConfigSnapshot=t(applicationConfigComponent);export const isApplicationConfigInstance=n(applicationConfigComponent);
1
+ import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{isInstanceOfComponentType as n,isSnapshotOfComponentType as t}from"../core/index.js";import{DimensionUnit as o,UnitsConfigSchema as i}from"../dimensions/index.js";export const applicationConfigComponent=e.component("applicationConfig").withState({type:"object",tsType:"ApplicationConfigComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"ApplicationConfigComponentState"}],properties:{showCollisionWarnings:{type:"boolean"},collisionWarningIcon:{type:"string"},sidebarBackIcon:{type:"string"},hamburgerIcon:{type:"string"},readonlyBannerIcon:{type:"string"},toolbarCloseIcon:{type:"string"},layout:{type:"string",enum:["simple","tabs","steps","custom","universal"]},ignoreSelectionInSidebar:{type:"boolean"},miniSidebar:{type:"boolean"},initialGlobalUnit:{type:"string",enum:Object.values(o)},distanceDataUnit:{type:"string",enum:Object.values(o)},unitDisplayConfig:i,availableDimensions:{type:"array",items:{type:"string",enum:Object.values(o)}},splitSidebar:{type:"boolean"},showSelectionBackButton:{type:"boolean"},disableDefaultCamera:{type:"boolean"},shareDisabled:{type:"boolean"},shareOwnerLinkDisabled:{type:"boolean"},shareReadRevisionLinkDisabled:{type:"boolean"},shareExpiration:{type:"number"},shareCloneToEdit:{type:"boolean"},shareStrategy:{type:"string",enum:["deployment-registered","current-frontend"]},availableLocales:{type:"array",items:{type:"string"}},initialIndicatorShown:{type:"boolean"},chatEnabled:{type:"boolean"},indicatorSwitch:{type:"boolean"},disableRelativeDragging:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isApplicationConfigSnapshot=t(applicationConfigComponent);export const isApplicationConfigInstance=n(applicationConfigComponent);
@@ -1 +1 @@
1
- import{EnhancedLocalizableSchema as t}from"@salsita-ai/common/utils";import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{isSnapshotOfComponentType as o}from"../core/component.js";export const attributeSelectionComponent=e.component("attributeSelection").withState({type:"object",tsType:"AttributeSelectionComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"AttributeSelectionComponentState"}],properties:{value:{type:["string","number","boolean","null"]},options:{type:"array",items:{type:"object",properties:{label:t,description:t,img:t,value:{type:["string","number","boolean"]}},required:["value","label"],additionalProperties:!0}}},required:["value","options"],additionalProperties:!1}).withWritableKeys(["value"]).build();export const isAttributeSelectionSnapshot=o(attributeSelectionComponent);
1
+ import{EnhancedLocalizableSchema as t}from"@salsita-ai/common/utils";import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{isSnapshotOfComponentType as o}from"../core/index.js";export const attributeSelectionComponent=e.component("attributeSelection").withState({type:"object",tsType:"AttributeSelectionComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"AttributeSelectionComponentState"}],properties:{value:{type:["string","number","boolean","null"]},options:{type:"array",items:{type:"object",properties:{label:t,description:t,img:t,value:{type:["string","number","boolean"]}},required:["value","label"],additionalProperties:!0}}},required:["value","options"],additionalProperties:!1}).withWritableKeys(["value"]).build();export const isAttributeSelectionSnapshot=o(attributeSelectionComponent);
@@ -1,4 +1,4 @@
1
- import type { ComponentSnapshot } from '../core/component.js';
1
+ import type { ComponentSnapshot } from '../core/index.js';
2
2
  export type AutorotateCameraComponentState = {
3
3
  /**
4
4
  * Speed of autorotation in radians per second.
@@ -1,4 +1,4 @@
1
- import type { ComponentInstance, ComponentSnapshot } from '../core/component.js';
1
+ import { type ComponentInstance, type ComponentSnapshot } from '../core/index.js';
2
2
  export type BasicSidebarFooterComponentState = Record<string, never>;
3
3
  export declare const basicSidebarFooterComponent: import("../index.js").SystemComponentType<"basicSidebarFooter", BasicSidebarFooterComponentState, never>;
4
4
  export type BasicSidebarFooterComponent = typeof basicSidebarFooterComponent;
@@ -1 +1 @@
1
- import{SystemComponentBuilder as o}from"../components/system-component-builder.js";import{isInstanceOfComponentType as e,isSnapshotOfComponentType as t}from"../core/component.js";export const basicSidebarFooterComponent=o.component("basicSidebarFooter").withState({type:"object",tsType:"BasicSidebarFooterComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"BasicSidebarFooterComponentState"}],properties:{},required:[],additionalProperties:!1}).build();export const isBasicSidebarFooterSnapshot=t(basicSidebarFooterComponent);export const isBasicSidebarFooterInstance=e(basicSidebarFooterComponent);
1
+ import{SystemComponentBuilder as o}from"../components/system-component-builder.js";import{isInstanceOfComponentType as e,isSnapshotOfComponentType as t}from"../core/index.js";export const basicSidebarFooterComponent=o.component("basicSidebarFooter").withState({type:"object",tsType:"BasicSidebarFooterComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"BasicSidebarFooterComponentState"}],properties:{},required:[],additionalProperties:!1}).build();export const isBasicSidebarFooterSnapshot=t(basicSidebarFooterComponent);export const isBasicSidebarFooterInstance=e(basicSidebarFooterComponent);
@@ -1,5 +1,5 @@
1
1
  import { type Box3 } from 'three';
2
- import type { ComponentSnapshot } from '../core/component.js';
2
+ import type { ComponentSnapshot } from '../core/index.js';
3
3
  export type BoundingBoxComponentState = {
4
4
  /**
5
5
  * Three.js Box3 object defining the custom bounding box for camera fitting.
@@ -1,5 +1,5 @@
1
1
  import { type Sphere } from 'three';
2
- import type { ComponentSnapshot } from '../core/component.js';
2
+ import type { ComponentSnapshot } from '../core/index.js';
3
3
  export type BoundingSphereComponentState = {
4
4
  /**
5
5
  * Three.js Sphere object defining the custom bounding sphere for camera fitting.
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{isSnapshotOfComponentType as t}from"../core/component.js";export const cameraBasedHiddenEntityObjectComponent=e.component("cameraBasedHiddenEntityObject").withState({type:"object",tsType:"CameraBasedHiddenEntityObjectComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"CameraBasedHiddenEntityObjectComponentState"}],properties:{normal:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"],additionalProperties:!1},constant:{type:"number"},behind:{type:"boolean"}},required:["normal","constant"],additionalProperties:!1}).build();export const isCameraBasedHiddenEntityObjectComponent=t(cameraBasedHiddenEntityObjectComponent);
1
+ import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{isSnapshotOfComponentType as t}from"../core/index.js";export const cameraBasedHiddenEntityObjectComponent=e.component("cameraBasedHiddenEntityObject").withState({type:"object",tsType:"CameraBasedHiddenEntityObjectComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"CameraBasedHiddenEntityObjectComponentState"}],properties:{normal:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"],additionalProperties:!1},constant:{type:"number"},behind:{type:"boolean"}},required:["normal","constant"],additionalProperties:!1}).build();export const isCameraBasedHiddenEntityObjectComponent=t(cameraBasedHiddenEntityObjectComponent);
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{isSnapshotOfComponentType as t}from"../core/component.js";export const cameraBasedHiddenEntityComponent=e.component("cameraBasedHiddenEntity").withState({type:"object",tsType:"CameraBasedHiddenEntityComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"CameraBasedHiddenEntityComponentState"}],properties:{normal:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"],additionalProperties:!1},constant:{type:"number"},behind:{type:"boolean"}},required:["normal","constant"],additionalProperties:!1}).build();export const isCameraBasedHiddenEntityComponent=t(cameraBasedHiddenEntityComponent);
1
+ import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{isSnapshotOfComponentType as t}from"../core/index.js";export const cameraBasedHiddenEntityComponent=e.component("cameraBasedHiddenEntity").withState({type:"object",tsType:"CameraBasedHiddenEntityComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"CameraBasedHiddenEntityComponentState"}],properties:{normal:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"],additionalProperties:!1},constant:{type:"number"},behind:{type:"boolean"}},required:["normal","constant"],additionalProperties:!1}).build();export const isCameraBasedHiddenEntityComponent=t(cameraBasedHiddenEntityComponent);
@@ -1,4 +1,4 @@
1
- import { type ComponentInstance, type ComponentSnapshot } from '../core/component.js';
1
+ import { type ComponentInstance, type ComponentSnapshot } from '../core/index.js';
2
2
  export type CanvasConfigComponentState = {
3
3
  /**
4
4
  * If true, highlighting will be disabled.
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{isInstanceOfComponentType as o,isSnapshotOfComponentType as n}from"../core/component.js";export const canvasConfigComponent=e.component("canvasConfig").withState({type:"object",tsType:"CanvasConfigComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"CanvasConfigComponentState"}],properties:{highlightingDisabled:{type:"boolean"},frameloop:{type:"string",enum:["always","demand","never"]},__doNotSuspendEnvironment:{type:"boolean"},precision:{type:"string",enum:["highp","mediump","lowp"]},alpha:{type:"boolean"},premultipliedAlpha:{type:"boolean"},antialias:{type:"boolean"},stencil:{type:"boolean"},preserveDrawingBuffer:{type:"boolean"},powerPreference:{type:"string",enum:["high-performance","low-power","default"]},depth:{type:"boolean"},logarithmicDepthBuffer:{type:"boolean"},failIfMajorPerformanceCaveat:{type:"boolean"},shadows:{type:"string",enum:["basic","percentage","soft","variance"]},enableFastHighlight:{type:"boolean"},fastHighlightColor:{type:"string"},fastHighlightIntensity:{type:"number"}},required:[],additionalProperties:!1}).build();export const isCanvasConfigSnapshot=n(canvasConfigComponent);export const isCanvasConfigInstance=o(canvasConfigComponent);
1
+ import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{isInstanceOfComponentType as o,isSnapshotOfComponentType as n}from"../core/index.js";export const canvasConfigComponent=e.component("canvasConfig").withState({type:"object",tsType:"CanvasConfigComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"CanvasConfigComponentState"}],properties:{highlightingDisabled:{type:"boolean"},frameloop:{type:"string",enum:["always","demand","never"]},__doNotSuspendEnvironment:{type:"boolean"},precision:{type:"string",enum:["highp","mediump","lowp"]},alpha:{type:"boolean"},premultipliedAlpha:{type:"boolean"},antialias:{type:"boolean"},stencil:{type:"boolean"},preserveDrawingBuffer:{type:"boolean"},powerPreference:{type:"string",enum:["high-performance","low-power","default"]},depth:{type:"boolean"},logarithmicDepthBuffer:{type:"boolean"},failIfMajorPerformanceCaveat:{type:"boolean"},shadows:{type:"string",enum:["basic","percentage","soft","variance"]},enableFastHighlight:{type:"boolean"},fastHighlightColor:{type:"string"},fastHighlightIntensity:{type:"number"}},required:[],additionalProperties:!1}).build();export const isCanvasConfigSnapshot=n(canvasConfigComponent);export const isCanvasConfigInstance=o(canvasConfigComponent);
@@ -1,4 +1,4 @@
1
- import { type ComponentInstance, type ComponentSnapshot } from '../core/component.js';
1
+ import { type ComponentInstance, type ComponentSnapshot } from '../core/index.js';
2
2
  export type CanvasPaddingComponentState = {
3
3
  /**
4
4
  * Fraction of the available left space to be applied to the left side of the canvas.
@@ -1 +1 @@
1
- import{SystemComponentBuilder as n}from"../components/system-component-builder.js";import{isInstanceOfComponentType as t,isSnapshotOfComponentType as e}from"../core/component.js";export const canvasPaddingComponent=n.component("canvasPadding").withState({type:"object",tsType:"CanvasPaddingComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"CanvasPaddingComponentState"}],properties:{left:{type:"number"},right:{type:"number"},top:{type:"number"},bottom:{type:"number"}},required:[],additionalProperties:!1}).build();export const isCanvasPaddingSnapshot=e(canvasPaddingComponent);export const isCanvasPaddingInstance=t(canvasPaddingComponent);
1
+ import{SystemComponentBuilder as n}from"../components/system-component-builder.js";import{isInstanceOfComponentType as t,isSnapshotOfComponentType as e}from"../core/index.js";export const canvasPaddingComponent=n.component("canvasPadding").withState({type:"object",tsType:"CanvasPaddingComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"CanvasPaddingComponentState"}],properties:{left:{type:"number"},right:{type:"number"},top:{type:"number"},bottom:{type:"number"}},required:[],additionalProperties:!1}).build();export const isCanvasPaddingSnapshot=e(canvasPaddingComponent);export const isCanvasPaddingInstance=t(canvasPaddingComponent);
@@ -1,4 +1,4 @@
1
- import { type ComponentInstance, type ComponentSnapshot } from '../core/component.js';
1
+ import { type ComponentInstance, type ComponentSnapshot } from '../core/index.js';
2
2
  export type CanvasPresetEnvironmentComponentState = {
3
3
  /**
4
4
  * Intensity of ambient light in the scene. Defaults to 0.7 if not specified.