@salsita-ai/sdk 0.50.0-develop.9440e83ee3 → 0.50.0-develop.95b896fd8c

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 (573) hide show
  1. package/README.md +1 -1
  2. package/dist/application/index.d.ts +1 -0
  3. package/dist/application/index.js +1 -1
  4. package/dist/application/mount-application.d.ts +1 -1
  5. package/dist/application/mount-application.js +1 -1
  6. package/dist/application/mount-configurator.d.ts +19 -0
  7. package/dist/application/mount-configurator.js +1 -0
  8. package/dist/application/mounted-application-runtime.d.ts +4 -0
  9. package/dist/application/mounted-application-runtime.js +1 -0
  10. package/dist/application/register-web-component.d.ts +2 -0
  11. package/dist/application/register-web-component.js +1 -0
  12. package/dist/application-spec/core/enhanced-json-value.d.ts +2 -31
  13. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  14. package/dist/application-spec/core/index.d.ts +1 -3
  15. package/dist/application-spec/core/index.js +1 -1
  16. package/dist/application-spec/core/json-schema.d.ts +2 -52
  17. package/dist/application-spec/core/markers/index.d.ts +1 -1
  18. package/dist/application-spec/core/markers/index.js +1 -1
  19. package/dist/application-spec/core/markers/msg-marker.d.ts +2 -28
  20. package/dist/application-spec/core/markers/msg-marker.js +1 -1
  21. package/dist/application-spec/core/markers/raw-eval-write-marker.d.ts +1 -1
  22. package/dist/application-spec/core/markers/raw-eval-write-marker.js +1 -1
  23. package/dist/application-spec/core/markers/raw-read-write-marker.js +1 -1
  24. package/dist/application-spec/errors/diagnostic-codes.d.ts +1 -0
  25. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  26. package/dist/application-spec/errors/diagnostic-messages.d.ts +1 -0
  27. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  28. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  29. package/dist/application-spec/generate-application/code/templates/index.d.ts +2 -6
  30. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  31. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill-bundle.d.ts +10 -0
  32. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill-bundle.js +7 -0
  33. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  34. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +12 -6
  35. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +1 -1
  36. package/dist/application-spec/generate-application/implementations/phx-application-types.d.ts +25 -0
  37. package/dist/application-spec/generate-application/implementations/phx-application-types.js +1 -0
  38. package/dist/application-spec/generate-application/implementations/phx-domain.d.ts +36 -0
  39. package/dist/application-spec/generate-application/implementations/phx-domain.js +1 -0
  40. package/dist/application-spec/generate-application/implementations/phx-model.d.ts +24 -0
  41. package/dist/application-spec/generate-application/implementations/phx-model.js +1 -0
  42. package/dist/application-spec/generate-application/implementations/phx.d.ts +22 -0
  43. package/dist/application-spec/generate-application/implementations/phx.js +1 -0
  44. package/dist/application-spec/generate-application/index.d.ts +2 -0
  45. package/dist/application-spec/generate-application/index.js +1 -1
  46. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.d.ts +3 -4
  47. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +7 -4
  48. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  49. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-spec-runtime.d.ts +16 -0
  50. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-spec-runtime.js +1 -0
  51. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +17 -4
  52. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  53. package/dist/application-spec/generate-application/runtime/application-spec-slice.d.ts +71 -0
  54. package/dist/application-spec/generate-application/runtime/application-spec-slice.js +1 -0
  55. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.d.ts +3 -4
  56. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +7 -5
  57. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  58. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-spec-runtime.d.ts +16 -0
  59. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-spec-runtime.js +1 -0
  60. package/dist/application-spec/generate-application/runtime/create-application.d.ts +57 -0
  61. package/dist/application-spec/generate-application/runtime/create-application.js +1 -0
  62. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.d.ts +2 -2
  63. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.d.ts +1 -1
  64. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.js +1 -1
  65. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.d.ts +1 -1
  66. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.js +1 -1
  67. package/dist/application-spec/generate-application/runtime/generate-runtime-instance.d.ts +1 -1
  68. package/dist/application-spec/generate-application/runtime/generate-runtime-instance.js +1 -1
  69. package/dist/application-spec/generate-application/runtime/index.d.ts +8 -0
  70. package/dist/application-spec/generate-application/runtime/index.js +1 -0
  71. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +1 -1
  72. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  73. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.d.ts +1 -1
  74. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +1 -2
  75. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.d.ts +9 -4
  76. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  77. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.d.ts +1 -2
  78. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.js +1 -1
  79. package/dist/application-spec/generate-application/runtime/sections/preset-runtime.d.ts +2 -3
  80. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.d.ts +1 -1
  81. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.d.ts +1 -1
  82. package/dist/application-spec/generate-application/runtime/spec-runtime.d.ts +21 -0
  83. package/dist/application-spec/generate-application/runtime/spec-runtime.js +1 -0
  84. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.d.ts +3 -2
  85. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +44 -9
  86. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.js +1 -1
  87. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.d.ts +1 -1
  88. package/dist/application-spec/parse-application-files/parse-application-files.js +1 -1
  89. package/dist/application-spec/parse-application-files/raw-spec/raw-expressions.d.ts +1 -1
  90. package/dist/application-spec/parse-application-files/raw-spec/raw-expressions.js +1 -1
  91. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding.d.ts +3 -13
  92. package/dist/application-spec/parse-application-files/spec/components/bindings/write-binding.d.ts +4 -32
  93. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +4 -10
  94. package/dist/application-spec/parse-application-files/spec/components/components.d.ts +3 -4
  95. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -2
  96. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  97. package/dist/application-spec/parse-application-files/spec/components/sdk-component-entry.d.ts +1 -1
  98. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +2 -3
  99. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  100. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +2 -3
  101. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +2 -2
  102. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +7 -29
  103. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  104. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.d.ts +4 -71
  105. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  106. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +2 -2
  107. package/dist/application-spec/parse-application-files/spec/model/aliases.d.ts +3 -9
  108. package/dist/application-spec/parse-application-files/spec/model/common-types.d.ts +6 -14
  109. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +6 -31
  110. package/dist/application-spec/parse-application-files/spec/model/entity-types.d.ts +3 -8
  111. package/dist/application-spec/parse-application-files/spec/model/model-version-key.d.ts +3 -3
  112. package/dist/application-spec/parse-application-files/spec/model/names/action-name.d.ts +3 -7
  113. package/dist/application-spec/parse-application-files/spec/model/names/alias-name.d.ts +3 -7
  114. package/dist/application-spec/parse-application-files/spec/model/names/entity-or-alias-name.d.ts +3 -8
  115. package/dist/application-spec/parse-application-files/spec/model/names/entity-type-name.d.ts +3 -8
  116. package/dist/application-spec/parse-application-files/spec/model/names/expression-name.d.ts +3 -6
  117. package/dist/application-spec/parse-application-files/spec/model/names/instance-name.d.ts +3 -7
  118. package/dist/application-spec/parse-application-files/spec/model/names/invariant-name.d.ts +3 -3
  119. package/dist/application-spec/parse-application-files/spec/model/names/shape-property-name.d.ts +3 -11
  120. package/dist/application-spec/parse-application-files/spec/model/names/violation-type-name.d.ts +3 -3
  121. package/dist/application-spec/parse-application-files/spec/model/presets.d.ts +6 -29
  122. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  123. package/dist/client/authorized-client.d.ts +3 -1
  124. package/dist/client/authorized-client.js +1 -1
  125. package/dist/client/contract.d.ts +17 -0
  126. package/dist/client/index.d.ts +1 -1
  127. package/dist/client/local-authorized-client.d.ts +3 -1
  128. package/dist/client/local-authorized-client.js +1 -1
  129. package/dist/client/memory-authorized-client.d.ts +4 -1
  130. package/dist/client/memory-authorized-client.js +1 -1
  131. package/dist/client/phoenix-api.d.ts +228 -0
  132. package/dist/configurator/ConfiguratorApp.js +1 -1
  133. package/dist/configurator/app-loader-content/index.d.ts +0 -1
  134. package/dist/configurator/app-loader-content/index.js +1 -1
  135. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  136. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +17 -3
  137. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  138. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +42 -9
  139. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  140. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +15 -10
  141. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  142. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +30 -9
  143. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  144. package/dist/configurator/application-runtime/extensions/systems/graphql-system/violations.d.ts +40 -0
  145. package/dist/configurator/application-runtime/extensions/systems/graphql-system/violations.js +1 -0
  146. package/dist/configurator/common/configurator-interface.d.ts +9 -6
  147. package/dist/configurator/common/configurator-interface.js +1 -1
  148. package/dist/configurator/configuration-not-found-page/BuiltInConfigurationNotFoundPage.d.ts +5 -0
  149. package/dist/configurator/configuration-not-found-page/BuiltInConfigurationNotFoundPage.js +1 -0
  150. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.d.ts +0 -6
  151. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.js +1 -1
  152. package/dist/configurator/configuration-not-found-page/index.d.ts +2 -2
  153. package/dist/configurator/configuration-not-found-page/index.js +1 -1
  154. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.d.ts +3 -3
  155. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.js +1 -1
  156. package/dist/configurator/configurator-context/PresetSelectionProvider.js +1 -1
  157. package/dist/configurator/configurator-context/PreviewContextProvider.js +1 -1
  158. package/dist/configurator/configurator-context/configurator-hooks/index.d.ts +0 -1
  159. package/dist/configurator/configurator-context/configurator-hooks/index.js +1 -1
  160. package/dist/configurator/configurator-context/index.d.ts +0 -4
  161. package/dist/configurator/configurator-context/index.js +1 -1
  162. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.d.ts +3 -3
  163. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.js +1 -1
  164. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.d.ts +0 -5
  165. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.js +1 -1
  166. package/dist/configurator/configurator-error-page/index.d.ts +1 -2
  167. package/dist/configurator/configurator-error-page/index.js +1 -1
  168. package/dist/configurator/index.d.ts +9 -2
  169. package/dist/configurator/index.js +1 -1
  170. package/dist/configurator/pages/ConfiguratorNotFoundPage.js +1 -1
  171. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  172. package/dist/configurator/pages/default-configurator-elements.js +1 -1
  173. package/dist/configurator/pages/error-boundaries/DevContextFallback.js +1 -1
  174. package/dist/configurator/pages/error-boundaries/DevLoadingFallback.js +1 -1
  175. package/dist/configurator/pages/error-boundaries/LoadingErrorBoundary.js +1 -1
  176. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  177. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.d.ts +1 -1
  178. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.js +1 -1
  179. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.d.ts +12 -4
  180. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.js +1 -1
  181. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.d.ts +8 -0
  182. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.js +1 -0
  183. package/dist/configurator/ui/assistant/tool-chip.d.ts +15 -5
  184. package/dist/configurator/ui/assistant/tool-chip.js +1 -1
  185. package/dist/configurator/ui/configurator-layout/slots/canvas/GPUAccelerationDisabled.js +1 -1
  186. package/dist/configurator/ui/configurator-layout/slots/canvas/LayoutCanvas.js +1 -1
  187. package/dist/configurator/ui/configurator-layout/slots/canvas/SharedCanvas.js +1 -1
  188. package/dist/configurator/ui/configurator-layout/slots/canvas/WebGLNotSupported.js +1 -1
  189. package/dist/configurator/ui/configurator-layout/slots/readonly-banner/CloneToEditDialog.js +1 -1
  190. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -1
  191. package/dist/configurator/ui/legacy/chat/MobileChat.js +1 -1
  192. package/dist/configurator/ui/legacy/layout/common/CommonTopNavigation.js +1 -1
  193. package/dist/configurator/ui/legacy/layout/common/ReactiveInterfaceLayout.js +1 -1
  194. package/dist/configurator/ui/legacy/layout/simple/SimpleSidebar.js +1 -1
  195. package/dist/configurator/ui/legacy/layout/simple/SimpleTopNavigation.js +1 -1
  196. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.js +1 -1
  197. package/dist/configurator/ui/legacy/layout/steps/StepsOwnerLayout.js +1 -1
  198. package/dist/configurator/ui/legacy/layout/steps/StepsSideBar.js +1 -1
  199. package/dist/configurator/ui/legacy/layout/tabs/TabsSidebar.js +1 -1
  200. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.d.ts +0 -7
  201. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.js +2 -2
  202. package/dist/configurator/ui/phoenix-layout-elements/header/common/back-button/use-go-back-action.js +1 -1
  203. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
  204. package/dist/configurator/ui/phoenix-layout-elements/index.d.ts +8 -1
  205. package/dist/configurator/ui/phoenix-layout-elements/index.js +1 -1
  206. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
  207. package/dist/configurator/ui/preset-layout/PresetUi.d.ts +0 -2
  208. package/dist/configurator/ui/preset-layout/PresetUi.js +1 -1
  209. package/dist/configurator/ui/preset-layout/index.d.ts +6 -1
  210. package/dist/configurator/ui/preset-layout/index.js +1 -1
  211. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -1
  212. package/dist/docs/3d-scene/cameras/custom.mdx +4 -2
  213. package/dist/docs/index.json +78 -1
  214. package/dist/docs/integrations/webcomponent-api/basics.mdx +2 -0
  215. package/dist/docs/layouts/custom-layout.mdx +318 -158
  216. package/dist/docs/layouts/gallery/ardent-compressor.mdx +3516 -0
  217. package/dist/docs/layouts/gallery/corvid-drone.mdx +3428 -0
  218. package/dist/docs/layouts/gallery/fenwick-window.mdx +2803 -0
  219. package/dist/docs/layouts/gallery/ferrule-bar-station.mdx +6567 -0
  220. package/dist/docs/layouts/gallery/nightjar-guitar.mdx +3698 -0
  221. package/dist/docs/layouts/gallery/sunfold-solar.mdx +2683 -0
  222. package/dist/docs/layouts/gallery/tidepool-aquascape.mdx +5203 -0
  223. package/dist/docs/phoenix/configurator-interface.mdx +8 -6
  224. package/dist/docs/phoenix/domain-model.mdx +4 -1
  225. package/dist/docs/phoenix/phoenix-cli.mdx +14 -6
  226. package/dist/docs/phoenix/project-structure.mdx +21 -17
  227. package/dist/docs/phoenix/sdk-builder-workflow.mdx +6 -4
  228. package/dist/docs/phoenix/sessions-and-access.mdx +2 -0
  229. package/dist/docs/phoenix/webhooks.mdx +5 -1
  230. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +2 -0
  231. package/dist/domain/application/assistant/build-assistant-lenses.js +3 -3
  232. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  233. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  234. package/dist/domain/application/configurator-builder.d.ts +7 -1
  235. package/dist/domain/application/configurator-builder.js +1 -1
  236. package/dist/domain/application/index.d.ts +1 -1
  237. package/dist/domain/application/index.js +1 -1
  238. package/dist/domain/application/standard-properties.js +1 -1
  239. package/dist/domain/application/web-component-property.d.ts +3 -1
  240. package/dist/domain/application/web-component-property.js +1 -1
  241. package/dist/domain/domain-builder.d.ts +9 -3
  242. package/dist/domain/domain-builder.js +1 -1
  243. package/dist/domain/domain-runtime/application.d.ts +39 -0
  244. package/dist/domain/domain-runtime/application.js +1 -0
  245. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +1 -0
  246. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  247. package/dist/domain/domain-runtime/domain-runtime.d.ts +40 -4
  248. package/dist/domain/domain-runtime/domain-runtime.js +1 -1
  249. package/dist/domain/domain-runtime/environment/initialize.d.ts +1 -1
  250. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +2 -0
  251. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -1
  252. package/dist/domain/domain-runtime/index.d.ts +2 -1
  253. package/dist/domain/domain-runtime/index.js +1 -1
  254. package/dist/domain/domain-runtime/spec/index.d.ts +1 -1
  255. package/dist/domain/domain-runtime/spec/index.js +1 -1
  256. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +1 -0
  257. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -1
  258. package/dist/domain/domain-runtime/spec/module-checks/merge-expression-modules.d.ts +23 -0
  259. package/dist/domain/domain-runtime/spec/module-checks/merge-expression-modules.js +1 -0
  260. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +3 -4
  261. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -1
  262. package/dist/domain/domain-runtime/web-component/actions.d.ts +3 -0
  263. package/dist/domain/domain-runtime/web-component/actions.js +1 -1
  264. package/dist/domain/domain-runtime/web-component/initialize.d.ts +1 -0
  265. package/dist/domain/domain-runtime/web-component/initialize.js +1 -1
  266. package/dist/domain/domain-runtime/web-component/selectors.d.ts +2 -0
  267. package/dist/domain/domain-runtime/web-component/selectors.js +1 -1
  268. package/dist/domain/domain-runtime/web-component/types.d.ts +6 -3
  269. package/dist/domain/index.d.ts +1 -0
  270. package/dist/domain/index.js +1 -1
  271. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +7 -0
  272. package/dist/domain/spec/application/index.d.ts +1 -0
  273. package/dist/domain/spec/application/index.js +1 -0
  274. package/dist/domain/spec/components/bindings/index.d.ts +2 -0
  275. package/dist/domain/spec/components/bindings/read-binding.d.ts +13 -0
  276. package/dist/domain/spec/components/bindings/write-binding.d.ts +32 -0
  277. package/dist/{application-spec/parse-application-files → domain}/spec/components/component-entry.d.ts +3 -3
  278. package/dist/{application-spec/core → domain/spec}/components/component-filter.d.ts +3 -2
  279. package/dist/domain/spec/components/component-filters.d.ts +10 -0
  280. package/dist/domain/spec/components/components.d.ts +4 -0
  281. package/dist/domain/spec/components/components.js +1 -0
  282. package/dist/domain/spec/components/index.d.ts +6 -0
  283. package/dist/domain/spec/enhanced-json-value.d.ts +30 -0
  284. package/dist/domain/spec/enhanced-json-value.js +1 -0
  285. package/dist/{application-spec/parse-application-files → domain}/spec/expressions/expression.d.ts +9 -3
  286. package/dist/domain/spec/expressions/expression.js +1 -0
  287. package/dist/domain/spec/expressions/expressions.d.ts +27 -0
  288. package/dist/domain/spec/expressions/expressions.js +1 -0
  289. package/dist/domain/spec/expressions/index.d.ts +5 -0
  290. package/dist/domain/spec/expressions/memo-eval-plan.d.ts +70 -0
  291. package/dist/domain/spec/expressions/memo-eval-plan.js +1 -0
  292. package/dist/domain/spec/expressions/relation-expression-params.js +1 -0
  293. package/dist/domain/spec/index.d.ts +7 -0
  294. package/dist/domain/spec/index.js +1 -0
  295. package/dist/domain/spec/json-schema.d.ts +52 -0
  296. package/dist/domain/spec/json-schema.js +1 -0
  297. package/dist/domain/spec/markers/index.d.ts +3 -0
  298. package/dist/domain/spec/markers/index.js +1 -0
  299. package/dist/domain/spec/markers/msg-marker.d.ts +28 -0
  300. package/dist/domain/spec/markers/msg-marker.js +1 -0
  301. package/dist/domain/spec/model/aliases.d.ts +9 -0
  302. package/dist/domain/spec/model/aliases.js +1 -0
  303. package/dist/domain/spec/model/common-types.d.ts +15 -0
  304. package/dist/domain/spec/model/common-types.js +1 -0
  305. package/dist/domain/spec/model/defaults.d.ts +33 -0
  306. package/dist/domain/spec/model/defaults.js +1 -0
  307. package/dist/domain/spec/model/entity-types.d.ts +8 -0
  308. package/dist/domain/spec/model/entity-types.js +1 -0
  309. package/dist/domain/spec/model/index.d.ts +7 -0
  310. package/dist/domain/spec/model/index.js +1 -0
  311. package/dist/domain/spec/model/model-version-key.d.ts +3 -0
  312. package/dist/domain/spec/model/model-version-key.js +1 -0
  313. package/dist/domain/spec/model/names/action-name.d.ts +7 -0
  314. package/dist/domain/spec/model/names/action-name.js +1 -0
  315. package/dist/domain/spec/model/names/alias-name.d.ts +7 -0
  316. package/dist/domain/spec/model/names/alias-name.js +1 -0
  317. package/dist/domain/spec/model/names/entity-or-alias-name.d.ts +8 -0
  318. package/dist/domain/spec/model/names/entity-or-alias-name.js +1 -0
  319. package/dist/domain/spec/model/names/entity-type-name.d.ts +8 -0
  320. package/dist/domain/spec/model/names/entity-type-name.js +1 -0
  321. package/dist/domain/spec/model/names/expression-name.d.ts +6 -0
  322. package/dist/domain/spec/model/names/expression-name.js +1 -0
  323. package/dist/domain/spec/model/names/index.d.ts +9 -0
  324. package/dist/domain/spec/model/names/index.js +1 -0
  325. package/dist/domain/spec/model/names/instance-name.d.ts +7 -0
  326. package/dist/domain/spec/model/names/instance-name.js +1 -0
  327. package/dist/domain/spec/model/names/invariant-name.d.ts +3 -0
  328. package/dist/domain/spec/model/names/invariant-name.js +1 -0
  329. package/dist/domain/spec/model/names/shape-property-name.d.ts +11 -0
  330. package/dist/domain/spec/model/names/shape-property-name.js +1 -0
  331. package/dist/domain/spec/model/names/violation-type-name.d.ts +3 -0
  332. package/dist/domain/spec/model/names/violation-type-name.js +1 -0
  333. package/dist/domain/spec/model/presets.d.ts +30 -0
  334. package/dist/domain/spec/model/presets.js +1 -0
  335. package/dist/editor/domain-editors/DomainSpecContext.js +1 -1
  336. package/dist/editor/domain-editors/apply-spec-update.d.ts +2 -1
  337. package/dist/editor/domain-editors/apply-spec-update.js +1 -1
  338. package/dist/editor/domain-editors/use-implementation-files.d.ts +6 -14
  339. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  340. package/dist/editor/graphql/GraphQLPanel.js +1 -1
  341. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  342. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  343. package/dist/legacy/domain-spec/spec/domain-spec.js +1 -1
  344. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  345. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  346. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  347. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +11 -5
  348. package/dist/phoenix/application-spec/generate-application-spec-project.d.ts +1 -0
  349. package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
  350. package/dist/phoenix/application-spec/generate-project-files.d.ts +1 -0
  351. package/dist/phoenix/application-spec/index.d.ts +1 -0
  352. package/dist/phoenix/application-spec/index.js +1 -1
  353. package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +11 -0
  354. package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
  355. package/dist/phoenix/bin.js +1 -1
  356. package/dist/phoenix/cli.js +1 -1
  357. package/dist/phoenix/commands/build.js +1 -1
  358. package/dist/phoenix/commands/clean.js +1 -1
  359. package/dist/phoenix/commands/deploy.js +1 -1
  360. package/dist/phoenix/commands/dev.js +5 -5
  361. package/dist/phoenix/commands/generated-env-markers.d.ts +1 -0
  362. package/dist/phoenix/commands/generated-env-markers.js +1 -1
  363. package/dist/phoenix/commands/index.d.ts +1 -1
  364. package/dist/phoenix/commands/index.js +1 -1
  365. package/dist/phoenix/commands/sync.js +1 -1
  366. package/dist/phoenix/lingui/index.d.ts +1 -0
  367. package/dist/phoenix/lingui/index.js +1 -0
  368. package/dist/phoenix/{services → lingui}/lingui.d.ts +5 -2
  369. package/dist/phoenix/lingui/lingui.js +1 -0
  370. package/dist/phoenix/services/application-spec-project-watcher.d.ts +3 -1
  371. package/dist/phoenix/services/application-spec-project-watcher.js +2 -2
  372. package/dist/phoenix/services/index.d.ts +1 -0
  373. package/dist/phoenix/services/index.js +1 -1
  374. package/dist/phoenix/services/lingui-watcher.js +1 -1
  375. package/dist/phoenix/services/prepare-development-environment.js +1 -1
  376. package/dist/phoenix/services/vite-config.js +1 -1
  377. package/dist/react-sdk/application-runtime/common-services/analytics/analytics-service.d.ts +1 -1
  378. package/dist/react-sdk/application-runtime/common-services/initialize.d.ts +2 -2
  379. package/dist/react-sdk/application-runtime/domain-application-context/chat-system.d.ts +1 -1
  380. package/dist/react-sdk/application-runtime/hooks/index.d.ts +2 -0
  381. package/dist/react-sdk/application-runtime/hooks/index.js +1 -1
  382. package/dist/react-sdk/application-runtime/hooks/loading/index.d.ts +5 -0
  383. package/dist/react-sdk/application-runtime/hooks/loading/index.js +1 -0
  384. package/dist/react-sdk/application-runtime/hooks/loading/loader-host-context.d.ts +11 -0
  385. package/dist/react-sdk/application-runtime/hooks/loading/loader-host-context.js +1 -0
  386. package/dist/react-sdk/application-runtime/hooks/loading/use-is-awaiting-loading-phase.d.ts +8 -0
  387. package/dist/react-sdk/application-runtime/hooks/loading/use-is-awaiting-loading-phase.js +1 -0
  388. package/dist/react-sdk/application-runtime/hooks/loading/use-is-loader-hosted.d.ts +7 -0
  389. package/dist/react-sdk/application-runtime/hooks/loading/use-is-loader-hosted.js +1 -0
  390. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-actions.d.ts +9 -0
  391. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-actions.js +1 -0
  392. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-application.d.ts +24 -0
  393. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-application.js +1 -0
  394. package/dist/react-sdk/application-runtime/hooks/responsive/index.d.ts +3 -0
  395. package/dist/react-sdk/application-runtime/hooks/responsive/index.js +1 -0
  396. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.d.ts +9 -0
  397. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.js +1 -0
  398. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.d.ts +26 -0
  399. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.js +1 -0
  400. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.d.ts +10 -0
  401. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.js +1 -0
  402. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.d.ts +24 -0
  403. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.js +1 -0
  404. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +5 -0
  405. package/dist/react-sdk/application-runtime/hooks/use-access-service.js +1 -1
  406. package/dist/react-sdk/application-runtime/hooks/use-web-component-readonly-sync.d.ts +4 -11
  407. package/dist/react-sdk/application-runtime/hooks/use-web-component-readonly-sync.js +1 -1
  408. package/dist/react-sdk/application-runtime/hooks/use-web-component.d.ts +5 -0
  409. package/dist/react-sdk/application-runtime/hooks/use-web-component.js +1 -1
  410. package/dist/react-sdk/application-runtime/host-properties/actions.d.ts +15 -0
  411. package/dist/react-sdk/application-runtime/host-properties/actions.js +1 -0
  412. package/dist/react-sdk/application-runtime/host-properties/connect-host-properties.d.ts +30 -0
  413. package/dist/react-sdk/application-runtime/host-properties/connect-host-properties.js +1 -0
  414. package/dist/react-sdk/application-runtime/host-properties/domain-host-properties.d.ts +7 -0
  415. package/dist/react-sdk/application-runtime/host-properties/domain-host-properties.js +1 -0
  416. package/dist/react-sdk/application-runtime/host-properties/host-property-descriptors.d.ts +21 -0
  417. package/dist/react-sdk/application-runtime/host-properties/host-property-descriptors.js +1 -0
  418. package/dist/react-sdk/application-runtime/host-properties/host-property-scopes.d.ts +42 -0
  419. package/dist/react-sdk/application-runtime/host-properties/host-property-scopes.js +1 -0
  420. package/dist/react-sdk/application-runtime/host-properties/index.d.ts +8 -0
  421. package/dist/react-sdk/application-runtime/host-properties/index.js +1 -0
  422. package/dist/react-sdk/application-runtime/host-properties/initialize.d.ts +7 -0
  423. package/dist/react-sdk/application-runtime/host-properties/initialize.js +1 -0
  424. package/dist/react-sdk/application-runtime/host-properties/selectors.d.ts +54 -0
  425. package/dist/react-sdk/application-runtime/host-properties/selectors.js +1 -0
  426. package/dist/react-sdk/application-runtime/host-properties/types.d.ts +18 -0
  427. package/dist/react-sdk/application-runtime/host-properties/types.js +1 -0
  428. package/dist/react-sdk/application-runtime/index.d.ts +3 -0
  429. package/dist/react-sdk/application-runtime/loading/actions.d.ts +45 -0
  430. package/dist/react-sdk/application-runtime/loading/actions.js +1 -0
  431. package/dist/react-sdk/application-runtime/loading/index.d.ts +4 -0
  432. package/dist/react-sdk/application-runtime/loading/index.js +1 -0
  433. package/dist/react-sdk/application-runtime/loading/initialize.d.ts +3 -0
  434. package/dist/react-sdk/application-runtime/loading/initialize.js +1 -0
  435. package/dist/react-sdk/application-runtime/loading/selectors.d.ts +18 -0
  436. package/dist/react-sdk/application-runtime/loading/selectors.js +1 -0
  437. package/dist/react-sdk/application-runtime/loading/types.d.ts +59 -0
  438. package/dist/react-sdk/application-runtime/loading/types.js +1 -0
  439. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  440. package/dist/react-sdk/application-runtime/provider/ApplicationRuntime.d.ts +6 -0
  441. package/dist/react-sdk/application-runtime/provider/ApplicationRuntime.js +1 -1
  442. package/dist/react-sdk/application-runtime/provider/ApplicationType.d.ts +7 -0
  443. package/dist/react-sdk/application-runtime/provider/ApplicationType.js +1 -1
  444. package/dist/react-sdk/application-runtime/responsive/actions.d.ts +47 -0
  445. package/dist/react-sdk/application-runtime/responsive/actions.js +1 -0
  446. package/dist/react-sdk/application-runtime/responsive/index.d.ts +4 -0
  447. package/dist/react-sdk/application-runtime/responsive/index.js +1 -0
  448. package/dist/react-sdk/application-runtime/responsive/initialize.d.ts +3 -0
  449. package/dist/react-sdk/application-runtime/responsive/initialize.js +1 -0
  450. package/dist/react-sdk/application-runtime/responsive/selectors.d.ts +20 -0
  451. package/dist/react-sdk/application-runtime/responsive/selectors.js +1 -0
  452. package/dist/react-sdk/application-runtime/responsive/types.d.ts +104 -0
  453. package/dist/react-sdk/application-runtime/responsive/types.js +1 -0
  454. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +309 -8
  455. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  456. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/ConfiguratorRoutingProvider.d.ts +1 -1
  457. package/dist/react-sdk/configurator-routing/ConfiguratorRoutingProvider.js +1 -0
  458. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/OnGoToIndexHandler.d.ts +1 -2
  459. package/dist/react-sdk/configurator-routing/OnGoToIndexHandler.js +1 -0
  460. package/dist/react-sdk/configurator-routing/index.d.ts +3 -0
  461. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/index.js +1 -1
  462. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/use-power-routing-lifecycle.d.ts +2 -0
  463. package/dist/react-sdk/configurator-routing/use-power-routing-lifecycle.js +1 -0
  464. package/dist/react-sdk/domain-application-context/BackendDataProvider.js +1 -1
  465. package/dist/react-sdk/domain-application-context/FrontendDataProvider.js +1 -1
  466. package/dist/react-sdk/domain-application-context/OnPresetLoadedHandler.js +1 -0
  467. package/dist/react-sdk/domain-application-context/PublishedDataProvider.js +1 -1
  468. package/dist/react-sdk/domain-application-context/chat-hooks.d.ts +4 -0
  469. package/dist/react-sdk/domain-application-context/chat-hooks.js +1 -0
  470. package/dist/react-sdk/domain-application-context/index.d.ts +2 -0
  471. package/dist/react-sdk/domain-application-context/index.js +1 -1
  472. package/dist/react-sdk/domain-context/common-hooks/index.d.ts +1 -0
  473. package/dist/react-sdk/domain-context/common-hooks/index.js +1 -1
  474. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.d.ts +23 -0
  475. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.js +1 -0
  476. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +1 -0
  477. package/dist/react-sdk/domain-context/index.d.ts +1 -0
  478. package/dist/react-sdk/domain-context/index.js +1 -1
  479. package/dist/react-sdk/elements/index.d.ts +0 -1
  480. package/dist/react-sdk/index.d.ts +4 -1
  481. package/dist/react-sdk/index.js +1 -1
  482. package/dist/react-sdk/integration/IntegrationSubscription.js +1 -0
  483. package/dist/react-sdk/integration/index.d.ts +1 -0
  484. package/dist/react-sdk/integration/index.js +1 -0
  485. package/dist/react-sdk/lifecycle-providers/ConfiguratorDataProvider.d.ts +8 -0
  486. package/dist/react-sdk/lifecycle-providers/ConfiguratorDataProvider.js +1 -0
  487. package/dist/react-sdk/lifecycle-providers/LifecycleProviders.js +1 -0
  488. package/dist/react-sdk/lifecycle-providers/index.d.ts +2 -0
  489. package/dist/react-sdk/lifecycle-providers/index.js +1 -0
  490. package/dist/react-sdk/loading-state/LoaderHost.d.ts +20 -0
  491. package/dist/react-sdk/loading-state/LoaderHost.js +1 -0
  492. package/dist/react-sdk/loading-state/built-in-loading-phase.d.ts +9 -0
  493. package/dist/react-sdk/loading-state/built-in-loading-phase.js +1 -0
  494. package/dist/react-sdk/loading-state/create-app-loader.d.ts +18 -0
  495. package/dist/react-sdk/loading-state/create-app-loader.js +1 -0
  496. package/dist/react-sdk/loading-state/index.d.ts +4 -2
  497. package/dist/react-sdk/loading-state/index.js +1 -1
  498. package/dist/react-sdk/loading-state/{LoadingStateProvider.d.ts → loading-state-hooks.d.ts} +3 -12
  499. package/dist/react-sdk/loading-state/loading-state-hooks.js +1 -0
  500. package/dist/react-sdk/page-elements/ConfigurationNotFoundPagePropsProvider.d.ts +17 -0
  501. package/dist/react-sdk/page-elements/ConfigurationNotFoundPagePropsProvider.js +1 -0
  502. package/dist/react-sdk/page-elements/ConfiguratorErrorPagePropsProvider.d.ts +17 -0
  503. package/dist/react-sdk/page-elements/ConfiguratorErrorPagePropsProvider.js +1 -0
  504. package/dist/react-sdk/page-elements/configurator-error-page-props.js +1 -0
  505. package/dist/{configurator/configuration-not-found-page → react-sdk/page-elements}/create-configuration-not-found-page.d.ts +7 -1
  506. package/dist/react-sdk/page-elements/create-configuration-not-found-page.js +1 -0
  507. package/dist/{configurator/configurator-error-page → react-sdk/page-elements}/create-configurator-error-page.d.ts +6 -1
  508. package/dist/react-sdk/page-elements/create-configurator-error-page.js +1 -0
  509. package/dist/react-sdk/page-elements/create-preset-ui.d.ts +9 -0
  510. package/dist/react-sdk/page-elements/create-preset-ui.js +1 -0
  511. package/dist/react-sdk/page-elements/index.d.ts +6 -0
  512. package/dist/react-sdk/page-elements/index.js +1 -0
  513. package/dist/react-sdk/session/SessionServiceProvider.js +1 -1
  514. package/dist/react-sdk/web-component/create-web-component.js +1 -1
  515. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.d.ts +2 -2
  516. package/dist/ui-sdk/responsive-application/responsive-state-store.d.ts +11 -9
  517. package/dist/ui-sdk/responsive-application/use-store-responsive-info.js +1 -1
  518. package/package.json +3 -3
  519. package/dist/application-spec/core/components/index.d.ts +0 -2
  520. package/dist/application-spec/core/expressions/index.d.ts +0 -2
  521. package/dist/configurator/app-loader-content/app-loader-content-name.d.ts +0 -5
  522. package/dist/configurator/app-loader-content/app-loader-content-name.js +0 -1
  523. package/dist/configurator/configuration-not-found-page/create-configuration-not-found-page.js +0 -1
  524. package/dist/configurator/configurator-context/ConfiguratorDataProvider.d.ts +0 -2
  525. package/dist/configurator/configurator-context/ConfiguratorDataProvider.js +0 -1
  526. package/dist/configurator/configurator-context/IntegrationSubscription.js +0 -1
  527. package/dist/configurator/configurator-context/LifecycleProviders.js +0 -1
  528. package/dist/configurator/configurator-context/OnPresetLoadedHandler.js +0 -1
  529. package/dist/configurator/configurator-context/configurator-hooks/chat-hooks.d.ts +0 -1
  530. package/dist/configurator/configurator-context/configurator-hooks/chat-hooks.js +0 -1
  531. package/dist/configurator/configurator-context/configurator-routing/ConfiguratorRoutingProvider.js +0 -1
  532. package/dist/configurator/configurator-context/configurator-routing/OnGoToIndexHandler.js +0 -1
  533. package/dist/configurator/configurator-context/configurator-routing/index.d.ts +0 -2
  534. package/dist/configurator/configurator-context/configurator-routing/use-power-routing-lifecycle.js +0 -1
  535. package/dist/configurator/configurator-error-page/create-configurator-error-page.js +0 -1
  536. package/dist/phoenix/services/lingui.js +0 -1
  537. package/dist/react-sdk/loading-state/LoadingStateProvider.js +0 -1
  538. package/dist/react-sdk/loading-state/loading-state-manager.d.ts +0 -37
  539. package/dist/react-sdk/loading-state/loading-state-manager.js +0 -1
  540. package/dist/react-sdk/responsive-state/ResponsiveStateProvider.d.ts +0 -25
  541. package/dist/react-sdk/responsive-state/ResponsiveStateProvider.js +0 -1
  542. package/dist/react-sdk/responsive-state/canvas-padding.d.ts +0 -14
  543. package/dist/react-sdk/responsive-state/index.d.ts +0 -5
  544. package/dist/react-sdk/responsive-state/index.js +0 -1
  545. package/dist/react-sdk/responsive-state/responsive-state-manager.d.ts +0 -111
  546. package/dist/react-sdk/responsive-state/responsive-state-manager.js +0 -1
  547. package/dist/react-sdk/responsive-state/use-responsive-state-manager.d.ts +0 -10
  548. package/dist/react-sdk/responsive-state/use-responsive-state-manager.js +0 -1
  549. package/dist/react-sdk/responsive-state/use-responsive-state.d.ts +0 -11
  550. package/dist/react-sdk/responsive-state/use-responsive-state.js +0 -1
  551. /package/dist/{application-spec/core → domain/spec/application}/application-instance.d.ts +0 -0
  552. /package/dist/{application-spec/core → domain/spec/application}/application-instance.js +0 -0
  553. /package/dist/{application-spec/core/expressions/relation-expression-params.js → domain/spec/components/bindings/index.js} +0 -0
  554. /package/dist/{application-spec/parse-application-files/spec/components/component-entry.js → domain/spec/components/bindings/read-binding.js} +0 -0
  555. /package/dist/{application-spec/parse-application-files/spec/expressions/expression.js → domain/spec/components/bindings/write-binding.js} +0 -0
  556. /package/dist/{react-sdk/elements/configurator-error-page-props.js → domain/spec/components/component-entry.js} +0 -0
  557. /package/dist/{application-spec/core → domain/spec}/components/component-filter.js +0 -0
  558. /package/dist/{react-sdk/responsive-state/canvas-padding.js → domain/spec/components/component-filters.js} +0 -0
  559. /package/dist/{application-spec/core → domain/spec}/components/index.js +0 -0
  560. /package/dist/{application-spec/core → domain/spec}/components/sdk-code-ref.d.ts +0 -0
  561. /package/dist/{application-spec/core → domain/spec}/components/sdk-code-ref.js +0 -0
  562. /package/dist/{application-spec/core → domain/spec}/expressions/index.js +0 -0
  563. /package/dist/{application-spec/core → domain/spec}/expressions/relation-expression-params.d.ts +0 -0
  564. /package/dist/{application-spec/core → domain/spec}/expressions/sdk-expression-implementation.d.ts +0 -0
  565. /package/dist/{application-spec/core → domain/spec}/expressions/sdk-expression-implementation.js +0 -0
  566. /package/dist/{application-spec/parse-application-files/spec/components → domain/spec/markers}/component-prop-target.d.ts +0 -0
  567. /package/dist/{application-spec/parse-application-files/spec/components → domain/spec/markers}/component-prop-target.js +0 -0
  568. /package/dist/{application-spec/core → domain/spec}/markers/eval-marker.d.ts +0 -0
  569. /package/dist/{application-spec/core → domain/spec}/markers/eval-marker.js +0 -0
  570. /package/dist/{configurator/configurator-context → react-sdk/domain-application-context}/OnPresetLoadedHandler.d.ts +0 -0
  571. /package/dist/{configurator/configurator-context → react-sdk/integration}/IntegrationSubscription.d.ts +0 -0
  572. /package/dist/{configurator/configurator-context → react-sdk/lifecycle-providers}/LifecycleProviders.d.ts +0 -0
  573. /package/dist/react-sdk/{elements → page-elements}/configurator-error-page-props.d.ts +0 -0
@@ -1,7 +1,6 @@
1
1
  import { Branded } from '@salsita-ai/common/utils';
2
- import type { DomainEntity, ProductPreset } from '#package/domain';
2
+ import type { DomainEntity, ProductPreset, SpecPreset } from '#package/domain';
3
3
  import type { RuntimeReferenceStore } from '../../../caching/index.js';
4
- import type { Preset } from '../../../parse-application-files/index.js';
5
4
  type AnyProductPreset = ProductPreset<DomainEntity<string>, DomainEntity<string>>;
6
5
  /** Collection of runtime presets with change tracking. */
7
6
  export type PresetRuntime = Branded<'PresetRuntime', {
@@ -10,7 +9,7 @@ export type PresetRuntime = Branded<'PresetRuntime', {
10
9
  }>;
11
10
  interface PresetRuntimeProps {
12
11
  readonly referenceScope: string;
13
- readonly presets: readonly Preset[];
12
+ readonly presets: readonly SpecPreset[];
14
13
  }
15
14
  /**
16
15
  * Builds preset runtime objects with per-item reference stability.
@@ -1,4 +1,4 @@
1
- import type { ExpressionName, Expressions, MemoEvalPlan } from '../../../parse-application-files/index.js';
1
+ import type { ExpressionName, Expressions, MemoEvalPlan } from '#package/domain';
2
2
  import type { SpecCodeMap } from '../spec-code/index.js';
3
3
  /** The self-free `constants:` plans declared on one entity or alias, or `undefined` when it has none. */
4
4
  export declare const findReflectionConstants: (expressions: Expressions, entityOrAlias: string) => ReadonlyMap<ExpressionName, MemoEvalPlan> | undefined;
@@ -1,4 +1,4 @@
1
- import type { SelfAccessor } from '../../../core/index.js';
1
+ import type { SelfAccessor } from '#package/domain';
2
2
  import type { SpecCodeId } from '../../runtime-spec/index.js';
3
3
  import type { SpecCodeMap } from './spec-code-module.js';
4
4
  /**
@@ -0,0 +1,21 @@
1
+ import { Branded } from '@salsita-ai/common/utils';
2
+ import type { RuntimeReferenceStore } from '../../caching/index.js';
3
+ import type { RuntimeSpec } from '../runtime-spec/index.js';
4
+ import { AdminSpecRuntime } from './admin-runtime/admin-spec-runtime.js';
5
+ import { ConfiguratorSpecRuntime } from './configurator-runtime/configurator-spec-runtime.js';
6
+ import type { SpecCodeModule } from './spec-code/index.js';
7
+ /**
8
+ * The sections of both domains that the spec alone determines, without a project module: each
9
+ * domain's model and the data of its `phx.domain` factories.
10
+ *
11
+ * An application is built in two steps in one reference store. This is the first: it runs before
12
+ * the project's modules load, because they call the `phx.domain` factories while they are evaluated.
13
+ * The second, `ApplicationRuntime` with the loaded modules, builds the same sections through the
14
+ * same functions, so it returns the same objects: `phx.domain.model.X` is the reflection the
15
+ * application's domain validates with.
16
+ */
17
+ export type SpecRuntime = Branded<'SpecRuntime', {
18
+ readonly configurator: ConfiguratorSpecRuntime;
19
+ readonly admin: AdminSpecRuntime;
20
+ }>;
21
+ export declare const SpecRuntime: (spec: RuntimeSpec, referenceStore: RuntimeReferenceStore, specCode: SpecCodeModule | undefined) => SpecRuntime;
@@ -0,0 +1 @@
1
+ import{Branded as i}from"@salsita-ai/common/utils";import{AdminSpecRuntime as r}from"./admin-runtime/admin-spec-runtime.js";import{ConfiguratorSpecRuntime as o}from"./configurator-runtime/configurator-spec-runtime.js";export const SpecRuntime=(m,t,n)=>i({configurator:o(m,t,n?.configurator),admin:r(m,t,n?.admin)});
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * The version of the JSON format `encodeRuntimeSpec` writes. Raise it with every change to the
3
- * format or to the shape of `RuntimeSpec`, so that `decodeRuntimeSpec` refuses an artifact an older
4
- * or newer SDK wrote instead of building a runtime from data it does not understand.
3
+ * format or to the shape of `RuntimeSpec` once a released SDK has written the current version, so
4
+ * that `decodeRuntimeSpec` refuses an artifact an older or newer SDK wrote instead of building a
5
+ * runtime from data it does not understand.
5
6
  */
6
7
  export declare const RUNTIME_SPEC_FORMAT_VERSION = 1;
7
8
  /** One step from a value into a part of it: an object key or an array index. */
@@ -1,4 +1,4 @@
1
- import type { AdminSpec, ApplicationSpec, ConfiguratorSpec, EntitySchema, Infra, ModelVersion, ResolvedModelVersion, ResolvedVersions } from '../../parse-application-files/index.js';
1
+ import type { AdminSpec, ApplicationSpec, AssistantSpec, ConfiguratorSpec, DataSchemaEntry, DataSchemas, DataSpec, EntitySchema, Infra, ModelVersion, ResolvedModelVersion, ResolvedVersions, Shape } from '../../parse-application-files/index.js';
2
2
  /**
3
3
  * The part of a parsed entity schema the runtime reads: the entity type and the schema of its
4
4
  * shape, from which it builds the entity's reflection. The full schema with `id` and `type` is
@@ -8,12 +8,22 @@ import type { AdminSpec, ApplicationSpec, ConfiguratorSpec, EntitySchema, Infra,
8
8
  export type RuntimeEntitySchema = Pick<EntitySchema, 'entityType' | 'shapeSchema'>;
9
9
  /**
10
10
  * The part of a parsed model version the runtime reads: the entity types, the aliases, the common
11
- * types and the schema of every entity's shape. The raw shapes and resolved shapes only serve the
12
- * parser and the type generator.
11
+ * types and the schema of every entity's shape. The shapes and the resolved shapes only serve the
12
+ * parser and the type generator, except the runtime schemas of the latest version's shapes (see
13
+ * `RuntimeLatestModelVersion`).
13
14
  */
14
15
  export type RuntimeModelVersion = Pick<ModelVersion, 'versionKey' | 'entityTypes' | 'rootEntityTypes' | 'aliases' | 'commonTypes'> & {
15
16
  readonly entitySchemas: readonly RuntimeEntitySchema[];
16
17
  };
18
+ /**
19
+ * The latest model version of a domain as the runtime reads it: a model version plus the runtime
20
+ * schema of every shape, which `phx.domain.model` reflects as `<Name>Shape`.
21
+ */
22
+ export type RuntimeLatestModelVersion = RuntimeModelVersion & {
23
+ readonly shapes: ReadonlyMap<Shape['name'], RuntimeShapeSchema>;
24
+ };
25
+ /** The part of a parsed shape the runtime reads: its name and its runtime JSON schema. */
26
+ export type RuntimeShapeSchema = Pick<Shape, 'name' | 'runtimeSchema'>;
17
27
  /** One model version of a domain as the runtime reads it, with the migration file that leads to it. */
18
28
  export type RuntimeResolvedModelVersion = Omit<ResolvedModelVersion, 'modelVersion'> & {
19
29
  readonly modelVersion: RuntimeModelVersion;
@@ -24,15 +34,39 @@ export type RuntimeResolvedVersions = Pick<ResolvedVersions, 'latestVersion'> &
24
34
  };
25
35
  /** The model of a domain as the runtime reads it: the latest version and every earlier one. */
26
36
  interface RuntimeDomainModel {
27
- readonly latestModel: RuntimeModelVersion;
37
+ readonly latestModel: RuntimeLatestModelVersion;
28
38
  readonly resolvedVersions: RuntimeResolvedVersions;
29
39
  }
40
+ /** The part of a parsed data schema the runtime reads: the JSON schema it validates the data with. */
41
+ export type RuntimeDataSchemaEntry = Pick<DataSchemaEntry, 'runtimeSchema'>;
42
+ /**
43
+ * The data schemas as the runtime reads them: the JSON schema of each kind of data and the hash of
44
+ * the published data. The enhanced schemas, with Phoenix references, only serve the type generator.
45
+ */
46
+ export type RuntimeDataSchemas = Pick<DataSchemas, 'publishedDataHash'> & {
47
+ readonly [KIND in Exclude<keyof DataSchemas, 'publishedDataHash' | 'backendData'>]: RuntimeDataSchemaEntry;
48
+ } & {
49
+ readonly backendData: RuntimeDataSchemaEntry | undefined;
50
+ };
51
+ /**
52
+ * The assistant as the runtime reads it: its resolved manifest. The parsed assistant schema the
53
+ * manifest is resolved from only serves the parser.
54
+ */
55
+ export type RuntimeAssistantSpec = Pick<NonNullable<AssistantSpec>, 'resolved'> | null;
56
+ /**
57
+ * The data spec as the runtime reads it: the data entries and their chunks. The data entries and
58
+ * admin data pages the parser derives from them only serve the admin spec and the type generator.
59
+ */
60
+ export type RuntimeDataSpec = Pick<DataSpec, 'entries' | 'chunks'>;
30
61
  /**
31
62
  * The configurator part of the runtime spec. It leaves out the configuration schema and its
32
63
  * version, which only a deployment registers, and the assistant's server settings (instructions
33
64
  * and AI settings), which must never reach the browser of a customer.
34
65
  */
35
- export type RuntimeConfiguratorSpec = Pick<ConfiguratorSpec, 'components' | 'presets' | 'expressions' | 'actions' | 'invariants' | 'dataSchemas' | 'defaults' | 'states' | 'theme' | 'ui' | 'transformers' | 'assistant'> & RuntimeDomainModel;
66
+ export type RuntimeConfiguratorSpec = Pick<ConfiguratorSpec, 'components' | 'presets' | 'expressions' | 'actions' | 'invariants' | 'defaults' | 'states' | 'theme' | 'ui' | 'transformers'> & RuntimeDomainModel & {
67
+ readonly dataSchemas: RuntimeDataSchemas;
68
+ readonly assistant: RuntimeAssistantSpec;
69
+ };
36
70
  /**
37
71
  * The admin part of the runtime spec. It leaves out the configuration schema and its version, which
38
72
  * only a deployment registers.
@@ -54,15 +88,16 @@ export type RuntimeInfra = Pick<Infra, 'acl' | 'resources' | 'resourcesConfig'>;
54
88
  * leaves out what only the parser, the type generator or a deployment use, and holds plain data,
55
89
  * Maps and Sets only, so it can be encoded as JSON.
56
90
  */
57
- export interface RuntimeSpec extends Pick<ApplicationSpec, 'appMetadata' | 'dataSpec'> {
91
+ export interface RuntimeSpec extends Pick<ApplicationSpec, 'appMetadata'> {
92
+ readonly dataSpec: RuntimeDataSpec;
58
93
  readonly configurator: RuntimeConfiguratorSpec;
59
94
  readonly admin: RuntimeAdminSpec;
60
95
  readonly infra: RuntimeInfra;
61
96
  }
62
97
  /**
63
- * Takes from a parsed application spec the part the runtime reads. The sections it keeps are the
64
- * parsed values themselves, not copies; only the model versions are rebuilt without what the
65
- * runtime does not read.
98
+ * Takes from a parsed application spec the part the runtime reads. It reuses the sections it keeps
99
+ * whole, and builds trimmed copies of the model versions, data schemas, assistant and data spec
100
+ * without what the runtime does not read.
66
101
  */
67
102
  export declare const toRuntimeSpec: (spec: ApplicationSpec) => RuntimeSpec;
68
103
  export {};
@@ -1 +1 @@
1
- let e=e=>({versionKey:e.versionKey,entityTypes:e.entityTypes,rootEntityTypes:e.rootEntityTypes,aliases:e.aliases,commonTypes:e.commonTypes,entitySchemas:e.entitySchemas.map(e=>({entityType:e.entityType,shapeSchema:e.shapeSchema}))}),s=s=>({latestModel:e(s.latestModel),resolvedVersions:{latestVersion:s.resolvedVersions.latestVersion,versionedModels:s.resolvedVersions.versionedModels.map(s=>({version:s.version,key:s.key,isLatest:s.isLatest,migrationFile:s.migrationFile,modelVersion:e(s.modelVersion)}))}});export const toRuntimeSpec=e=>{let{configurator:t,admin:a,infra:n}=e;return{configurator:{components:t.components,presets:t.presets,expressions:t.expressions,actions:t.actions,invariants:t.invariants,dataSchemas:t.dataSchemas,defaults:t.defaults,states:t.states,theme:t.theme,ui:t.ui,transformers:t.transformers,assistant:t.assistant,...s(t)},admin:{components:a.components,presets:a.presets,expressions:a.expressions,invariants:a.invariants,defaults:a.defaults,states:a.states,adminPages:a.adminPages,...s(a)},appMetadata:e.appMetadata,infra:{acl:n.acl,resources:n.resources,resourcesConfig:n.resourcesConfig},dataSpec:e.dataSpec}};
1
+ let e=e=>({versionKey:e.versionKey,entityTypes:e.entityTypes,rootEntityTypes:e.rootEntityTypes,aliases:e.aliases,commonTypes:e.commonTypes,entitySchemas:e.entitySchemas.map(e=>({entityType:e.entityType,shapeSchema:e.shapeSchema}))}),s=e=>({runtimeSchema:e.runtimeSchema}),a=s=>{let a;return{latestModel:{...e(a=s.latestModel),shapes:new Map([...a.shapes].map(([e,s])=>[e,{name:s.name,runtimeSchema:s.runtimeSchema}]))},resolvedVersions:{latestVersion:s.resolvedVersions.latestVersion,versionedModels:s.resolvedVersions.versionedModels.map(s=>({version:s.version,key:s.key,isLatest:s.isLatest,migrationFile:s.migrationFile,modelVersion:e(s.modelVersion)}))}}};export const toRuntimeSpec=e=>{let t,{configurator:n,admin:i,infra:r}=e;return{configurator:{components:n.components,presets:n.presets,expressions:n.expressions,actions:n.actions,invariants:n.invariants,dataSchemas:{publishedDataHash:(t=n.dataSchemas).publishedDataHash,publishedData:s(t.publishedData),sessionData:s(t.sessionData),frontendData:s(t.frontendData),backendData:t.backendData&&s(t.backendData),finalizeData:s(t.finalizeData),prefetchedFinalizeData:s(t.prefetchedFinalizeData),finalizeResult:s(t.finalizeResult),callbackData:s(t.callbackData)},defaults:n.defaults,states:n.states,theme:n.theme,ui:n.ui,transformers:n.transformers,assistant:n.assistant&&{resolved:n.assistant.resolved},...a(n)},admin:{components:i.components,presets:i.presets,expressions:i.expressions,invariants:i.invariants,defaults:i.defaults,states:i.states,adminPages:i.adminPages,...a(i)},appMetadata:e.appMetadata,infra:{acl:r.acl,resources:r.resources,resourcesConfig:r.resourcesConfig},dataSpec:{entries:e.dataSpec.entries,chunks:e.dataSpec.chunks}}};
@@ -1,4 +1,4 @@
1
- import type { MemoEvalPlan } from '../../parse-application-files/index.js';
1
+ import type { MemoEvalPlan } from '#package/domain';
2
2
  /**
3
3
  * The id under which the generated `.phoenix/spec-code.ts` holds one piece of code written in YAML,
4
4
  * and under which the runtime looks it up. Ids are unique within one domain; the configurator and
@@ -1 +1 @@
1
- import{Branded as e}from"@salsita-ai/common/utils";import{ParseContext as s}from"../core/index.js";import{CategorizedFiles as t}from"./categorize/index.js";import{MergedSpec as i}from"./merge/index.js";import{RawSpecFiles as r}from"./raw-spec/parse-raw-spec.js";import{RawMockTemplates as p}from"./raw-spec/raw-mock-templates.js";import{ResolvedSpecFiles as a}from"./resolve/index.js";import{ApplicationSpec as o}from"./spec/index.js";export const parseApplicationFiles=(l,n)=>{let{rawProjectFiles:m,phxDefinitions:c}=l,{evalExpressionParser:d,referenceStore:f,parsingContext:F}=n,u=F??new s,S=u.startSpan("parseApplicationFiles","build","parse-application-files.ts"),g=t(m,f,u,n);if(!g)return S(),u.toResult(void 0);let w=u.startSpan("RawSpecFiles","parseApplicationFiles","parse-raw-spec.ts"),A=r(g.spec,u);w();let R=u.startSpan("RawMockTemplates","parseApplicationFiles","raw-mock-templates.ts"),j=p(g.mockTemplates,u);if(R(),!A)return S(),u.toResult(void 0);let v=u.startSpan("ResolvedSpecFiles","parseApplicationFiles","resolved-spec-files.ts"),x=a(A,m,u);v();let k=u.startSpan("MergedSpec","parseApplicationFiles","merged-spec.ts"),M=i(x,u);if(k(),u.hasErrors)return S(),u.toResult(void 0);let T=u.startSpan("ApplicationSpec","parseApplicationFiles","application-spec.ts"),b=o({merged:M,migrationFiles:g.migrations,adminMigrationFiles:g.adminMigrations,transformerFiles:g.transformers.map(e=>e.file.name),phxDefinitions:c,evalExpressionParser:d},u);return(T(),b)?(S(),u.toResult(e({rawProjectFiles:m,categorizedFiles:g,rawMockTemplates:j,applicationSpec:b}))):(S(),u.toResult(void 0))};
1
+ import{Branded as e}from"@salsita-ai/common/utils";import{ParseContext as s}from"../core/index.js";import{DiagnosticCode as t,diagnosticMessages as r}from"../errors/index.js";import{CategorizedFiles as i}from"./categorize/index.js";import{MergedSpec as a}from"./merge/index.js";import{RawSpecFiles as p}from"./raw-spec/parse-raw-spec.js";import{RawMockTemplates as o}from"./raw-spec/raw-mock-templates.js";import{ResolvedSpecFiles as l}from"./resolve/index.js";import{ApplicationSpec as n}from"./spec/index.js";export const parseApplicationFiles=(m,c)=>{let{rawProjectFiles:d,phxDefinitions:f}=m,{evalExpressionParser:u,referenceStore:F,parsingContext:A}=c,g=A??new s,w=g.startSpan("parseApplicationFiles","build","parse-application-files.ts"),R=i(d,F,g,c);if(!R)return w(),g.toResult(void 0);let S=g.startSpan("RawSpecFiles","parseApplicationFiles","parse-raw-spec.ts"),T=p(R.spec,g);S();let j=g.startSpan("RawMockTemplates","parseApplicationFiles","raw-mock-templates.ts"),O=o(R.mockTemplates,g);if(j(),!T)return w(),g.toResult(void 0);let k=g.startSpan("ResolvedSpecFiles","parseApplicationFiles","resolved-spec-files.ts"),v=l(T,d,g);k();let x=g.startSpan("MergedSpec","parseApplicationFiles","merged-spec.ts"),H=a(v,g);if(x(),g.hasErrors)return w(),g.toResult(void 0);let E=g.startSpan("ApplicationSpec","parseApplicationFiles","application-spec.ts"),M=n({merged:H,migrationFiles:R.migrations,adminMigrationFiles:R.adminMigrations,transformerFiles:R.transformers.map(e=>e.file.name),phxDefinitions:f,evalExpressionParser:u},g);return(E(),M)?(!R.hasWebhookEntry&&(M.appMetadata.useAuthHook||M.appMetadata.useClerk)&&g.warning(t.AUTH_WITHOUT_PROJECT_WEBHOOK,r.AUTH_WITHOUT_PROJECT_WEBHOOK()),w(),g.toResult(e({rawProjectFiles:d,categorizedFiles:R,rawMockTemplates:O,applicationSpec:M}))):(w(),g.toResult(void 0))};
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
+ import { type EnhancedJsonValue } from '#package/domain';
2
3
  import { type EnhancedJsonSchemaType } from '../../core/enhanced-json-schema.js';
3
- import { type EnhancedJsonValue } from '../../core/enhanced-json-value.js';
4
4
  /**
5
5
  * Discriminator tag for a single parsed expression entry.
6
6
  *
@@ -1 +1 @@
1
- import{z as r}from"zod";import{enhancedJsonSchema as e,extendEnhancedJsonSchema as s}from"../../core/enhanced-json-schema.js";import{EVAL_MARKER_KEY as n,evalMarkerSchema as o}from"../../core/markers/eval-marker.js";import{MSG_ID_MARKER_KEY as a,MSG_MARKER_KEY as t,msgMarkerSchema as i}from"../../core/markers/msg-marker.js";export const RawExpressionKind={User:"user",Value:"value"};let m=s(o),c=s(i),d=[n,t,a],l=r=>{let e={};for(let[s,n]of Object.entries(r))d.includes(s)||(e[s]=n);return e};export const rawExpressionEntrySchema=r.union([m,c,e]).transform(r=>{if(n in r)return{kind:RawExpressionKind.Value,constant:!1,value:{[n]:r.$eval},schema:l(r)};if(t in r){let e=void 0!==r.$msgId?{[t]:r.$msg,[a]:r.$msgId}:{[t]:r.$msg};return{kind:RawExpressionKind.Value,constant:!1,value:e,schema:l(r)}}return{kind:RawExpressionKind.User,schema:r}});export const rawExpressionsSchema=r.record(r.string(),r.record(r.string(),rawExpressionEntrySchema).readonly()).readonly();
1
+ import{z as e}from"zod";import{EVAL_MARKER_KEY as r,MSG_ID_MARKER_KEY as n,MSG_MARKER_KEY as s,evalMarkerSchema as o,msgMarkerSchema as a}from"#package/domain";import{enhancedJsonSchema as i,extendEnhancedJsonSchema as t}from"../../core/enhanced-json-schema.js";export const RawExpressionKind={User:"user",Value:"value"};let c=t(o),m=t(a),d=[r,s,n],p=e=>{let r={};for(let[n,s]of Object.entries(e))d.includes(n)||(r[n]=s);return r};export const rawExpressionEntrySchema=e.union([c,m,i]).transform(e=>{if(r in e)return{kind:RawExpressionKind.Value,constant:!1,value:{[r]:e.$eval},schema:p(e)};if(s in e){let r=void 0!==e.$msgId?{[s]:e.$msg,[n]:e.$msgId}:{[s]:e.$msg};return{kind:RawExpressionKind.Value,constant:!1,value:r,schema:p(e)}}return{kind:RawExpressionKind.User,schema:e}});export const rawExpressionsSchema=e.record(e.string(),e.record(e.string(),rawExpressionEntrySchema).readonly()).readonly();
@@ -1,18 +1,8 @@
1
- import { Branded } from '@salsita-ai/common/utils';
1
+ import type { ComponentReadBinding as ComponentReadBindingData } from '#package/domain';
2
2
  import type { ParseContext } from '../../../../core/index.js';
3
3
  import type { EntityOrAliasName, InstanceName, ResolvedShape } from '../../model/index.js';
4
- /**
5
- * A validated `$read` dependency found anywhere in the component props tree.
6
- * Used for memoEval dependency tracking — the target becomes `self.target` in generated code.
7
- * Field targets are validated against the entity shape; expression targets ($-prefixed)
8
- * are accepted without validation (they may be inferred during Phase C).
9
- */
10
- export type ComponentReadBinding = Branded<'ComponentReadBinding', {
11
- /** The raw target string from `$read` (e.g. "height" or "$price"). */
12
- readonly target: string;
13
- /** Whether the target is an expression (starts with `$`) or a shape field. */
14
- readonly isExpression: boolean;
15
- }>;
4
+ /** A validated `$read` dependency of a component; see {@link ComponentReadBindingData | ComponentReadBinding} in `domain`. */
5
+ export type ComponentReadBinding = ComponentReadBindingData;
16
6
  export interface ComponentReadBindingContext {
17
7
  readonly entityKey: EntityOrAliasName;
18
8
  readonly componentName: string;
@@ -1,42 +1,14 @@
1
- import { Branded } from '@salsita-ai/common/utils';
1
+ import type { AssertionKind, ComponentWriteBinding as ComponentWriteBindingData } from '#package/domain';
2
2
  import { type EnhancedJsonSchemaType, type ParseContext } from '../../../../core/index.js';
3
3
  import { type EntityOrAliasName, type InstanceName, type ResolvedShape } from '../../model/index.js';
4
- /**
5
- * Runtime type assertion to emit in the write callback.
6
- * Resolved from the target entity field's schema during parsing.
7
- */
8
- export type AssertionKind = {
9
- readonly kind: 'declaredType';
10
- readonly typeName: string;
11
- } | {
12
- readonly kind: 'declaredTypeId';
13
- readonly referencedType: string;
14
- } | {
15
- readonly kind: 'primitive';
16
- readonly assertFn: 'assertString' | 'assertNumber' | 'assertBoolean';
17
- } | {
18
- readonly kind: 'literal';
19
- readonly value: null;
20
- } | {
21
- readonly kind: 'anyOf';
22
- readonly assertions: readonly AssertionKind[];
23
- } | {
24
- readonly kind: 'none';
25
- };
4
+ export type { AssertionKind } from '#package/domain';
26
5
  /**
27
6
  * Resolves the assertion kind from a field's schema.
28
7
  * Ported from domain-spec/spec/resolve-assertions.ts.
29
8
  */
30
9
  export declare const resolveAssertionKind: (fieldSchema: EnhancedJsonSchemaType) => AssertionKind;
31
- /**
32
- * A validated `$write` or `$bind` mapping from a component state key to an entity field.
33
- * Includes the resolved assertion kind for runtime type checking in the write callback.
34
- */
35
- export type ComponentWriteBinding = Branded<'ComponentWriteBinding', {
36
- readonly propKey: string;
37
- readonly entityField: string;
38
- readonly assertion: AssertionKind;
39
- }>;
10
+ /** A validated `$write` or `$bind` mapping of a component; see {@link ComponentWriteBindingData | ComponentWriteBinding} in `domain`. */
11
+ export type ComponentWriteBinding = ComponentWriteBindingData;
40
12
  export interface ComponentWriteBindingContext {
41
13
  readonly entityKey: EntityOrAliasName;
42
14
  readonly componentName: string;
@@ -1,5 +1,5 @@
1
- import { Branded } from '@salsita-ai/common/utils';
2
- import { type ComponentFilter, type EnhancedJsonSchemaType, type EnhancedJsonValue } from '../../../core/index.js';
1
+ import type { ComponentFilters as ComponentFiltersData } from '#package/domain';
2
+ import { type EnhancedJsonSchemaType, type EnhancedJsonValue } from '../../../core/index.js';
3
3
  /**
4
4
  * Schema types for each filter criterion, used for expression inference.
5
5
  * When `$read: '$expr'` appears in a filter criterion, the expression is
@@ -7,14 +7,8 @@ import { type ComponentFilter, type EnhancedJsonSchemaType, type EnhancedJsonVal
7
7
  * infers `$x` as `boolean`).
8
8
  */
9
9
  export declare const FILTER_CRITERION_SCHEMAS: Readonly<Record<string, EnhancedJsonSchemaType>>;
10
- /**
11
- * Validated set of `$filter` entries on a user-bound component instance. Each
12
- * `ComponentFilter` represents one alternative filter condition; multiple
13
- * entries arise from `$or`. Empty `items` means no filter is applied.
14
- */
15
- export type ComponentFilters = Branded<'ComponentFilters', {
16
- readonly items: readonly ComponentFilter[];
17
- }>;
10
+ /** The validated `$filter` entries of a component instance; see {@link ComponentFiltersData | ComponentFilters} in `domain`. */
11
+ export type ComponentFilters = ComponentFiltersData;
18
12
  /**
19
13
  * Parses a raw `$filter` value into a {@link ComponentFilters}. The shape is
20
14
  * guaranteed by upstream AJV validation against `ComponentSystemFilter` — this
@@ -1,10 +1,9 @@
1
- import { Branded } from '@salsita-ai/common/utils';
1
+ import type { ComponentEntry, Components as ComponentsData } from '#package/domain';
2
2
  import type { ParseContext } from '../../../core/index.js';
3
3
  import type { Aliases } from '../model/index.js';
4
- import type { ComponentEntry } from './component-entry.js';
5
4
  import type { UserComponents } from './user-components.js';
6
- /** Final merged components for a domain, including SDK/spec-derived entries. */
7
- export type Components = Branded<'Components', readonly ComponentEntry[]>;
5
+ /** The merged components of a domain; see {@link ComponentsData | Components} in `domain`. */
6
+ export type Components = ComponentsData;
8
7
  interface ComponentsProps {
9
8
  readonly userComponents: UserComponents;
10
9
  readonly generatedComponents: readonly ComponentEntry[];
@@ -1,7 +1,6 @@
1
+ export { type ComponentEntry, type ComponentImplementation, type ComponentPropTarget, type CompositeImplementation, type RootReadImplementation, type SdkFactory, type SdkFactoryParam, isComponentPropTarget, } from '#package/domain';
1
2
  export * from './bindings/index.js';
2
- export type * from './component-entry.js';
3
3
  export * from './component-filter.js';
4
- export * from './component-prop-target.js';
5
4
  export * from './components.js';
6
5
  export * from './sdk-component-entry.js';
7
6
  export * from './user-component-entry.js';
@@ -1 +1 @@
1
- export*from"./bindings/index.js";export*from"./component-filter.js";export*from"./component-prop-target.js";export*from"./components.js";export*from"./sdk-component-entry.js";export*from"./user-component-entry.js";export*from"./user-components.js";
1
+ export{isComponentPropTarget}from"#package/domain";export*from"./bindings/index.js";export*from"./component-filter.js";export*from"./components.js";export*from"./sdk-component-entry.js";export*from"./user-component-entry.js";export*from"./user-components.js";
@@ -1,5 +1,5 @@
1
+ import type { ComponentEntry, SdkFactory } from '#package/domain';
1
2
  import type { Aliases, EntityOrAliasName, InstanceName } from '../model/index.js';
2
- import type { ComponentEntry, SdkFactory } from './component-entry.js';
3
3
  import type { ComponentFilters } from './component-filter.js';
4
4
  interface SdkComponentImplementation {
5
5
  readonly kind: 'sdk';
@@ -1,9 +1,8 @@
1
+ import type { ComponentEntry, SpecExpression } from '#package/domain';
1
2
  import { type EnhancedJsonObject, type ParseContext } from '../../../core/index.js';
2
3
  import { type ValueTypeResolution } from '../common/index.js';
3
4
  import type { ExpressionRead } from '../expressions/expression-read.js';
4
- import type { Expression } from '../expressions/expression.js';
5
5
  import type { EntityOrAliasName, InstanceName, ResolvedShape } from '../model/index.js';
6
- import type { ComponentEntry } from './component-entry.js';
7
6
  interface UserComponentProps {
8
7
  readonly typeOrAlias: EntityOrAliasName;
9
8
  readonly instanceName: InstanceName;
@@ -18,7 +17,7 @@ interface UserComponentContext {
18
17
  }
19
18
  export interface UserComponentResult {
20
19
  readonly entry: ComponentEntry;
21
- readonly inferredExpressions: readonly Expression[];
20
+ readonly inferredExpressions: readonly SpecExpression[];
22
21
  /** Every `$read` of an expression in the instance, with the type expected where it is read. */
23
22
  readonly expressionReads: readonly ExpressionRead[];
24
23
  }
@@ -1 +1 @@
1
- import{Branded as e}from"@salsita-ai/common/utils";import{componentsByName as t}from"#package/domain";import{FILTER_CRITERION_KEYS as n,FILTER_KEY as r,FILTER_OR_KEY as i,READ_MARKER_KEY as o,isEnhancedJsonObject as a,isEvalMarker as m,isImportRefShaped as p,isRawBindMarker as s,isRawDataRefMarker as l,isRawEvalWriteMarker as d,isRawReadMarker as c,isRawReadWriteMarker as f,navigateSchema as y}from"../../../core/index.js";import{DiagnosticCode as u,diagnosticMessages as g}from"../../../errors/index.js";import{ValueType as N,valueTypeAt as $}from"../common/index.js";import{MemoEvalPlan as O}from"../expressions/memo-eval-plan.js";import{ComponentReadBinding as S,ComponentWriteBinding as A,checkReadBindingType as k,componentPath as R,formatComponentPropPath as T,isExpressionReadTarget as b}from"./bindings/index.js";import{ComponentFilters as h,FILTER_CRITERION_SCHEMAS as P}from"./component-filter.js";import{componentStateType as E}from"./component-state-type.js";import{FILTER_CRITERION_TYPE_SCHEMAS as j,ROOT_FILTER_TYPE_SCHEMA as v}from"./filter-criterion-types.js";import{checkStaticEntityId as _}from"./static-entity-id.js";let x=(e,t,n,r)=>{if(null==e||"object"!=typeof e)return void 0!==e&&n.checkStaticValue(e,t),e;if(c(e))return n.addReadBinding(e.$read,t,"$read"),{$target:e.$read};if(l(e))return void r.parsingContext.at(String(r.entityKey),r.componentName,String(r.instanceName),...t.map(String)).error(u.COMPONENT_DATA_REF_UNSUPPORTED,g.COMPONENT_DATA_REF_UNSUPPORTED(String(r.entityKey),r.componentName,String(r.instanceName),T(t),e.$read,e.$data));if(s(e))return n.addReadBinding(e.$bind,t,"$bind"),{$target:e.$bind};if(m(e))return e;if(p(e))return void r.parsingContext.at(String(r.entityKey),r.componentName,String(r.instanceName),...t.map(String)).error(u.COMPONENT_IMPORT_REF_UNSUPPORTED,g.COMPONENT_IMPORT_REF_UNSUPPORTED(String(r.entityKey),r.componentName,String(r.instanceName),T(t),e.$importRef.module,e.$importRef.member));if(Array.isArray(e))return e.map((e,i)=>x(e,[...t,i],n,r)).filter(e=>void 0!==e);let i={};for(let[o,a]of Object.entries(e)){let e=x(a,[...t,o],n,r);void 0!==e&&(i[o]=e)}return i},C=(t,n,r)=>{for(let i of t.items)if("gradual"===i.kind){for(let[t,o]of Object.entries(i))if("kind"!==t&&o?.kind==="dynamic"&&o.target&&b(o.target)){let i=P[t];i&&r.push(e({entityKey:n,name:o.target,schema:i,implementation:{kind:"user"}}))}}},U=(e,t,n,r)=>{if("string"==typeof e||"number"==typeof e||"boolean"==typeof e||null===e)return void _(e,t,n,r);if("object"==typeof e)for(let[i,o]of Object.entries(e)){let a=Array.isArray(e)?Number(i):i;U(o,[...t,a],$(n,[a]),r)}};export const UserComponentEntry=(m,p)=>{let{implementation:l,inferredExpressions:c,expressionReads:T}=((m,p)=>{let l,c=t.get(m.componentName),T=c?.schema,P=new Set,w=[],D=[],I=[],K={entityKey:m.typeOrAlias,componentName:m.componentName,instanceName:m.instanceName,resolvedShape:p.resolvedShape,parsingContext:p.parsingContext},B={entityKey:m.typeOrAlias,componentName:m.componentName,instanceName:m.instanceName,resolvedShape:p.resolvedShape,parsingContext:p.parsingContext},F={...K,typeResolution:p.typeResolution},M=e=>T?$(l??=E(T,p.typeResolution),e):[{kind:"unknown"}],G=[],V=e=>{b(e.target)?G.push({entityKey:m.typeOrAlias,name:e.target,expected:e.expected,location:R(K,e.path)}):k(e,F)},L=(t,n,r)=>{if(V({marker:r,target:t,path:n,expected:M(n)}),!P.has(t)&&(P.add(t),w.push(S(t,K)),b(t)&&T)){let r=((t,n,r,i)=>{let{schema:o,lastDeclaredType:a,pathSinceDeclaredType:m}=y(r,n),p=n=>e({entityKey:i,name:t,schema:n,implementation:{kind:"user"}});if(void 0!==a){let e=m.map(e=>"number"==typeof e?"[number]":`['${e}']`).join("");return p({...o,tsType:`${a.tsType}${e}`,import:a.import})}if(Object.keys(o).length>0)return p(o)})(t,n,T,m.typeOrAlias);r&&I.push(r)}},W={addReadBinding:L,checkStaticValue:(e,t)=>_(e,t,M(t),K)},q=h(m.rawProps[r]);((e,t,o,m)=>{let p=e=>N(e,{...o.typeResolution,author:"sdk"}),s=void 0!==e&&a(e)&&Array.isArray(e[i]);for(let[e,a]of t.items.entries()){let t=s?[r,i,e]:[r];if("root"===a.kind){m({marker:"$read",target:a.target,path:t,expected:p(v)});continue}for(let e of n){let n=a[e],r=[...t,e],i=p(j[e]);n?.kind==="dynamic"?m({marker:"$read",target:n.target,path:r,expected:i}):n?.kind==="static"&&U(n.value,r,i,o)}}})(m.rawProps[r],q,F,V);let z=`${String(m.typeOrAlias)}.${String(m.instanceName)}`;if((e=>{if(!(o in e)||"string"!=typeof e[o])return!1;for(let t of Object.keys(e))if(t!==o&&t!==r)return!1;return!0})(m.rawProps)){let e=m.rawProps[o];return L(e,[],"$read"),C(q,m.typeOrAlias,I),{implementation:{kind:"userBound",filters:q,plan:O({$target:e},z),implementation:{kind:"rootRead",readBinding:w[0]}},inferredExpressions:I,expressionReads:G}}let H={};for(let[e,t]of Object.entries(m.rawProps)){if(e===r)continue;if(s(t)){D.push(A(e,t.$bind,B)),L(t.$bind,[e],"$bind"),H[e]={$target:t.$bind};continue}if(f(t)){L(t.$read,[e],"$read"),D.push(A(e,t.$write,B)),H[e]={$target:t.$read};continue}if(d(t)){D.push(A(e,t.$write,B)),H[e]={$eval:t.$eval};continue}let n=x(t,[e],W,K);void 0!==n&&(H[e]=n)}let J=new Map;for(let e of D){let t=J.get(e.entityField);t?p.parsingContext.error(u.WRITE_BINDING_DUPLICATE_TARGET,g.WRITE_BINDING_DUPLICATE_TARGET(String(m.typeOrAlias),m.componentName,String(m.instanceName),e.entityField,t,e.propKey)):J.set(e.entityField,e.propKey)}return C(q,m.typeOrAlias,I),{implementation:{kind:"userBound",filters:q,plan:O(H,z),implementation:{kind:"composite",resolvedProps:H,readBindings:w,writeBindings:D}},inferredExpressions:I,expressionReads:G}})(m,p);return{entry:e({typeOrAlias:m.typeOrAlias,instanceName:m.instanceName,isAlias:"alias"===p.resolvedShape.kind,componentName:m.componentName,implementation:l}),inferredExpressions:c,expressionReads:T}};
1
+ import{Branded as e}from"@salsita-ai/common/utils";import{componentsByName as t}from"#package/domain";import{FILTER_CRITERION_KEYS as n,FILTER_KEY as r,FILTER_OR_KEY as i,READ_MARKER_KEY as o,isEnhancedJsonObject as a,isEvalMarker as p,isImportRefShaped as m,isRawBindMarker as s,isRawDataRefMarker as d,isRawEvalWriteMarker as l,isRawReadMarker as c,isRawReadWriteMarker as f,navigateSchema as y}from"../../../core/index.js";import{DiagnosticCode as u,diagnosticMessages as g}from"../../../errors/index.js";import{ValueType as N,valueTypeAt as $}from"../common/index.js";import{MemoEvalPlan as O}from"../expressions/index.js";import{ComponentReadBinding as S,ComponentWriteBinding as A,checkReadBindingType as k,componentPath as R,formatComponentPropPath as T,isExpressionReadTarget as b}from"./bindings/index.js";import{ComponentFilters as h,FILTER_CRITERION_SCHEMAS as P}from"./component-filter.js";import{componentStateType as E}from"./component-state-type.js";import{FILTER_CRITERION_TYPE_SCHEMAS as j,ROOT_FILTER_TYPE_SCHEMA as x}from"./filter-criterion-types.js";import{checkStaticEntityId as _}from"./static-entity-id.js";let v=(e,t,n,r)=>{if(null==e||"object"!=typeof e)return void 0!==e&&n.checkStaticValue(e,t),e;if(c(e))return n.addReadBinding(e.$read,t,"$read"),{$target:e.$read};if(d(e))return void r.parsingContext.at(String(r.entityKey),r.componentName,String(r.instanceName),...t.map(String)).error(u.COMPONENT_DATA_REF_UNSUPPORTED,g.COMPONENT_DATA_REF_UNSUPPORTED(String(r.entityKey),r.componentName,String(r.instanceName),T(t),e.$read,e.$data));if(s(e))return n.addReadBinding(e.$bind,t,"$bind"),{$target:e.$bind};if(p(e))return e;if(m(e))return void r.parsingContext.at(String(r.entityKey),r.componentName,String(r.instanceName),...t.map(String)).error(u.COMPONENT_IMPORT_REF_UNSUPPORTED,g.COMPONENT_IMPORT_REF_UNSUPPORTED(String(r.entityKey),r.componentName,String(r.instanceName),T(t),e.$importRef.module,e.$importRef.member));if(Array.isArray(e))return e.map((e,i)=>v(e,[...t,i],n,r)).filter(e=>void 0!==e);let i={};for(let[o,a]of Object.entries(e)){let e=v(a,[...t,o],n,r);void 0!==e&&(i[o]=e)}return i},C=(t,n,r)=>{for(let i of t.items)if("gradual"===i.kind){for(let[t,o]of Object.entries(i))if("kind"!==t&&o?.kind==="dynamic"&&o.target&&b(o.target)){let i=P[t];i&&r.push(e({entityKey:n,name:o.target,schema:i,implementation:{kind:"user"}}))}}},U=(e,t,n,r)=>{if("string"==typeof e||"number"==typeof e||"boolean"==typeof e||null===e)return void _(e,t,n,r);if("object"==typeof e)for(let[i,o]of Object.entries(e)){let a=Array.isArray(e)?Number(i):i;U(o,[...t,a],$(n,[a]),r)}};export const UserComponentEntry=(p,m)=>{let{implementation:d,inferredExpressions:c,expressionReads:T}=((p,m)=>{let d,c=t.get(p.componentName),T=c?.schema,P=new Set,w=[],D=[],I=[],K={entityKey:p.typeOrAlias,componentName:p.componentName,instanceName:p.instanceName,resolvedShape:m.resolvedShape,parsingContext:m.parsingContext},B={entityKey:p.typeOrAlias,componentName:p.componentName,instanceName:p.instanceName,resolvedShape:m.resolvedShape,parsingContext:m.parsingContext},F={...K,typeResolution:m.typeResolution},M=e=>T?$(d??=E(T,m.typeResolution),e):[{kind:"unknown"}],G=[],V=e=>{b(e.target)?G.push({entityKey:p.typeOrAlias,name:e.target,expected:e.expected,location:R(K,e.path)}):k(e,F)},L=(t,n,r)=>{if(V({marker:r,target:t,path:n,expected:M(n)}),!P.has(t)&&(P.add(t),w.push(S(t,K)),b(t)&&T)){let r=((t,n,r,i)=>{let{schema:o,lastDeclaredType:a,pathSinceDeclaredType:p}=y(r,n),m=n=>e({entityKey:i,name:t,schema:n,implementation:{kind:"user"}});if(void 0!==a){let e=p.map(e=>"number"==typeof e?"[number]":`['${e}']`).join("");return m({...o,tsType:`${a.tsType}${e}`,import:a.import})}if(Object.keys(o).length>0)return m(o)})(t,n,T,p.typeOrAlias);r&&I.push(r)}},W={addReadBinding:L,checkStaticValue:(e,t)=>_(e,t,M(t),K)},q=h(p.rawProps[r]);((e,t,o,p)=>{let m=e=>N(e,{...o.typeResolution,author:"sdk"}),s=void 0!==e&&a(e)&&Array.isArray(e[i]);for(let[e,a]of t.items.entries()){let t=s?[r,i,e]:[r];if("root"===a.kind){p({marker:"$read",target:a.target,path:t,expected:m(x)});continue}for(let e of n){let n=a[e],r=[...t,e],i=m(j[e]);n?.kind==="dynamic"?p({marker:"$read",target:n.target,path:r,expected:i}):n?.kind==="static"&&U(n.value,r,i,o)}}})(p.rawProps[r],q,F,V);let z=`${String(p.typeOrAlias)}.${String(p.instanceName)}`;if((e=>{if(!(o in e)||"string"!=typeof e[o])return!1;for(let t of Object.keys(e))if(t!==o&&t!==r)return!1;return!0})(p.rawProps)){let e=p.rawProps[o];return L(e,[],"$read"),C(q,p.typeOrAlias,I),{implementation:{kind:"userBound",filters:q,plan:O({$target:e},z),implementation:{kind:"rootRead",readBinding:w[0]}},inferredExpressions:I,expressionReads:G}}let H={};for(let[e,t]of Object.entries(p.rawProps)){if(e===r)continue;if(s(t)){D.push(A(e,t.$bind,B)),L(t.$bind,[e],"$bind"),H[e]={$target:t.$bind};continue}if(f(t)){L(t.$read,[e],"$read"),D.push(A(e,t.$write,B)),H[e]={$target:t.$read};continue}if(l(t)){D.push(A(e,t.$write,B)),H[e]={$eval:t.$eval};continue}let n=v(t,[e],W,K);void 0!==n&&(H[e]=n)}let J=new Map;for(let e of D){let t=J.get(e.entityField);t?m.parsingContext.error(u.WRITE_BINDING_DUPLICATE_TARGET,g.WRITE_BINDING_DUPLICATE_TARGET(String(p.typeOrAlias),p.componentName,String(p.instanceName),e.entityField,t,e.propKey)):J.set(e.entityField,e.propKey)}return C(q,p.typeOrAlias,I),{implementation:{kind:"userBound",filters:q,plan:O(H,z),implementation:{kind:"composite",resolvedProps:H,readBindings:w,writeBindings:D}},inferredExpressions:I,expressionReads:G}})(p,m);return{entry:e({typeOrAlias:p.typeOrAlias,instanceName:p.instanceName,isAlias:"alias"===m.resolvedShape.kind,componentName:p.componentName,implementation:d}),inferredExpressions:c,expressionReads:T}};
@@ -1,10 +1,9 @@
1
1
  import { Branded } from '@salsita-ai/common/utils';
2
+ import type { ComponentEntry, SpecExpression } from '#package/domain';
2
3
  import type { ParseContext, PhoenixDefinitions } from '../../../core/index.js';
3
4
  import type { MergedComponents } from '../../merge/index.js';
4
5
  import type { ExpressionRead } from '../expressions/expression-read.js';
5
- import type { Expression } from '../expressions/expression.js';
6
6
  import type { ModelVersion } from '../model/index.js';
7
- import type { ComponentEntry } from './component-entry.js';
8
7
  /** User-declared component entries, flattened from the nested merge map. */
9
8
  export type UserComponents = Branded<'UserComponents', readonly ComponentEntry[]>;
10
9
  interface UserComponentsContext {
@@ -14,7 +13,7 @@ interface UserComponentsContext {
14
13
  }
15
14
  interface UserComponentsResult {
16
15
  readonly components: UserComponents;
17
- readonly expressions: readonly Expression[];
16
+ readonly expressions: readonly SpecExpression[];
18
17
  /** Every `$read` of an expression in a component, with the type expected where it is read. */
19
18
  readonly expressionReads: readonly ExpressionRead[];
20
19
  }
@@ -1,14 +1,14 @@
1
+ import type { SpecExpression } from '#package/domain';
1
2
  import type { ParseContext } from '../../../core/index.js';
2
3
  import type { EntityOrAliasName, ExpressionName, ModelTypeResolution } from '../model/index.js';
3
4
  import type { ExpressionRead } from './expression-read.js';
4
- import type { Expression } from './expression.js';
5
5
  /** Where an expression is declared: the spec section and the entity or alias under it. */
6
6
  export interface ExpressionLocation {
7
7
  readonly section: string;
8
8
  readonly entityKey: EntityOrAliasName;
9
9
  }
10
10
  interface ExpressionReadTypesInput {
11
- readonly userExpressions: readonly Expression[];
11
+ readonly userExpressions: readonly SpecExpression[];
12
12
  readonly expressionReads: readonly ExpressionRead[];
13
13
  /** Finds where a read expression is declared, which is where a conflict is reported. */
14
14
  readonly locateDeclaration: (entityKey: EntityOrAliasName, name: ExpressionName) => ExpressionLocation;
@@ -1,37 +1,15 @@
1
- import { Branded } from '@salsita-ai/common/utils';
1
+ import type { Expressions as ExpressionsData, SpecExpression } from '#package/domain';
2
2
  import { type EvalExpressionParser, type ParseContext, type PhoenixDefinitions } from '../../../core/index.js';
3
3
  import type { MergedExpressions } from '../../merge/index.js';
4
- import { type Aliases, type EntityOrAliasName, type EntityTypeName, type ExpressionName, type ModelVersion } from '../model/index.js';
4
+ import { type Aliases, type EntityTypeName, type ModelVersion } from '../model/index.js';
5
5
  import type { ExpressionRead } from './expression-read.js';
6
- import type { Expression } from './expression.js';
7
- import type { MemoEvalPlan } from './memo-eval-plan.js';
8
- export type { Expression, ExpressionImplementation } from './expression.js';
9
- /**
10
- * Resolved expressions for a single entity type. Holds the ordered list of
11
- * shape source keys (entity itself + aliases it belongs to) — codegen appends
12
- * `"Expressions"` to each key to reference the typed expression group.
13
- */
14
- export type EntityExpressions = Branded<'EntityExpressions', {
15
- /** Entity/alias keys whose expressions this entity inherits. Codegen appends "Expressions" suffix. */
16
- readonly shapeGroups: readonly EntityOrAliasName[];
17
- }>;
18
- /**
19
- * Final merged expressions for a domain — user-declared + inferred.
20
- * The internal `expressions` map groups by entity/alias for codegen/runtime lookups.
21
- * `entityExpressions` provides per-entity alias expansion.
22
- * `constants` projects the self-free `constants:` values, grouped like `expressions`;
23
- * codegen passes them to the enhanced entity/alias reflections so they are readable at
24
- * module level (`phx.domain.enhancedModel.$Wall.$maxWidth`). A constant whose plan uses
25
- * `self` needs an instance, so it stays an ordinary value expression and is absent here.
26
- */
27
- export type Expressions = Branded<'Expressions', {
28
- readonly expressions: ReadonlyMap<EntityOrAliasName, ReadonlyMap<ExpressionName, Expression>>;
29
- readonly entityExpressions: ReadonlyMap<EntityTypeName, EntityExpressions>;
30
- readonly constants: ReadonlyMap<EntityOrAliasName, ReadonlyMap<ExpressionName, MemoEvalPlan>>;
31
- }>;
6
+ export type { EntityExpressions } from '#package/domain';
7
+ export type { ExpressionImplementation, SpecExpression as Expression } from '#package/domain';
8
+ /** The merged expressions of a domain; see {@link ExpressionsData | Expressions} in `domain`. */
9
+ export type Expressions = ExpressionsData;
32
10
  interface ExpressionsProps {
33
11
  readonly rawExpressions: MergedExpressions;
34
- readonly inferredExpressions: readonly Expression[];
12
+ readonly inferredExpressions: readonly SpecExpression[];
35
13
  /** The `$read`s of expressions in components, whose expected types the expressions must share. */
36
14
  readonly expressionReads: readonly ExpressionRead[];
37
15
  }
@@ -1,4 +1,3 @@
1
- export type * from './expression.js';
2
1
  export * from './expressions.js';
3
2
  export * from './memo-eval-plan.js';
4
3
  export * from './user-expressions.js';
@@ -1,74 +1,7 @@
1
- import { Branded } from '@salsita-ai/common/utils';
2
- import { type EvalMarker, type MsgMarker } from '../../../core/index.js';
3
- import { type ComponentPropTarget } from '../components/component-prop-target.js';
4
- export type MemoEvalLiteral = string | number | boolean | null;
5
- /**
6
- * A single entry in the memoEval deps array.
7
- *
8
- * - `'eval'` — a `$eval` code fragment. At deps-build time the fragment is
9
- * evaluated under `self` (`new Function('self', …)` at runtime, spliced
10
- * verbatim under `self => [...]` in codegen). `label` annotates codegen
11
- * output (e.g. `/* $eval: Entity.instance *\/`).
12
- * - `'read'` — a read binding that resolves to `self[target]` at deps-build
13
- * time.
14
- */
15
- export type MemoEvalDep = Branded<'MemoEvalDep', {
16
- readonly kind: 'eval';
17
- readonly code: string;
18
- readonly label: string;
19
- } | {
20
- readonly kind: 'read';
21
- readonly target: string;
22
- }>;
23
- /**
24
- * Tree of values with slots referencing entries in the plan's `deps` array.
25
- * Generated by codegen as a JS literal with params spliced in, or by runtime
26
- * by walking and substituting from the `deps`-materialised values array.
27
- */
28
- export type MemoEvalTemplate = Branded<'MemoEvalTemplate', {
29
- readonly kind: 'literal';
30
- readonly value: MemoEvalLiteral;
31
- } | {
32
- readonly kind: 'msg';
33
- readonly marker: MsgMarker;
34
- } | {
35
- readonly kind: 'slot';
36
- readonly depIndex: number;
37
- } | {
38
- readonly kind: 'array';
39
- readonly items: readonly MemoEvalTemplate[];
40
- } | {
41
- readonly kind: 'object';
42
- readonly entries: ReadonlyArray<readonly [string, MemoEvalTemplate]>;
43
- }>;
44
- export type MemoEvalPlanInput = MemoEvalLiteral | EvalMarker | MsgMarker | ComponentPropTarget | MemoEvalPlanInputArray | MemoEvalPlanInputObject;
45
- export interface MemoEvalPlanInputArray extends ReadonlyArray<MemoEvalPlanInput> {
46
- }
47
- export interface MemoEvalPlanInputObject {
48
- readonly [key: string]: MemoEvalPlanInput;
49
- }
50
- /**
51
- * Normalized plan for producing a memoized reader from a tree containing
52
- * `$eval`, `$target`, `$msg`, and literal nodes. Built once during spec
53
- * parsing; codegen + runtime both generate from the same plan so their outputs
54
- * cannot drift.
55
- *
56
- * - `deps` — ordered evaluation slots in first-seen walk order. Each slot
57
- * dedupes (`$eval` by trimmed code, `$target` by name) so a repeated marker
58
- * shares one dep.
59
- * - `template` — rebuilt value tree with `slot { depIndex }` nodes in place
60
- * of the consumed markers.
61
- * - `usesSelf` — true when deps collection must receive `self`, either
62
- * because a read dep exists or because an eval dep references `self`.
63
- *
64
- * When `deps` is empty the tree is fully static — generators cache
65
- * non-primitive templates and keep primitive literals as bare thunks.
66
- */
67
- export type MemoEvalPlan = Branded<'MemoEvalPlan', {
68
- readonly deps: readonly MemoEvalDep[];
69
- readonly template: MemoEvalTemplate;
70
- readonly usesSelf: boolean;
71
- }>;
1
+ import { type MemoEvalPlan as MemoEvalPlanData, type MemoEvalPlanInput } from '#package/domain';
2
+ export type { MemoEvalLiteral, MemoEvalDep, MemoEvalTemplate, MemoEvalPlanInput, MemoEvalPlanInputArray, MemoEvalPlanInputObject, } from '#package/domain';
3
+ /** The plan a memoized reader is built from; see {@link MemoEvalPlanData | MemoEvalPlan} in `domain`. */
4
+ export type MemoEvalPlan = MemoEvalPlanData;
72
5
  /**
73
6
  * Builds a {@link MemoEvalPlan} from a value tree that may contain `$eval`,
74
7
  * `$target`, and `$msg` markers. Called during spec parsing from
@@ -1 +1 @@
1
- import{Branded as e}from"@salsita-ai/common/utils";import{isEvalMarker as r,isMsgMarker as t}from"../../../core/index.js";import{evalCodeUsesSelf as n}from"../../../enhanced-json/eval-code-uses-self.js";import{isComponentPropTarget as o}from"../components/component-prop-target.js";let l=(e,r)=>0===r.length?e:`${e}.${r.join(".")}`,i=(n,a,d,u)=>{if(void 0===n)throw Error(`MemoEvalPlan: found undefined at ${l(d,u)}, undefined cannot be generated, remove the property or use null.`);if(r(n)){let r=((r,t,n)=>{let o=t.trim();for(let e=0;e<r.length;e++){let t=r[e];if("eval"===t.kind&&t.code===o)return e}return r.push(e({kind:"eval",code:o,label:n})),r.length-1})(a,n.$eval,d);return e({kind:"slot",depIndex:r})}if(o(n)){let r=((r,t)=>{for(let e=0;e<r.length;e++){let n=r[e];if("read"===n.kind&&n.target===t)return e}return r.push(e({kind:"read",target:t})),r.length-1})(a,n.$target);return e({kind:"slot",depIndex:r})}if(t(n))return e({kind:"msg",marker:n});if(null===n||"object"!=typeof n)return e({kind:"literal",value:n});if(Array.isArray(n))return e({kind:"array",items:n.map((e,r)=>i(e,a,d,[...u,String(r)]))});if("object"!=typeof n||null===n)throw Error(`MemoEvalPlan: found unsupported value at ${l(d,u)}, remove it or use null.`);let s=[];for(let e in n){let r=n[e];s.push([e,i(r,a,d,[...u,e])])}return e({kind:"object",entries:s})};export const MemoEvalPlan=(r,t)=>{let o=[],l=i(r,o,t,[]),a=o.some(e=>"read"===e.kind||n(e.code));return e({deps:o,template:l,usesSelf:a})};
1
+ import{Branded as e}from"@salsita-ai/common/utils";import{isComponentPropTarget as r}from"#package/domain";import{isEvalMarker as t,isMsgMarker as n}from"../../../core/index.js";import{evalCodeUsesSelf as o}from"../../../enhanced-json/eval-code-uses-self.js";let l=(e,r)=>0===r.length?e:`${e}.${r.join(".")}`,i=(o,a,d,u)=>{if(void 0===o)throw Error(`MemoEvalPlan: found undefined at ${l(d,u)}, undefined cannot be generated, remove the property or use null.`);if(t(o)){let r=((r,t,n)=>{let o=t.trim();for(let e=0;e<r.length;e++){let t=r[e];if("eval"===t.kind&&t.code===o)return e}return r.push(e({kind:"eval",code:o,label:n})),r.length-1})(a,o.$eval,d);return e({kind:"slot",depIndex:r})}if(r(o)){let r=((r,t)=>{for(let e=0;e<r.length;e++){let n=r[e];if("read"===n.kind&&n.target===t)return e}return r.push(e({kind:"read",target:t})),r.length-1})(a,o.$target);return e({kind:"slot",depIndex:r})}if(n(o))return e({kind:"msg",marker:o});if(null===o||"object"!=typeof o)return e({kind:"literal",value:o});if(Array.isArray(o))return e({kind:"array",items:o.map((e,r)=>i(e,a,d,[...u,String(r)]))});if("object"!=typeof o||null===o)throw Error(`MemoEvalPlan: found unsupported value at ${l(d,u)}, remove it or use null.`);let f=[];for(let e in o){let r=o[e];f.push([e,i(r,a,d,[...u,e])])}return e({kind:"object",entries:f})};export const MemoEvalPlan=(r,t)=>{let n=[],l=i(r,n,t,[]),a=n.some(e=>"read"===e.kind||o(e.code));return e({deps:n,template:l,usesSelf:a})};
@@ -1,7 +1,7 @@
1
+ import type { SpecExpression } from '#package/domain';
1
2
  import { type EvalExpressionParser, type ParseContext } from '../../../core/index.js';
2
3
  import type { MergedExpressions } from '../../merge/index.js';
3
4
  import type { ModelTypeResolution, ModelVersion } from '../model/index.js';
4
- import type { Expression } from './expression.js';
5
5
  /**
6
6
  * Validates user-declared expressions from merged YAML.
7
7
  *
@@ -19,5 +19,5 @@ interface UserExpressionsContext {
19
19
  readonly typeResolution: ModelTypeResolution;
20
20
  readonly parsingContext: ParseContext;
21
21
  }
22
- export declare const UserExpressions: (rawExpressions: MergedExpressions, context: UserExpressionsContext) => readonly Expression[] | undefined;
22
+ export declare const UserExpressions: (rawExpressions: MergedExpressions, context: UserExpressionsContext) => readonly SpecExpression[] | undefined;
23
23
  export {};