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

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 (922) hide show
  1. package/README.md +3 -3
  2. package/dist/admin/create-admin-pages-from-spec.d.ts +1 -1
  3. package/dist/application-spec/errors/diagnostic-codes.d.ts +4 -0
  4. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  5. package/dist/application-spec/errors/diagnostic-messages.d.ts +4 -0
  6. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  7. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  8. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  9. package/dist/application-spec/generate-application/code/common/project-module-list.d.ts +8 -0
  10. package/dist/application-spec/generate-application/code/common/project-module-list.js +3 -0
  11. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  12. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +8 -1
  13. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  14. package/dist/application-spec/generate-application/code/templates/admin-domain-code.d.ts +1 -2
  15. package/dist/application-spec/generate-application/code/templates/admin-domain-code.js +6 -14
  16. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.d.ts +1 -2
  17. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.js +4 -4
  18. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.d.ts +1 -2
  19. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.js +7 -16
  20. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.d.ts +1 -2
  21. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.js +7 -9
  22. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.d.ts +2 -2
  23. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.js +1 -1
  24. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +46 -44
  25. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +1 -1
  26. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  27. package/dist/application-spec/generate-application/code/templates/domain-spec.js +4 -4
  28. package/dist/application-spec/generate-application/code/templates/domain.js +5 -5
  29. package/dist/application-spec/generate-application/code/templates/index.d.ts +0 -7
  30. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  31. package/dist/application-spec/generate-application/code/templates/package-json.js +1 -1
  32. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +66 -42
  33. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +1 -1
  34. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +13 -14
  35. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +6 -9
  36. package/dist/application-spec/generate-application/code/templates/webhook-builders.js +9 -4
  37. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -2
  38. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +4 -3
  39. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.js +1 -1
  40. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  41. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  42. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  43. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +5 -0
  44. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  45. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.d.ts +25 -0
  46. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.js +1 -0
  47. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.d.ts +46 -0
  48. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.js +1 -0
  49. package/dist/application-spec/parse-application-files/spec/relations/relations.d.ts +4 -3
  50. package/dist/application-spec/parse-application-files/spec/relations/relations.js +1 -1
  51. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.d.ts +3 -8
  52. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.js +1 -1
  53. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +9 -43
  54. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  55. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-server-settings.d.ts +2 -2
  56. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant.d.ts +5 -21
  57. package/dist/client/authorized-client.d.ts +3 -1
  58. package/dist/client/authorized-client.js +1 -1
  59. package/dist/client/contract.d.ts +34 -0
  60. package/dist/client/contract.js +1 -1
  61. package/dist/client/index.d.ts +2 -2
  62. package/dist/client/index.js +1 -1
  63. package/dist/client/local-authorized-client.d.ts +3 -1
  64. package/dist/client/local-authorized-client.js +1 -1
  65. package/dist/client/memory-authorized-client.d.ts +3 -1
  66. package/dist/client/memory-authorized-client.js +1 -1
  67. package/dist/client/phoenix-api.d.ts +271 -30
  68. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +104 -5
  69. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  70. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  71. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  72. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  73. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +6 -0
  74. package/dist/configurator/pages/DefaultConfiguratorLayout.js +1 -0
  75. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  76. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  77. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +2 -1
  78. package/dist/configurator/ui/assistant/AssistantComposer.js +1 -1
  79. package/dist/configurator/ui/assistant/AssistantThread.d.ts +6 -2
  80. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  81. package/dist/configurator/ui/assistant/thread-items.d.ts +13 -2
  82. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  83. package/dist/configurator/ui/assistant/tool-chip.d.ts +8 -1
  84. package/dist/configurator/ui/assistant/tool-chip.js +1 -1
  85. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +4 -4
  86. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  87. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +4 -4
  88. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  89. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +47 -0
  90. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -0
  91. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +11 -26
  92. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.js +1 -1
  93. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +100 -117
  94. package/dist/docs/complex-use-cases/navigation-reset-selection.mdx +18 -12
  95. package/dist/docs/complex-use-cases/sketching.mdx +0 -38
  96. package/dist/docs/controls/select-attribute/cardselect.mdx +9 -13
  97. package/dist/docs/index.json +1 -1
  98. package/dist/docs/integrations/woocommerce/local-development.mdx +1 -1
  99. package/dist/docs/layouts/custom-price.mdx +14 -16
  100. package/dist/docs/layouts/sidebar/tabs.mdx +24 -21
  101. package/dist/docs/other-features/domain-actions.mdx +1 -1
  102. package/dist/docs/other-features/side-effects.mdx +50 -45
  103. package/dist/docs/other-features/transformers.mdx +1 -1
  104. package/dist/docs/other-features/violation-messages.mdx +52 -56
  105. package/dist/docs/phoenix/admin.mdx +9 -24
  106. package/dist/docs/phoenix/configurator-interface.mdx +100 -65
  107. package/dist/docs/phoenix/deployments.mdx +1 -1
  108. package/dist/docs/phoenix/domain-model.mdx +4 -0
  109. package/dist/docs/phoenix/expression-context.mdx +11 -3
  110. package/dist/docs/phoenix/getting-started.mdx +1 -1
  111. package/dist/docs/phoenix/localization.mdx +3 -22
  112. package/dist/docs/phoenix/phoenix-cli.mdx +43 -47
  113. package/dist/docs/phoenix/project-structure.mdx +22 -10
  114. package/dist/docs/phoenix/quickstart.mdx +2 -2
  115. package/dist/docs/phoenix/sdk-builder-workflow.mdx +8 -8
  116. package/dist/docs/phoenix/webhooks.mdx +1 -1
  117. package/dist/docs/recipes-and-delete/recipe-hierarchy-selection.mdx +15 -13
  118. package/dist/docs/relations/hierarchy.mdx +13 -2
  119. package/dist/docs/ux-guidelines/choosing-a-control.mdx +11 -0
  120. package/dist/domain/admin-domain/__generated/enhanced-model.d.ts +1 -2
  121. package/dist/domain/admin-domain/__generated/model/versions/v1.d.ts +1 -1
  122. package/dist/domain/admin-domain/__generated/model/versions/v2.d.ts +1 -1
  123. package/dist/domain/admin-domain/__generated/model/versions/v3.d.ts +1 -1
  124. package/dist/domain/admin-domain/__generated/model/versions/v4.d.ts +1 -1
  125. package/dist/domain/admin-domain/__generated/model/versions/v5.d.ts +1 -1
  126. package/dist/domain/admin-domain/__generated/model/versions/v6.d.ts +2 -2
  127. package/dist/domain/admin-domain/__generated/model/versions/v6.js +1 -1
  128. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +26 -14
  129. package/dist/domain/admin-domain/implementation/common-admin-migrations.d.ts +1 -1
  130. package/dist/domain/admin-domain/index.d.ts +9 -5
  131. package/dist/domain/admin-domain/index.js +1 -1
  132. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +1 -1
  133. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  134. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  135. package/dist/domain/application/admin-page-factories.d.ts +1 -2
  136. package/dist/domain/application/application-config.d.ts +24 -95
  137. package/dist/domain/application/assistant/assistant-manifest.d.ts +63 -0
  138. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +95 -0
  139. package/dist/domain/application/assistant/assistant-value-type.d.ts +9 -0
  140. package/dist/domain/application/assistant/assistant-value-type.js +1 -0
  141. package/dist/domain/application/assistant/build-assistant-manifest.d.ts +4 -0
  142. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -0
  143. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
  144. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -0
  145. package/dist/domain/application/assistant/index.d.ts +4 -0
  146. package/dist/domain/application/assistant/index.js +1 -0
  147. package/dist/domain/application/assistant-field-options.d.ts +2 -3
  148. package/dist/domain/application/assistant-mutations.d.ts +3 -5
  149. package/dist/domain/application/assistant-mutations.js +1 -1
  150. package/dist/domain/application/assistant-recipe-groups.d.ts +3 -7
  151. package/dist/domain/application/configurator-builder.d.ts +33 -18
  152. package/dist/domain/application/configurator-builder.js +1 -1
  153. package/dist/domain/application/create-initial-published-data.d.ts +1 -2
  154. package/dist/domain/application/index.d.ts +3 -5
  155. package/dist/domain/application/index.js +1 -1
  156. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  157. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  158. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  159. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  160. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
  161. package/dist/domain/application/published-data/build-legend-data.d.ts +1 -1
  162. package/dist/domain/application/published-data/create-finalize-admin-domain.d.ts +1 -2
  163. package/dist/domain/application/published-data/format-field-type.d.ts +1 -1
  164. package/dist/domain/application/published-data/map-data-to-sheet.d.ts +1 -1
  165. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +2 -2
  166. package/dist/domain/application/published-data/map-published-data.d.ts +1 -2
  167. package/dist/domain/application/published-data/validate-sheet-data.d.ts +1 -1
  168. package/dist/domain/available-system-components.js +1 -1
  169. package/dist/domain/core/action/action-factory.d.ts +11 -0
  170. package/dist/domain/core/{action.d.ts → action/action.d.ts} +22 -18
  171. package/dist/domain/core/action/index.d.ts +2 -0
  172. package/dist/domain/core/action/index.js +1 -0
  173. package/dist/domain/{components → core/component}/component-reader-types.d.ts +1 -2
  174. package/dist/domain/{components → core/component}/debug-state-component.d.ts +1 -1
  175. package/dist/domain/core/component/debug-state-component.js +1 -0
  176. package/dist/domain/core/component/domain-component-optic.d.ts +66 -0
  177. package/dist/domain/core/component/domain-component-optic.js +16 -0
  178. package/dist/domain/{components → core/component}/drag-state-component.d.ts +1 -1
  179. package/dist/domain/core/component/drag-state-component.js +1 -0
  180. package/dist/domain/{components → core/component}/export-state-component.d.ts +1 -1
  181. package/dist/domain/core/component/export-state-component.js +1 -0
  182. package/dist/domain/{components → core/component}/fullscreen-state-component.d.ts +1 -1
  183. package/dist/domain/core/component/fullscreen-state-component.js +1 -0
  184. package/dist/domain/{components → core/component}/group-components-by-entity-id-and-name.d.ts +1 -2
  185. package/dist/domain/core/component/group-components-by-entity-id-and-name.js +1 -0
  186. package/dist/domain/{components → core/component}/hover-state-component.d.ts +1 -1
  187. package/dist/domain/core/component/hover-state-component.js +1 -0
  188. package/dist/domain/core/component/index.d.ts +18 -0
  189. package/dist/domain/core/component/index.js +1 -0
  190. package/dist/domain/{components → core/component}/legacy-filter.d.ts +4 -19
  191. package/dist/domain/{components → core/component}/navigation-state-component.d.ts +1 -1
  192. package/dist/domain/core/component/navigation-state-component.js +1 -0
  193. package/dist/domain/{components → core/component}/selection-state-component.d.ts +1 -1
  194. package/dist/domain/core/component/selection-state-component.js +1 -0
  195. package/dist/domain/{components → core/component}/system-component-builder.d.ts +1 -2
  196. package/dist/domain/core/component/system-component-builder.js +1 -0
  197. package/dist/domain/{components → core/component}/system-component-filter.d.ts +25 -20
  198. package/dist/domain/core/component/system-virtual-entity.js +1 -0
  199. package/dist/domain/{components → core/component}/tool-state-component.d.ts +1 -1
  200. package/dist/domain/core/component/tool-state-component.js +1 -0
  201. package/dist/domain/{components → core/component}/updates.d.ts +1 -2
  202. package/dist/domain/{components → core/component}/view-state-component.d.ts +1 -1
  203. package/dist/domain/core/component/view-state-component.js +1 -0
  204. package/dist/domain/{components → core/component}/viewport-state-component.d.ts +1 -1
  205. package/dist/domain/core/component/viewport-state-component.js +1 -0
  206. package/dist/domain/core/data-schema/data-cell-value.d.ts +4 -0
  207. package/dist/domain/core/data-schema/data-schema-array-field.d.ts +5 -0
  208. package/dist/domain/core/data-schema/data-schema-field-object.d.ts +4 -0
  209. package/dist/domain/core/data-schema/data-schema-field.d.ts +2 -0
  210. package/dist/domain/core/data-schema/data-schema-field.js +1 -0
  211. package/dist/domain/core/data-schema/data-schema-localized-field.d.ts +4 -0
  212. package/dist/domain/core/data-schema/data-schema-localized-field.js +1 -0
  213. package/dist/domain/core/data-schema/data-schema-primitive-field.d.ts +5 -0
  214. package/dist/domain/core/data-schema/data-schema-primitive-field.js +1 -0
  215. package/dist/domain/core/data-schema/data-schema.d.ts +2 -0
  216. package/dist/domain/core/data-schema/data-schema.js +1 -0
  217. package/dist/domain/core/data-schema/index.d.ts +7 -0
  218. package/dist/domain/core/data-schema/index.js +1 -0
  219. package/dist/domain/core/decoder/create-decoder.d.ts +6 -0
  220. package/dist/domain/core/decoder/create-decoder.js +1 -0
  221. package/dist/domain/core/decoder/decoder.d.ts +6 -0
  222. package/dist/domain/core/decoder/decoder.js +1 -0
  223. package/dist/domain/core/decoder/index.d.ts +2 -0
  224. package/dist/domain/core/decoder/index.js +1 -0
  225. package/dist/domain/core/domain-factory.d.ts +4 -5
  226. package/dist/domain/core/domain-factory.js +1 -1
  227. package/dist/domain/core/domain.d.ts +4 -5
  228. package/dist/domain/core/domain.js +1 -1
  229. package/dist/domain/core/emission/index.d.ts +8 -0
  230. package/dist/domain/core/emission/index.js +1 -0
  231. package/dist/domain/core/emission/reset-state-emission.d.ts +12 -0
  232. package/dist/domain/core/emission/reset-state-emission.js +1 -0
  233. package/dist/domain/core/emission/state-emission.d.ts +4 -0
  234. package/dist/domain/core/emission/state-emission.js +1 -0
  235. package/dist/domain/core/emission/state-update-emission.d.ts +14 -0
  236. package/dist/domain/core/emission/state-update-emission.js +1 -0
  237. package/dist/domain/core/emission/state-validation-result.d.ts +18 -0
  238. package/dist/domain/core/emission/state-validation-result.js +1 -0
  239. package/dist/domain/core/emission/transformation-log.d.ts +2 -0
  240. package/dist/domain/core/emission/transformation-log.js +1 -0
  241. package/dist/domain/core/emission/transformer-log-entry.d.ts +6 -0
  242. package/dist/domain/core/emission/transformer-log-entry.js +1 -0
  243. package/dist/domain/core/emission/transformer-log.d.ts +11 -0
  244. package/dist/domain/core/emission/transformer-log.js +1 -0
  245. package/dist/domain/core/emission/transformer-phase.d.ts +1 -0
  246. package/dist/domain/core/emission/transformer-phase.js +1 -0
  247. package/dist/domain/core/expression/aliased-expressions.d.ts +10 -0
  248. package/dist/domain/core/expression/aliased-expressions.js +1 -0
  249. package/dist/domain/{expressions → core/expression}/constant-expressions.d.ts +3 -4
  250. package/dist/domain/core/expression/constant-expressions.js +1 -0
  251. package/dist/domain/core/expression/custom-expression.d.ts +25 -0
  252. package/dist/domain/core/expression/custom-expression.js +1 -0
  253. package/dist/domain/core/expression/expression.d.ts +46 -0
  254. package/dist/domain/core/expression/expression.js +1 -0
  255. package/dist/domain/core/expression/index.d.ts +4 -0
  256. package/dist/domain/core/expression/index.js +1 -0
  257. package/dist/domain/core/index.d.ts +13 -17
  258. package/dist/domain/core/index.js +1 -1
  259. package/dist/domain/{invariants → core/invariant}/builtin-invariant.d.ts +2 -2
  260. package/dist/domain/core/invariant/custom-invariants.d.ts +13 -0
  261. package/dist/domain/core/invariant/custom-invariants.js +1 -0
  262. package/dist/domain/core/invariant/index.d.ts +5 -0
  263. package/dist/domain/core/invariant/index.js +1 -0
  264. package/dist/domain/core/invariant/invariants.d.ts +10 -0
  265. package/dist/domain/core/invariant/invariants.js +1 -0
  266. package/dist/domain/core/invariant/violation-component.js +1 -0
  267. package/dist/domain/{invariants → core/invariant}/violation.d.ts +2 -2
  268. package/dist/domain/core/{component.d.ts → model/component.d.ts} +1 -1
  269. package/dist/domain/core/model/index.d.ts +6 -0
  270. package/dist/domain/core/model/index.js +1 -0
  271. package/dist/domain/core/{reflection.d.ts → model/reflection.d.ts} +1 -1
  272. package/dist/domain/core/model/reflection.js +1 -0
  273. package/dist/domain/core/recipe/index.d.ts +1 -0
  274. package/dist/domain/core/recipe/index.js +1 -0
  275. package/dist/domain/{domain-context/recipe-system → core/recipe}/recipes.d.ts +1 -3
  276. package/dist/domain/core/recipe/recipes.js +1 -0
  277. package/dist/domain/{relations → core/relation}/all-of-type-relation.d.ts +3 -4
  278. package/dist/domain/core/relation/all-of-type-relation.js +1 -0
  279. package/dist/domain/{relations → core/relation}/component-factories.d.ts +1 -2
  280. package/dist/domain/core/relation/component-factories.js +1 -0
  281. package/dist/domain/{relations → core/relation}/composed-of.d.ts +1 -1
  282. package/dist/domain/core/relation/composed-of.js +1 -0
  283. package/dist/domain/{relations → core/relation}/direct-relation.d.ts +2 -3
  284. package/dist/domain/core/relation/index.d.ts +9 -0
  285. package/dist/domain/core/relation/index.js +1 -0
  286. package/dist/domain/{relations → core/relation}/indirect-relation.d.ts +3 -4
  287. package/dist/domain/core/relation/indirect-relation.js +1 -0
  288. package/dist/domain/{relations → core/relation}/reference-component.d.ts +4 -5
  289. package/dist/domain/core/relation/reference-component.js +1 -0
  290. package/dist/domain/{relations → core/relation}/reference-field.d.ts +1 -1
  291. package/dist/domain/core/relation/reference-field.js +1 -0
  292. package/dist/domain/{relations → core/relation}/relation-factory.d.ts +2 -3
  293. package/dist/domain/{relations → core/relation}/relation-implementation.d.ts +3 -4
  294. package/dist/domain/core/relation/relation-implementation.js +1 -0
  295. package/dist/domain/core/schema/enhanced-json-schema.js +1 -0
  296. package/dist/domain/core/schema/extended-schema-validator.js +1 -0
  297. package/dist/domain/core/schema/index.d.ts +3 -0
  298. package/dist/domain/core/schema/index.js +1 -0
  299. package/dist/domain/core/schema/schema-validator.js +1 -0
  300. package/dist/domain/core/state/id-sequence.d.ts +15 -0
  301. package/dist/domain/core/state/id-sequence.js +1 -0
  302. package/dist/domain/core/state/index.d.ts +3 -0
  303. package/dist/domain/core/state/index.js +1 -0
  304. package/dist/domain/core/{migrations.d.ts → state/migrations.d.ts} +15 -47
  305. package/dist/domain/core/state/migrations.js +1 -0
  306. package/dist/domain/core/{state.d.ts → state/state.d.ts} +1 -2
  307. package/dist/domain/domain-builder.d.ts +11 -11
  308. package/dist/domain/domain-builder.js +1 -1
  309. package/dist/domain/domain-context/action-system/action-system.d.ts +2 -4
  310. package/dist/domain/domain-context/action-system/action-system.js +1 -1
  311. package/dist/domain/domain-context/action-system/index.d.ts +1 -0
  312. package/dist/domain/domain-context/action-system/index.js +1 -0
  313. package/dist/domain/domain-context/analytics-system/index.d.ts +2 -0
  314. package/dist/domain/domain-context/analytics-system/index.js +1 -0
  315. package/dist/domain/domain-context/create-transformer.d.ts +2 -2
  316. package/dist/domain/domain-context/dimension-system/dimension-state.js +1 -1
  317. package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +3 -4
  318. package/dist/domain/domain-context/dimension-system/dimension-system.js +1 -1
  319. package/dist/domain/domain-context/dimension-system/index.d.ts +1 -0
  320. package/dist/domain/domain-context/dimension-system/index.js +1 -0
  321. package/dist/domain/domain-context/domain-context-systems.d.ts +8 -10
  322. package/dist/domain/domain-context/index.d.ts +8 -18
  323. package/dist/domain/domain-context/index.js +1 -1
  324. package/dist/domain/domain-context/navigation-system/index.d.ts +3 -0
  325. package/dist/domain/domain-context/navigation-system/index.js +1 -0
  326. package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +5 -8
  327. package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
  328. package/dist/domain/domain-context/navigation-system/navigation-updates.d.ts +1 -12
  329. package/dist/domain/domain-context/navigation-system/navigation-updates.js +1 -1
  330. package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +2 -2
  331. package/dist/domain/domain-context/navigation-system/selection-transformers.js +1 -1
  332. package/dist/domain/domain-context/recipe-system/index.d.ts +1 -0
  333. package/dist/domain/domain-context/recipe-system/index.js +1 -0
  334. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +2 -4
  335. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  336. package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +3 -3
  337. package/dist/domain/domain-context/relation-transformers/cascade-deletes.js +1 -1
  338. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +3 -3
  339. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.js +1 -1
  340. package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +3 -3
  341. package/dist/domain/domain-context/relation-transformers/create-entity-refs.js +2 -2
  342. package/dist/domain/domain-context/relation-transformers/index.d.ts +4 -0
  343. package/dist/domain/domain-context/relation-transformers/index.js +1 -0
  344. package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +3 -3
  345. package/dist/domain/domain-context/relation-transformers/replace-refs.js +1 -1
  346. package/dist/domain/domain-context/store-system/apply-updates.d.ts +1 -3
  347. package/dist/domain/domain-context/store-system/apply-updates.js +1 -1
  348. package/dist/domain/domain-context/store-system/index.d.ts +4 -0
  349. package/dist/domain/domain-context/store-system/index.js +1 -0
  350. package/dist/domain/domain-context/store-system/next-domain-entity-id.d.ts +1 -13
  351. package/dist/domain/domain-context/store-system/next-domain-entity-id.js +1 -1
  352. package/dist/domain/domain-context/store-system/reconcile-projected-entities.d.ts +1 -2
  353. package/dist/domain/domain-context/store-system/reconcile-projected-entities.js +1 -1
  354. package/dist/domain/domain-context/store-system/store-system.d.ts +2 -39
  355. package/dist/domain/domain-context/store-system/store-system.js +2 -2
  356. package/dist/domain/domain-context/store-system/system-state.d.ts +2 -4
  357. package/dist/domain/domain-context/store-system/system-state.js +1 -1
  358. package/dist/domain/domain-context/transformers/actions-builder.d.ts +1 -2
  359. package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
  360. package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +6 -10
  361. package/dist/domain/domain-context/transformers/auto-snap-transformer.js +1 -1
  362. package/dist/domain/domain-context/transformers/chain-builder.d.ts +3 -3
  363. package/dist/domain/domain-context/transformers/context.d.ts +2 -7
  364. package/dist/domain/domain-context/transformers/context.js +1 -1
  365. package/dist/domain/domain-context/transformers/entity-builder.d.ts +1 -5
  366. package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
  367. package/dist/domain/domain-context/transformers/index.d.ts +1 -1
  368. package/dist/domain/domain-context/transformers/index.js +1 -1
  369. package/dist/domain/domain-context/transformers/then-builder.d.ts +1 -2
  370. package/dist/domain/domain-context/transformers/then-builder.js +1 -1
  371. package/dist/domain/domain-context/transformers/when-builder.d.ts +3 -9
  372. package/dist/domain/domain-context/transformers/when-builder.js +1 -1
  373. package/dist/domain/domain-context/undo-system.d.ts +2 -3
  374. package/dist/domain/domain-runtime/domain-context/action-context.d.ts +11 -0
  375. package/dist/domain/domain-runtime/domain-context/action-context.js +1 -0
  376. package/dist/domain/domain-runtime/domain-context/component-reader.d.ts +1 -4
  377. package/dist/domain/domain-runtime/domain-context/component-reader.js +1 -1
  378. package/dist/domain/domain-runtime/domain-context/domain-context.js +1 -1
  379. package/dist/domain/domain-runtime/domain-context/expression-context.d.ts +8 -0
  380. package/dist/domain/domain-runtime/domain-context/expression-context.js +1 -0
  381. package/dist/domain/domain-runtime/domain-context/index.d.ts +3 -0
  382. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.d.ts +18 -0
  383. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.js +1 -0
  384. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +6 -13
  385. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  386. package/dist/domain/domain-runtime/domain-runtime.d.ts +56 -56
  387. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +24 -0
  388. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -0
  389. package/dist/domain/domain-runtime/spec/index.d.ts +5 -0
  390. package/dist/domain/domain-runtime/spec/index.js +1 -1
  391. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  392. package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.d.ts +1 -2
  393. package/dist/domain/{application → domain-runtime/spec/module-checks}/element-registration.d.ts +6 -1
  394. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -0
  395. package/dist/domain/{application → domain-runtime/spec/module-checks}/handler-registration.d.ts +5 -0
  396. package/dist/domain/domain-runtime/spec/module-checks/handler-registration.js +1 -0
  397. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +8 -0
  398. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -0
  399. package/dist/domain/domain-runtime/spec/module-checks/project-modules.d.ts +25 -0
  400. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -0
  401. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.d.ts +4 -0
  402. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -0
  403. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.d.ts +4 -0
  404. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.js +1 -0
  405. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +15 -0
  406. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -0
  407. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +22 -0
  408. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -0
  409. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +6 -0
  410. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -0
  411. package/dist/domain/{actions → domain-runtime/spec}/prepare-action-implementations.d.ts +1 -1
  412. package/dist/domain/domain-runtime/spec/prepare-action-implementations.js +5 -0
  413. package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.d.ts +1 -1
  414. package/dist/domain/domain-runtime/spec/selectors.d.ts +7 -8
  415. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  416. package/dist/domain/domain-runtime/spec/types.d.ts +6 -6
  417. package/dist/domain/{system-components → extensions}/angle-indicator.d.ts +1 -1
  418. package/dist/domain/extensions/angle-indicator.js +1 -0
  419. package/dist/domain/extensions/attribute-switch.js +1 -0
  420. package/dist/domain/{system-components → extensions}/autorotate-camera-component.d.ts +1 -1
  421. package/dist/domain/extensions/autorotate-camera-component.js +1 -0
  422. package/dist/domain/{system-components → extensions}/basic-sidebar-footer.d.ts +1 -1
  423. package/dist/domain/extensions/basic-sidebar-footer.js +1 -0
  424. package/dist/domain/extensions/camera-based-hidden-entity-object.js +1 -0
  425. package/dist/domain/extensions/camera-based-hidden-entity.js +1 -0
  426. package/dist/domain/{system-components → extensions}/canvas-config.d.ts +1 -1
  427. package/dist/domain/extensions/canvas-config.js +1 -0
  428. package/dist/domain/extensions/canvas-custom-environment.js +1 -0
  429. package/dist/domain/{system-components → extensions}/canvas-padding.d.ts +1 -1
  430. package/dist/domain/extensions/canvas-padding.js +1 -0
  431. package/dist/domain/{system-components → extensions}/canvas-preset-environment.d.ts +1 -1
  432. package/dist/domain/extensions/canvas-preset-environment.js +1 -0
  433. package/dist/domain/{system-components → extensions}/child-entity-recipe-hierarchy.d.ts +2 -2
  434. package/dist/domain/extensions/child-entity-recipe-hierarchy.js +1 -0
  435. package/dist/domain/extensions/client-side-image.js +1 -0
  436. package/dist/domain/extensions/color-value.js +1 -0
  437. package/dist/domain/{system-components → extensions}/common/angle-indicator-schema.d.ts +1 -1
  438. package/dist/domain/extensions/common/angle-indicator-schema.js +1 -0
  439. package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.d.ts +1 -1
  440. package/dist/domain/extensions/common/dimension-indicator-schema.js +1 -0
  441. package/dist/domain/extensions/common/index.d.ts +4 -0
  442. package/dist/domain/extensions/common/index.js +1 -0
  443. package/dist/domain/{system-components → extensions}/custom-header.d.ts +2 -2
  444. package/dist/domain/{system-components → extensions}/custom-header.js +1 -1
  445. package/dist/domain/extensions/custom-price-footer.js +1 -0
  446. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.d.ts +2 -2
  447. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.js +1 -1
  448. package/dist/domain/{system-components → extensions}/dimension-indicator.d.ts +1 -1
  449. package/dist/domain/extensions/dimension-indicator.js +1 -0
  450. package/dist/domain/{system-components → extensions}/editable-angle-indicator.d.ts +3 -2
  451. package/dist/domain/extensions/editable-angle-indicator.js +1 -0
  452. package/dist/domain/{system-components → extensions}/editable-distance-dimension-indicator.d.ts +3 -2
  453. package/dist/domain/extensions/editable-distance-dimension-indicator.js +1 -0
  454. package/dist/domain/{system-components → extensions}/editable-offset-indicator.d.ts +3 -2
  455. package/dist/domain/extensions/editable-offset-indicator.js +1 -0
  456. package/dist/domain/{system-components → extensions}/editable-size-indicator.d.ts +3 -2
  457. package/dist/domain/extensions/editable-size-indicator.js +1 -0
  458. package/dist/domain/{system-components → extensions}/entity-header.d.ts +1 -1
  459. package/dist/domain/extensions/entity-header.js +1 -0
  460. package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.d.ts +1 -1
  461. package/dist/domain/extensions/exit-tool-mode-fab.js +1 -0
  462. package/dist/domain/{system-components → extensions}/finalize-action.d.ts +1 -1
  463. package/dist/domain/extensions/finalize-action.js +1 -0
  464. package/dist/domain/extensions/finalize-component.js +1 -0
  465. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -0
  466. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -0
  467. package/dist/domain/{system-components → extensions}/fixed-header.d.ts +1 -1
  468. package/dist/domain/extensions/fixed-header.js +1 -0
  469. package/dist/domain/{system-components → extensions}/floating-header.d.ts +1 -1
  470. package/dist/domain/extensions/floating-header.js +1 -0
  471. package/dist/domain/{system-components → extensions}/hidden-header.d.ts +1 -1
  472. package/dist/domain/extensions/hidden-header.js +1 -0
  473. package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.d.ts +1 -1
  474. package/dist/domain/extensions/hidden-sidebar-footer.js +1 -0
  475. package/dist/domain/{system-components → extensions}/horizontal-tabs.d.ts +1 -1
  476. package/dist/domain/extensions/horizontal-tabs.js +1 -0
  477. package/dist/domain/extensions/index.d.ts +69 -0
  478. package/dist/domain/extensions/index.js +1 -0
  479. package/dist/domain/{system-components → extensions}/list-selector-dimension-indicator.d.ts +3 -2
  480. package/dist/domain/extensions/list-selector-dimension-indicator.js +1 -0
  481. package/dist/domain/extensions/multilingual-text-value.js +1 -0
  482. package/dist/domain/extensions/navigation-steps.js +1 -0
  483. package/dist/domain/{system-components → extensions}/offset-anchors.d.ts +1 -1
  484. package/dist/domain/extensions/offset-anchors.js +1 -0
  485. package/dist/domain/{system-components → extensions}/offset-indicator.d.ts +1 -2
  486. package/dist/domain/extensions/offset-indicator.js +1 -0
  487. package/dist/domain/{system-components → extensions}/offset.d.ts +1 -1
  488. package/dist/domain/extensions/offset.js +1 -0
  489. package/dist/domain/{system-components → extensions}/other-action.d.ts +1 -1
  490. package/dist/domain/extensions/other-action.js +1 -0
  491. package/dist/domain/{system-components → extensions}/property-page.d.ts +2 -2
  492. package/dist/domain/extensions/property-page.js +1 -0
  493. package/dist/domain/{system-components → extensions}/read-sidebar-footer.d.ts +1 -1
  494. package/dist/domain/extensions/read-sidebar-footer.js +1 -0
  495. package/dist/domain/{system-components → extensions}/replace-entity-recipe-hierarchy.d.ts +2 -2
  496. package/dist/domain/extensions/replace-entity-recipe-hierarchy.js +1 -0
  497. package/dist/domain/extensions/rotatable.js +1 -0
  498. package/dist/domain/extensions/rotation-handle.js +1 -0
  499. package/dist/domain/extensions/save-template-thumbnail.js +1 -0
  500. package/dist/domain/{system-components → extensions}/scene-entity-add-fab.d.ts +1 -1
  501. package/dist/domain/extensions/scene-entity-add-fab.js +1 -0
  502. package/dist/domain/extensions/scene-entity-animation.js +1 -0
  503. package/dist/domain/extensions/scene-entity-control.js +1 -0
  504. package/dist/domain/{system-components → extensions}/scene-entity-delete-fab.d.ts +1 -1
  505. package/dist/domain/extensions/scene-entity-delete-fab.js +1 -0
  506. package/dist/domain/extensions/scene-entity-floor-object.js +1 -0
  507. package/dist/domain/{system-components → extensions}/scene-entity-html-hotspot.d.ts +1 -1
  508. package/dist/domain/extensions/scene-entity-html-hotspot.js +1 -0
  509. package/dist/domain/{system-components → extensions}/scene-entity-navigation-hotspot.d.ts +1 -1
  510. package/dist/domain/extensions/scene-entity-navigation-hotspot.js +1 -0
  511. package/dist/domain/{system-components → extensions}/scene-entity-object-html-hotspot.d.ts +1 -1
  512. package/dist/domain/extensions/scene-entity-object-html-hotspot.js +1 -0
  513. package/dist/domain/{system-components → extensions}/scene-entity-select-hotspot.d.ts +1 -1
  514. package/dist/domain/extensions/scene-entity-select-hotspot.js +1 -0
  515. package/dist/domain/extensions/scene-entity-wall-object.js +1 -0
  516. package/dist/domain/extensions/selectable-component.js +1 -0
  517. package/dist/domain/{system-components → extensions}/sidebar-tabs.d.ts +1 -1
  518. package/dist/domain/extensions/sidebar-tabs.js +1 -0
  519. package/dist/domain/extensions/simple-summary.js +1 -0
  520. package/dist/domain/{system-components → extensions}/size.d.ts +1 -1
  521. package/dist/domain/extensions/size.js +1 -0
  522. package/dist/domain/{system-components → extensions}/sketching-draw.d.ts +1 -1
  523. package/dist/domain/extensions/sketching-draw.js +1 -0
  524. package/dist/domain/{system-components → extensions}/sketching-edit.d.ts +2 -2
  525. package/dist/domain/extensions/sketching-edit.js +1 -0
  526. package/dist/domain/extensions/summary-component.js +1 -0
  527. package/dist/domain/extensions/text-value.js +1 -0
  528. package/dist/domain/extensions/tool-controls.js +1 -0
  529. package/dist/domain/{system-components → extensions}/tool-menu-fab.d.ts +2 -2
  530. package/dist/domain/extensions/tool-menu-fab.js +1 -0
  531. package/dist/domain/{system-components → extensions}/toolbar.d.ts +2 -2
  532. package/dist/domain/{system-components → extensions}/toolbar.js +1 -1
  533. package/dist/domain/{system-components → extensions}/universal-sidebar-footer.d.ts +1 -1
  534. package/dist/domain/extensions/universal-sidebar-footer.js +1 -0
  535. package/dist/domain/extensions/view-controls.js +1 -0
  536. package/dist/domain/index.d.ts +2 -32
  537. package/dist/domain/index.js +1 -1
  538. package/dist/domain/mocks/create-mock-domain-runtime-services.d.ts +1 -1
  539. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +13 -13
  540. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  541. package/dist/domain/projections/blender-projections/blender-projections.d.ts +2 -3
  542. package/dist/domain/projections/blender-projections/blender-projections.js +1 -1
  543. package/dist/domain/projections/blender-projections/camera.d.ts +1 -1
  544. package/dist/domain/projections/collision-projections.d.ts +1 -1
  545. package/dist/domain/projections/composition-projections.d.ts +1 -1
  546. package/dist/domain/projections/composition-projections.js +1 -1
  547. package/dist/domain/projections/constraint-projections.d.ts +1 -1
  548. package/dist/domain/projections/index.d.ts +1 -1
  549. package/dist/domain/projections/position-projections.d.ts +1 -1
  550. package/dist/domain/projections/projected-entities-projections.d.ts +2 -3
  551. package/dist/domain/projections/snap-matching.d.ts +1 -2
  552. package/dist/domain/projections/snap-utils.d.ts +1 -2
  553. package/dist/domain/projections/snapping-projections.d.ts +1 -1
  554. package/dist/domain/projections/validation-projections.d.ts +3 -20
  555. package/dist/domain/projections/validation-projections.js +1 -1
  556. package/dist/domain/sketching/sketching-projections.d.ts +1 -1
  557. package/dist/domain/system-components/admin-sidebar.d.ts +1 -1
  558. package/dist/domain/system-components/admin-sidebar.js +1 -1
  559. package/dist/domain/system-components/angle-dimension.js +1 -1
  560. package/dist/domain/system-components/application-config.d.ts +1 -1
  561. package/dist/domain/system-components/application-config.js +1 -1
  562. package/dist/domain/system-components/attribute-selection.js +1 -1
  563. package/dist/domain/system-components/bounding-box-component.d.ts +1 -1
  564. package/dist/domain/system-components/bounding-box-component.js +1 -1
  565. package/dist/domain/system-components/bounding-sphere-component.d.ts +1 -1
  566. package/dist/domain/system-components/bounding-sphere-component.js +1 -1
  567. package/dist/domain/system-components/child-entity-recipes.d.ts +1 -1
  568. package/dist/domain/system-components/child-entity-recipes.js +1 -1
  569. package/dist/domain/system-components/child-entity-selection.d.ts +1 -2
  570. package/dist/domain/system-components/child-entity-selection.js +1 -1
  571. package/dist/domain/system-components/collision-box-geometry.d.ts +1 -1
  572. package/dist/domain/system-components/collision-box-geometry.js +1 -1
  573. package/dist/domain/system-components/collision-geometries.d.ts +1 -1
  574. package/dist/domain/system-components/collision-geometry.d.ts +1 -1
  575. package/dist/domain/system-components/collision-geometry.js +1 -1
  576. package/dist/domain/system-components/collision-point-geometry.d.ts +1 -1
  577. package/dist/domain/system-components/collision-point-geometry.js +1 -1
  578. package/dist/domain/system-components/common/index.d.ts +0 -4
  579. package/dist/domain/system-components/common/index.js +1 -1
  580. package/dist/domain/system-components/common/recipes.d.ts +1 -2
  581. package/dist/domain/system-components/constraint.d.ts +1 -1
  582. package/dist/domain/system-components/constraint.js +1 -1
  583. package/dist/domain/system-components/create-blueprint.d.ts +1 -1
  584. package/dist/domain/system-components/custom-scene-entity.d.ts +1 -1
  585. package/dist/domain/system-components/custom-scene-entity.js +1 -1
  586. package/dist/domain/system-components/detail.js +1 -1
  587. package/dist/domain/system-components/distance-dimension-select.d.ts +1 -1
  588. package/dist/domain/system-components/distance-dimension-select.js +1 -1
  589. package/dist/domain/system-components/distance-dimension.d.ts +1 -1
  590. package/dist/domain/system-components/distance-dimension.js +1 -1
  591. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  592. package/dist/domain/system-components/drag-handle.js +1 -1
  593. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  594. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  595. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  596. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  597. package/dist/domain/system-components/generic-dimension.d.ts +1 -1
  598. package/dist/domain/system-components/generic-dimension.js +1 -1
  599. package/dist/domain/system-components/hidden-entity.js +1 -1
  600. package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -2
  601. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  602. package/dist/domain/system-components/index.d.ts +0 -68
  603. package/dist/domain/system-components/index.js +1 -1
  604. package/dist/domain/system-components/material-override-property-transition.js +1 -1
  605. package/dist/domain/system-components/material-override-transformer.js +1 -1
  606. package/dist/domain/system-components/material-swatch.js +1 -1
  607. package/dist/domain/system-components/navigation-page.js +1 -1
  608. package/dist/domain/system-components/navigation-panel-list.js +1 -1
  609. package/dist/domain/system-components/phoenix-entity-elements/admin-data-table-sidebar.d.ts +1 -1
  610. package/dist/domain/system-components/phoenix-layout-elements/admin-connected-resource-page.d.ts +1 -1
  611. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-actions.d.ts +1 -1
  612. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-page.d.ts +1 -1
  613. package/dist/domain/system-components/pivot-point.d.ts +1 -1
  614. package/dist/domain/system-components/pivot-point.js +1 -1
  615. package/dist/domain/system-components/price.js +1 -1
  616. package/dist/domain/system-components/projected-entities.d.ts +1 -1
  617. package/dist/domain/system-components/projected-entities.js +1 -1
  618. package/dist/domain/system-components/replace-entity-recipes.d.ts +1 -1
  619. package/dist/domain/system-components/replace-entity-recipes.js +1 -1
  620. package/dist/domain/system-components/scene-entity-ambient-light.js +1 -1
  621. package/dist/domain/system-components/scene-entity-box-object.js +1 -1
  622. package/dist/domain/system-components/scene-entity-directional-light.js +1 -1
  623. package/dist/domain/system-components/scene-entity-local-material-override.js +1 -1
  624. package/dist/domain/system-components/scene-entity-material-override.js +1 -1
  625. package/dist/domain/system-components/scene-entity-object-clip.js +1 -1
  626. package/dist/domain/system-components/scene-entity-object-decal.js +1 -1
  627. package/dist/domain/system-components/scene-entity-object-group.js +1 -1
  628. package/dist/domain/system-components/scene-entity-object-local-material-override.js +1 -1
  629. package/dist/domain/system-components/scene-entity-object-material-override.js +1 -1
  630. package/dist/domain/system-components/scene-entity-object-properties.js +1 -1
  631. package/dist/domain/system-components/scene-entity-object-remote-material-override.js +1 -1
  632. package/dist/domain/system-components/scene-entity-object-text-decal.js +1 -1
  633. package/dist/domain/system-components/scene-entity-object-transformer.js +1 -1
  634. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.js +1 -1
  635. package/dist/domain/system-components/scene-entity-object.js +1 -1
  636. package/dist/domain/system-components/scene-entity-point-light.js +1 -1
  637. package/dist/domain/system-components/scene-entity-properties.js +1 -1
  638. package/dist/domain/system-components/scene-entity-rect-area-light.js +1 -1
  639. package/dist/domain/system-components/scene-entity-remote-material-override.js +1 -1
  640. package/dist/domain/system-components/scene-entity-remote-object.js +1 -1
  641. package/dist/domain/system-components/scene-entity-spot-light.js +1 -1
  642. package/dist/domain/system-components/scene-entity-transimissive-material-override.js +1 -1
  643. package/dist/domain/system-components/sketching-line.d.ts +1 -1
  644. package/dist/domain/system-components/sketching-line.js +1 -1
  645. package/dist/domain/system-components/sketching-rectangle.d.ts +1 -1
  646. package/dist/domain/system-components/sketching-rectangle.js +1 -1
  647. package/dist/domain/system-components/sketching.d.ts +1 -1
  648. package/dist/domain/system-components/sketching.js +1 -1
  649. package/dist/domain/system-components/snap-axis.d.ts +1 -1
  650. package/dist/domain/system-components/snap-axis.js +1 -1
  651. package/dist/domain/system-components/snap-edge.d.ts +1 -1
  652. package/dist/domain/system-components/snap-edge.js +1 -1
  653. package/dist/domain/system-components/snap-plane.d.ts +1 -1
  654. package/dist/domain/system-components/snap-plane.js +1 -1
  655. package/dist/domain/system-components/snap-point.d.ts +1 -1
  656. package/dist/domain/system-components/snap-point.js +1 -1
  657. package/dist/domain/system-components/static-orthographic-camera-component.d.ts +1 -1
  658. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  659. package/dist/domain/system-components/static-perspective-camera-component.d.ts +1 -1
  660. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  661. package/dist/domain/utils/eval-cache.d.ts +1 -2
  662. package/dist/domain/utils/memo-eval.d.ts +2 -4
  663. package/dist/editor/domain-editors/use-implementation-files.d.ts +7 -6
  664. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  665. package/dist/i18n/locales/cs/messages.js +1 -1
  666. package/dist/i18n/locales/da/messages.js +1 -1
  667. package/dist/i18n/locales/de/messages.js +1 -1
  668. package/dist/i18n/locales/de-AT/messages.js +1 -1
  669. package/dist/i18n/locales/en/messages.js +1 -1
  670. package/dist/i18n/locales/en-AU/messages.js +1 -1
  671. package/dist/i18n/locales/en-GB/messages.js +1 -1
  672. package/dist/i18n/locales/es/messages.js +1 -1
  673. package/dist/i18n/locales/fr/messages.js +1 -1
  674. package/dist/i18n/locales/hu/messages.js +1 -1
  675. package/dist/i18n/locales/it/messages.js +1 -1
  676. package/dist/i18n/locales/nl/messages.js +1 -1
  677. package/dist/i18n/locales/pl/messages.js +1 -1
  678. package/dist/i18n/locales/pt/messages.js +1 -1
  679. package/dist/i18n/locales/ro/messages.js +1 -1
  680. package/dist/i18n/locales/sk/messages.js +1 -1
  681. package/dist/i18n/locales/tr/messages.js +1 -1
  682. package/dist/legacy/domain-cli/gen/configurator-builder.js +21 -8
  683. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -3
  684. package/dist/legacy/domain-cli/gen/implementation.js +7 -11
  685. package/dist/legacy/domain-cli/gen/invariants.js +7 -6
  686. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  687. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  688. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  689. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  690. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  691. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +1 -0
  692. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/domain-index.js +17 -15
  693. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.d.ts +1 -1
  694. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.js +4 -0
  695. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +18 -19
  696. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +15 -16
  697. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +22 -23
  698. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +15 -16
  699. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.d.ts +7 -2
  700. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.js +8 -12
  701. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.d.ts +1 -1
  702. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.js +1 -1
  703. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/webhook-builders.js +7 -7
  704. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  705. package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +4 -3
  706. package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
  707. package/dist/phoenix/commands/init.d.ts +4 -4
  708. package/dist/phoenix/commands/init.js +1 -1
  709. package/dist/phoenix/commands/prepare-deployment-command.js +2 -2
  710. package/dist/phoenix/commands/prepare-local-environment-command.js +1 -1
  711. package/dist/phoenix/commands/prettier.js +1 -1
  712. package/dist/phoenix/scripts/build-admin.js +1 -1
  713. package/dist/phoenix/services/prepare-development-environment.js +1 -1
  714. package/dist/phoenix/services/variant-file-session.js +1 -1
  715. package/dist/phoenix/utils/git/index.d.ts +1 -0
  716. package/dist/phoenix/utils/git/index.js +1 -0
  717. package/dist/phoenix/utils/git/is-inside-git-repository.d.ts +6 -0
  718. package/dist/phoenix/utils/git/is-inside-git-repository.js +1 -0
  719. package/dist/phoenix/utils/index.d.ts +1 -0
  720. package/dist/phoenix/utils/index.js +1 -1
  721. package/dist/react-sdk/application-runtime/hooks/use-domain-application-props.d.ts +5 -2
  722. package/dist/react-sdk/application-runtime/hooks/use-spec.d.ts +1 -1
  723. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.d.ts +1 -1
  724. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  725. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +24 -24
  726. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +5 -5
  727. package/dist/ui-sdk/theme/types.d.ts +1 -1
  728. package/dist/webhook/builders/common.d.ts +8 -0
  729. package/dist/webhook/builders/webhook-builder.d.ts +1 -1
  730. package/dist/webhook/builders/webhook-builder.js +1 -1
  731. package/package.json +3 -3
  732. package/dist/application-spec/generate-application/code/templates/env-ci.d.ts +0 -1
  733. package/dist/application-spec/generate-application/code/templates/env-ci.js +0 -25
  734. package/dist/application-spec/generate-application/code/templates/env-example.d.ts +0 -1
  735. package/dist/application-spec/generate-application/code/templates/env-example.js +0 -90
  736. package/dist/application-spec/generate-application/code/templates/prettier-ignore.d.ts +0 -1
  737. package/dist/application-spec/generate-application/code/templates/prettier-ignore.js +0 -6
  738. package/dist/application-spec/generate-application/code/templates/private-assets-readme.d.ts +0 -1
  739. package/dist/application-spec/generate-application/code/templates/private-assets-readme.js +0 -24
  740. package/dist/application-spec/generate-application/code/templates/public-assets-readme.d.ts +0 -1
  741. package/dist/application-spec/generate-application/code/templates/public-assets-readme.js +0 -24
  742. package/dist/application-spec/generate-application/code/templates/readme.d.ts +0 -1
  743. package/dist/application-spec/generate-application/code/templates/readme.js +0 -23
  744. package/dist/application-spec/generate-application/code/templates/skills/agents-md.d.ts +0 -1
  745. package/dist/application-spec/generate-application/code/templates/skills/agents-md.js +0 -2
  746. package/dist/domain/actions/action-factory.d.ts +0 -10
  747. package/dist/domain/actions/prepare-action-implementations.js +0 -5
  748. package/dist/domain/application/element-registration.js +0 -1
  749. package/dist/domain/application/handler-registration.js +0 -1
  750. package/dist/domain/application/resolve-imported-transformers.d.ts +0 -13
  751. package/dist/domain/application/resolve-imported-transformers.js +0 -1
  752. package/dist/domain/components/debug-state-component.js +0 -1
  753. package/dist/domain/components/domain-component-optic.d.ts +0 -76
  754. package/dist/domain/components/domain-component-optic.js +0 -16
  755. package/dist/domain/components/drag-state-component.js +0 -1
  756. package/dist/domain/components/export-state-component.js +0 -1
  757. package/dist/domain/components/fullscreen-state-component.js +0 -1
  758. package/dist/domain/components/group-components-by-entity-id-and-name.js +0 -1
  759. package/dist/domain/components/hover-state-component.js +0 -1
  760. package/dist/domain/components/index.d.ts +0 -2
  761. package/dist/domain/components/index.js +0 -1
  762. package/dist/domain/components/navigation-state-component.js +0 -1
  763. package/dist/domain/components/selection-state-component.js +0 -1
  764. package/dist/domain/components/system-component-builder.js +0 -1
  765. package/dist/domain/components/system-virtual-entity.js +0 -1
  766. package/dist/domain/components/tool-state-component.js +0 -1
  767. package/dist/domain/components/view-state-component.js +0 -1
  768. package/dist/domain/components/viewport-state-component.js +0 -1
  769. package/dist/domain/core/expression.d.ts +0 -50
  770. package/dist/domain/core/json-schema.js +0 -1
  771. package/dist/domain/core/migrations.js +0 -1
  772. package/dist/domain/core/reflection.js +0 -1
  773. package/dist/domain/domain-context/recipe-system/recipes.js +0 -1
  774. package/dist/domain/expressions/constant-expressions.js +0 -1
  775. package/dist/domain/expressions/custom-expression.d.ts +0 -13
  776. package/dist/domain/expressions/custom-expression.js +0 -1
  777. package/dist/domain/expressions/index.d.ts +0 -1
  778. package/dist/domain/expressions/index.js +0 -1
  779. package/dist/domain/invariants/custom-invariants.d.ts +0 -22
  780. package/dist/domain/invariants/custom-invariants.js +0 -1
  781. package/dist/domain/invariants/invariants.d.ts +0 -68
  782. package/dist/domain/invariants/invariants.js +0 -1
  783. package/dist/domain/invariants/violation-component.js +0 -1
  784. package/dist/domain/relations/all-of-type-relation.js +0 -1
  785. package/dist/domain/relations/component-factories.js +0 -1
  786. package/dist/domain/relations/composed-of.js +0 -1
  787. package/dist/domain/relations/indirect-relation.js +0 -1
  788. package/dist/domain/relations/reference-component.js +0 -1
  789. package/dist/domain/system-components/angle-indicator.js +0 -1
  790. package/dist/domain/system-components/attribute-switch.js +0 -1
  791. package/dist/domain/system-components/autorotate-camera-component.js +0 -1
  792. package/dist/domain/system-components/basic-sidebar-footer.js +0 -1
  793. package/dist/domain/system-components/camera-based-hidden-entity-object.js +0 -1
  794. package/dist/domain/system-components/camera-based-hidden-entity.js +0 -1
  795. package/dist/domain/system-components/canvas-config.js +0 -1
  796. package/dist/domain/system-components/canvas-custom-environment.js +0 -1
  797. package/dist/domain/system-components/canvas-padding.js +0 -1
  798. package/dist/domain/system-components/canvas-preset-environment.js +0 -1
  799. package/dist/domain/system-components/child-entity-recipe-hierarchy.js +0 -1
  800. package/dist/domain/system-components/client-side-image.js +0 -1
  801. package/dist/domain/system-components/color-value.js +0 -1
  802. package/dist/domain/system-components/common/angle-indicator-schema.js +0 -1
  803. package/dist/domain/system-components/common/dimension-indicator-schema.js +0 -1
  804. package/dist/domain/system-components/custom-price-footer.js +0 -1
  805. package/dist/domain/system-components/dimension-indicator.js +0 -1
  806. package/dist/domain/system-components/editable-angle-indicator.js +0 -1
  807. package/dist/domain/system-components/editable-distance-dimension-indicator.js +0 -1
  808. package/dist/domain/system-components/editable-offset-indicator.js +0 -1
  809. package/dist/domain/system-components/editable-size-indicator.js +0 -1
  810. package/dist/domain/system-components/entity-header.js +0 -1
  811. package/dist/domain/system-components/exit-tool-mode-fab.js +0 -1
  812. package/dist/domain/system-components/finalize-action.js +0 -1
  813. package/dist/domain/system-components/finalize-component.js +0 -1
  814. package/dist/domain/system-components/fit-selection-orthographic-camera-component.js +0 -1
  815. package/dist/domain/system-components/fit-selection-perspective-camera-component.js +0 -1
  816. package/dist/domain/system-components/fixed-header.js +0 -1
  817. package/dist/domain/system-components/floating-header.js +0 -1
  818. package/dist/domain/system-components/hidden-header.js +0 -1
  819. package/dist/domain/system-components/hidden-sidebar-footer.js +0 -1
  820. package/dist/domain/system-components/horizontal-tabs.js +0 -1
  821. package/dist/domain/system-components/list-selector-dimension-indicator.js +0 -1
  822. package/dist/domain/system-components/multilingual-text-value.js +0 -1
  823. package/dist/domain/system-components/navigation-steps.js +0 -1
  824. package/dist/domain/system-components/offset-anchors.js +0 -1
  825. package/dist/domain/system-components/offset-indicator.js +0 -1
  826. package/dist/domain/system-components/offset.js +0 -1
  827. package/dist/domain/system-components/other-action.js +0 -1
  828. package/dist/domain/system-components/property-page.js +0 -1
  829. package/dist/domain/system-components/read-sidebar-footer.js +0 -1
  830. package/dist/domain/system-components/replace-entity-recipe-hierarchy.js +0 -1
  831. package/dist/domain/system-components/rotatable.js +0 -1
  832. package/dist/domain/system-components/rotation-handle.js +0 -1
  833. package/dist/domain/system-components/save-template-thumbnail.js +0 -1
  834. package/dist/domain/system-components/scene-entity-add-fab.js +0 -1
  835. package/dist/domain/system-components/scene-entity-animation.js +0 -1
  836. package/dist/domain/system-components/scene-entity-control.js +0 -1
  837. package/dist/domain/system-components/scene-entity-delete-fab.js +0 -1
  838. package/dist/domain/system-components/scene-entity-floor-object.js +0 -1
  839. package/dist/domain/system-components/scene-entity-html-hotspot.js +0 -1
  840. package/dist/domain/system-components/scene-entity-navigation-hotspot.js +0 -1
  841. package/dist/domain/system-components/scene-entity-object-html-hotspot.js +0 -1
  842. package/dist/domain/system-components/scene-entity-select-hotspot.js +0 -1
  843. package/dist/domain/system-components/scene-entity-wall-object.js +0 -1
  844. package/dist/domain/system-components/selectable-component.js +0 -1
  845. package/dist/domain/system-components/sidebar-tabs.js +0 -1
  846. package/dist/domain/system-components/simple-summary.js +0 -1
  847. package/dist/domain/system-components/size.js +0 -1
  848. package/dist/domain/system-components/sketching-draw.js +0 -1
  849. package/dist/domain/system-components/sketching-edit.js +0 -1
  850. package/dist/domain/system-components/summary-component.js +0 -1
  851. package/dist/domain/system-components/text-value.js +0 -1
  852. package/dist/domain/system-components/tool-controls.js +0 -1
  853. package/dist/domain/system-components/tool-menu-fab.js +0 -1
  854. package/dist/domain/system-components/universal-sidebar-footer.js +0 -1
  855. package/dist/domain/system-components/view-controls.js +0 -1
  856. package/dist/phoenix/application-spec/generate-assistant-prompt.d.ts +0 -13
  857. package/dist/phoenix/application-spec/generate-assistant-prompt.js +0 -1
  858. /package/dist/domain/{components/component-reader-types.js → application/assistant/assistant-manifest.js} +0 -0
  859. /package/dist/domain/{core/action.js → application/assistant/assistant-resolved-manifest.js} +0 -0
  860. /package/dist/domain/{actions → core/action}/action-factory.js +0 -0
  861. /package/dist/domain/core/{enhanced-json-schema.js → action/action.js} +0 -0
  862. /package/dist/domain/core/{expression.js → component/component-reader-types.js} +0 -0
  863. /package/dist/domain/{components → core/component}/legacy-filter.js +0 -0
  864. /package/dist/domain/{components → core/component}/system-component-filter.js +0 -0
  865. /package/dist/domain/{components → core/component}/system-virtual-entity.d.ts +0 -0
  866. /package/dist/domain/{components → core/component}/updates.js +0 -0
  867. /package/dist/domain/core/{schema-validator.js → data-schema/data-cell-value.js} +0 -0
  868. /package/dist/domain/{relations/reference-field.js → core/data-schema/data-schema-array-field.js} +0 -0
  869. /package/dist/domain/{relations/relation-implementation.js → core/data-schema/data-schema-field-object.js} +0 -0
  870. /package/dist/domain/{invariants → core/invariant}/builtin-invariant.js +0 -0
  871. /package/dist/domain/{invariants → core/invariant}/violation-component.d.ts +0 -0
  872. /package/dist/domain/{invariants → core/invariant}/violation.js +0 -0
  873. /package/dist/domain/core/{alias.d.ts → model/alias.d.ts} +0 -0
  874. /package/dist/domain/core/{alias.js → model/alias.js} +0 -0
  875. /package/dist/domain/core/{common-definitions.d.ts → model/common-definitions.d.ts} +0 -0
  876. /package/dist/domain/core/{common-definitions.js → model/common-definitions.js} +0 -0
  877. /package/dist/domain/core/{component.js → model/component.js} +0 -0
  878. /package/dist/domain/core/{model.d.ts → model/model.d.ts} +0 -0
  879. /package/dist/domain/core/{model.js → model/model.js} +0 -0
  880. /package/dist/domain/core/{preset.d.ts → model/preset.d.ts} +0 -0
  881. /package/dist/domain/core/{preset.js → model/preset.js} +0 -0
  882. /package/dist/domain/{relations → core/relation}/direct-relation.js +0 -0
  883. /package/dist/domain/{relations → core/relation}/relation-factory.js +0 -0
  884. /package/dist/domain/core/{schema-validator-ajv.d.ts → schema/create-ajv-schema-validator.d.ts} +0 -0
  885. /package/dist/domain/core/{schema-validator-ajv.js → schema/create-ajv-schema-validator.js} +0 -0
  886. /package/dist/domain/core/{schema-validator-csp.d.ts → schema/create-csp-schema-validator.d.ts} +0 -0
  887. /package/dist/domain/core/{schema-validator-csp.js → schema/create-csp-schema-validator.js} +0 -0
  888. /package/dist/domain/core/{enhanced-json-schema.d.ts → schema/enhanced-json-schema.d.ts} +0 -0
  889. /package/dist/domain/core/{json-schema.d.ts → schema/extended-schema-validator.d.ts} +0 -0
  890. /package/dist/domain/core/{schema-validator.d.ts → schema/schema-validator.d.ts} +0 -0
  891. /package/dist/domain/core/{state.js → state/state.js} +0 -0
  892. /package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.js +0 -0
  893. /package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.js +0 -0
  894. /package/dist/domain/{system-components → extensions}/attribute-switch.d.ts +0 -0
  895. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.d.ts +0 -0
  896. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.d.ts +0 -0
  897. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.d.ts +0 -0
  898. /package/dist/domain/{system-components → extensions}/client-side-image.d.ts +0 -0
  899. /package/dist/domain/{system-components → extensions}/color-value.d.ts +0 -0
  900. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.d.ts +0 -0
  901. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.js +0 -0
  902. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.d.ts +0 -0
  903. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.js +0 -0
  904. /package/dist/domain/{system-components → extensions}/custom-price-footer.d.ts +0 -0
  905. /package/dist/domain/{system-components → extensions}/finalize-component.d.ts +0 -0
  906. /package/dist/domain/{system-components → extensions}/fit-selection-orthographic-camera-component.d.ts +0 -0
  907. /package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.d.ts +0 -0
  908. /package/dist/domain/{system-components → extensions}/multilingual-text-value.d.ts +0 -0
  909. /package/dist/domain/{system-components → extensions}/navigation-steps.d.ts +0 -0
  910. /package/dist/domain/{system-components → extensions}/rotatable.d.ts +0 -0
  911. /package/dist/domain/{system-components → extensions}/rotation-handle.d.ts +0 -0
  912. /package/dist/domain/{system-components → extensions}/save-template-thumbnail.d.ts +0 -0
  913. /package/dist/domain/{system-components → extensions}/scene-entity-animation.d.ts +0 -0
  914. /package/dist/domain/{system-components → extensions}/scene-entity-control.d.ts +0 -0
  915. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.d.ts +0 -0
  916. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.d.ts +0 -0
  917. /package/dist/domain/{system-components → extensions}/selectable-component.d.ts +0 -0
  918. /package/dist/domain/{system-components → extensions}/simple-summary.d.ts +0 -0
  919. /package/dist/domain/{system-components → extensions}/summary-component.d.ts +0 -0
  920. /package/dist/domain/{system-components → extensions}/text-value.d.ts +0 -0
  921. /package/dist/domain/{system-components → extensions}/tool-controls.d.ts +0 -0
  922. /package/dist/domain/{system-components → extensions}/view-controls.d.ts +0 -0
@@ -201,10 +201,10 @@ export interface paths {
201
201
  readonly path?: never
202
202
  readonly cookie?: never
203
203
  }
204
- /** @description Load the caller's latest assistant thread on the configuration with its active run, newest window first. The `x-assistant-thread-continuable` response header is `false` when the thread belongs to another deployment or is closed; a chat request then answers 409. */
204
+ /** @description Load the caller's latest assistant thread on the configuration with its active run, newest window first. The `x-assistant-thread-continuable` response header is `false` when the thread cannot be continued with this setup, has reached its size limit or is closed; a chat request then answers 409, and the thread continues once it is compacted. The `x-assistant-previous-thread` response header carries the id of the closed thread this one continues, when there is one. */
205
205
  readonly get: operations['getAssistantThread']
206
206
  readonly put?: never
207
- /** @description Run the experimental assistant on the caller's thread of the configuration, or replay the run when the request carries `Last-Event-ID`. Answers 409 when the thread cannot be continued from this deployment or another run is still answering, and 503 while the server shuts down; sent again, the message reaches another instance. Answers 403 unless the customer has the AI Assistant feature flag on. */
207
+ /** @description Run the experimental assistant on the caller's thread of the configuration, or replay the run when the request carries `Last-Event-ID`. Answers 409 when the thread cannot be continued or another run is still answering, and 503 while the server shuts down; sent again, the message reaches another instance. A 409 for a thread that cannot be continued, because it is closed, was started with another setup or has reached its size limit, carries the `x-assistant-thread-continuable: false` response header; the thread continues once it is compacted. Answers 403 unless the customer has the AI Assistant feature flag on. */
208
208
  readonly post: operations['assistantChat']
209
209
  readonly delete?: never
210
210
  readonly options?: never
@@ -212,6 +212,23 @@ export interface paths {
212
212
  readonly patch?: never
213
213
  readonly trace?: never
214
214
  }
215
+ readonly '/configurations/{configurationId}/assistant/chat/compact': {
216
+ readonly parameters: {
217
+ readonly query?: never
218
+ readonly header?: never
219
+ readonly path?: never
220
+ readonly cookie?: never
221
+ }
222
+ readonly get?: never
223
+ readonly put?: never
224
+ /** @description Compact the caller's latest assistant thread on the configuration, which cannot be continued as it is: the thread is summarized and closed, and a new, empty thread is opened that links to it and keeps the summary. Nothing is run; the next chat request runs on the new thread, with the summary in its system prompt. Answers 409 when there is no thread, the latest one can be continued as it is, or one of its runs is still running, and 502 when the summary could not be made; nothing is closed then and the request can be sent again. */
225
+ readonly post: operations['compactAssistantThread']
226
+ readonly delete?: never
227
+ readonly options?: never
228
+ readonly head?: never
229
+ readonly patch?: never
230
+ readonly trace?: never
231
+ }
215
232
  readonly '/configurations/{configurationId}/assistant/chat/runs': {
216
233
  readonly parameters: {
217
234
  readonly query?: never
@@ -246,6 +263,23 @@ export interface paths {
246
263
  readonly patch?: never
247
264
  readonly trace?: never
248
265
  }
266
+ readonly '/configurations/{configurationId}/assistant/chat/threads/{threadId}': {
267
+ readonly parameters: {
268
+ readonly query?: never
269
+ readonly header?: never
270
+ readonly path?: never
271
+ readonly cookie?: never
272
+ }
273
+ /** @description Load one of the caller's assistant threads on the configuration by the id a thread read named in `x-assistant-previous-thread`, newest window first. The response carries that header again when the thread itself continues an earlier one. Answers 404 for a thread that is not the caller's on this configuration. */
274
+ readonly get: operations['getAssistantEarlierThread']
275
+ readonly put?: never
276
+ readonly post?: never
277
+ readonly delete?: never
278
+ readonly options?: never
279
+ readonly head?: never
280
+ readonly patch?: never
281
+ readonly trace?: never
282
+ }
249
283
  readonly '/configurations/{configurationId}/chat': {
250
284
  readonly parameters: {
251
285
  readonly query?: never
@@ -993,6 +1027,12 @@ export interface paths {
993
1027
  export type webhooks = Record<string, never>
994
1028
  export interface components {
995
1029
  schemas: {
1030
+ /** @description The deployment webhook failed or returned invalid assistant setup. */
1031
+ readonly BadGatewayError: {
1032
+ readonly message: string
1033
+ /** @enum {number} */
1034
+ readonly statusCode: 502
1035
+ }
996
1036
  /** @description Bad Request: The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). */
997
1037
  readonly BadRequestError: {
998
1038
  /** @example Expected integer, received string! */
@@ -2443,6 +2483,15 @@ export interface operations {
2443
2483
  readonly 'application/json': components['schemas']['NotFoundError']
2444
2484
  }
2445
2485
  }
2486
+ /** @description Bad Gateway! */
2487
+ readonly 502: {
2488
+ headers: {
2489
+ readonly [name: string]: unknown
2490
+ }
2491
+ content: {
2492
+ readonly 'application/json': components['schemas']['BadGatewayError']
2493
+ }
2494
+ }
2446
2495
  /** @description An unexpected error occurred! */
2447
2496
  readonly default: {
2448
2497
  headers: {
@@ -2527,6 +2576,15 @@ export interface operations {
2527
2576
  readonly 'application/json': components['schemas']['ConflictError']
2528
2577
  }
2529
2578
  }
2579
+ /** @description Bad Gateway! */
2580
+ readonly 502: {
2581
+ headers: {
2582
+ readonly [name: string]: unknown
2583
+ }
2584
+ content: {
2585
+ readonly 'application/json': components['schemas']['BadGatewayError']
2586
+ }
2587
+ }
2530
2588
  /** @description Service Unavailable! */
2531
2589
  readonly 503: {
2532
2590
  headers: {
@@ -2547,6 +2605,97 @@ export interface operations {
2547
2605
  }
2548
2606
  }
2549
2607
  }
2608
+ readonly compactAssistantThread: {
2609
+ readonly parameters: {
2610
+ readonly query?: never
2611
+ readonly header?: never
2612
+ readonly path: {
2613
+ /** @description The configuration on which the caller's assistant thread is used. */
2614
+ readonly configurationId: components['schemas']['ConfigurationUuid']
2615
+ }
2616
+ readonly cookie?: never
2617
+ }
2618
+ readonly requestBody?: never
2619
+ readonly responses: {
2620
+ /** @description The thread was closed and its successor opened. */
2621
+ readonly 200: {
2622
+ headers: {
2623
+ readonly [name: string]: unknown
2624
+ }
2625
+ content: {
2626
+ readonly 'application/json': {
2627
+ /** @description The closed thread the new one continues. */
2628
+ readonly previousThreadId: string
2629
+ /** @description The new thread, which the next chat request runs on. */
2630
+ readonly threadId: string
2631
+ }
2632
+ }
2633
+ }
2634
+ /** @description Bad Request! */
2635
+ readonly 400: {
2636
+ headers: {
2637
+ readonly [name: string]: unknown
2638
+ }
2639
+ content: {
2640
+ readonly 'application/json': components['schemas']['BadRequestError']
2641
+ }
2642
+ }
2643
+ /** @description Unauthorized! */
2644
+ readonly 401: {
2645
+ headers: {
2646
+ readonly [name: string]: unknown
2647
+ }
2648
+ content: {
2649
+ readonly 'application/json': components['schemas']['UnauthorizedError']
2650
+ }
2651
+ }
2652
+ /** @description Forbidden! */
2653
+ readonly 403: {
2654
+ headers: {
2655
+ readonly [name: string]: unknown
2656
+ }
2657
+ content: {
2658
+ readonly 'application/json': components['schemas']['ForbiddenError']
2659
+ }
2660
+ }
2661
+ /** @description Not Found! */
2662
+ readonly 404: {
2663
+ headers: {
2664
+ readonly [name: string]: unknown
2665
+ }
2666
+ content: {
2667
+ readonly 'application/json': components['schemas']['NotFoundError']
2668
+ }
2669
+ }
2670
+ /** @description Conflict! */
2671
+ readonly 409: {
2672
+ headers: {
2673
+ readonly [name: string]: unknown
2674
+ }
2675
+ content: {
2676
+ readonly 'application/json': components['schemas']['ConflictError']
2677
+ }
2678
+ }
2679
+ /** @description Bad Gateway! */
2680
+ readonly 502: {
2681
+ headers: {
2682
+ readonly [name: string]: unknown
2683
+ }
2684
+ content: {
2685
+ readonly 'application/json': components['schemas']['BadGatewayError']
2686
+ }
2687
+ }
2688
+ /** @description An unexpected error occurred! */
2689
+ readonly default: {
2690
+ headers: {
2691
+ readonly [name: string]: unknown
2692
+ }
2693
+ content: {
2694
+ readonly 'application/json': components['schemas']['DefaultResponse']
2695
+ }
2696
+ }
2697
+ }
2698
+ }
2550
2699
  readonly replayAssistantRun: {
2551
2700
  readonly parameters: {
2552
2701
  readonly query: {
@@ -2699,6 +2848,92 @@ export interface operations {
2699
2848
  }
2700
2849
  }
2701
2850
  }
2851
+ readonly getAssistantEarlierThread: {
2852
+ readonly parameters: {
2853
+ readonly query?: {
2854
+ /** @description Cursor of the next older window. */
2855
+ readonly before?: string
2856
+ /** @description Newest window size of the thread; the whole thread when omitted. */
2857
+ readonly limit?: number
2858
+ }
2859
+ readonly header?: never
2860
+ readonly path: {
2861
+ /** @description The configuration on which the caller's assistant thread is used. */
2862
+ readonly configurationId: components['schemas']['ConfigurationUuid']
2863
+ /** @description The thread to read. */
2864
+ readonly threadId: string
2865
+ }
2866
+ readonly cookie?: never
2867
+ }
2868
+ readonly requestBody?: never
2869
+ readonly responses: {
2870
+ /** @description The thread transcript. */
2871
+ readonly 200: {
2872
+ headers: {
2873
+ readonly [name: string]: unknown
2874
+ }
2875
+ content: {
2876
+ readonly 'application/json': {
2877
+ readonly [key: string]: unknown
2878
+ }
2879
+ }
2880
+ }
2881
+ /** @description Bad Request! */
2882
+ readonly 400: {
2883
+ headers: {
2884
+ readonly [name: string]: unknown
2885
+ }
2886
+ content: {
2887
+ readonly 'application/json': components['schemas']['BadRequestError']
2888
+ }
2889
+ }
2890
+ /** @description Unauthorized! */
2891
+ readonly 401: {
2892
+ headers: {
2893
+ readonly [name: string]: unknown
2894
+ }
2895
+ content: {
2896
+ readonly 'application/json': components['schemas']['UnauthorizedError']
2897
+ }
2898
+ }
2899
+ /** @description Forbidden! */
2900
+ readonly 403: {
2901
+ headers: {
2902
+ readonly [name: string]: unknown
2903
+ }
2904
+ content: {
2905
+ readonly 'application/json': components['schemas']['ForbiddenError']
2906
+ }
2907
+ }
2908
+ /** @description Not Found! */
2909
+ readonly 404: {
2910
+ headers: {
2911
+ readonly [name: string]: unknown
2912
+ }
2913
+ content: {
2914
+ readonly 'application/json': components['schemas']['NotFoundError']
2915
+ }
2916
+ }
2917
+ /** @description Bad Gateway! */
2918
+ readonly 502: {
2919
+ headers: {
2920
+ readonly [name: string]: unknown
2921
+ }
2922
+ content: {
2923
+ readonly 'application/json': components['schemas']['BadGatewayError']
2924
+ }
2925
+ }
2926
+ /** @description An unexpected error occurred! */
2927
+ readonly default: {
2928
+ headers: {
2929
+ readonly [name: string]: unknown
2930
+ }
2931
+ content: {
2932
+ readonly 'application/json': components['schemas']['DefaultResponse']
2933
+ }
2934
+ }
2935
+ }
2936
+ }
2702
2937
  readonly getChatConversation: {
2703
2938
  readonly parameters: {
2704
2939
  readonly query?: never
@@ -5370,20 +5605,23 @@ export interface operations {
5370
5605
  readonly adminConfigurationSchema?: components['schemas']['ConfigurationSchema']
5371
5606
  /** @description Semantic version (x.y.z) of the deployed application. */
5372
5607
  readonly applicationVersion?: string
5373
- /** @description What the deployment registers for its experimental assistant: the GraphQL SDL of the application spec, the prompt the SDK generates for its version, the instructions of the integrator and the AI settings. A deployment prepared without it has no assistant. */
5374
- readonly assistant?: {
5375
- readonly ai: {
5376
- /** @enum {string} */
5377
- readonly model: 'frontier' | 'advanced' | 'balanced' | 'fast'
5378
- /** @enum {string} */
5379
- readonly provider: 'openai'
5380
- /** @enum {string} */
5381
- readonly reasoning: 'low' | 'medium' | 'high'
5382
- }
5383
- readonly instructions?: string
5384
- readonly prompt: string
5385
- readonly sdl: string
5386
- }
5608
+ /** @description Whether the deployment webhook provides assistant setup. Omitted or legacy object registrations disable the assistant; prepare with a current SDK to enable it. */
5609
+ readonly assistant?:
5610
+ | boolean
5611
+ | {
5612
+ readonly ai: {
5613
+ readonly maxThreadSize?: number
5614
+ /** @enum {string} */
5615
+ readonly model: 'frontier' | 'advanced' | 'balanced' | 'fast'
5616
+ /** @enum {string} */
5617
+ readonly provider: 'openai'
5618
+ /** @enum {string} */
5619
+ readonly reasoning: 'low' | 'medium' | 'high'
5620
+ }
5621
+ readonly instructions?: string
5622
+ readonly prompt: string
5623
+ readonly sdl: string
5624
+ }
5387
5625
  /** @description Configuration of the chat functionality. */
5388
5626
  readonly chat?: components['schemas']['ChatConfiguration']
5389
5627
  readonly configurationSchema: components['schemas']['ConfigurationSchema']
@@ -5590,20 +5828,23 @@ export interface operations {
5590
5828
  readonly adminConfigurationSchema?: components['schemas']['ConfigurationSchema']
5591
5829
  /** @description Semantic version (x.y.z) of the deployed application. */
5592
5830
  readonly applicationVersion?: string
5593
- /** @description What the deployment registers for its experimental assistant: the GraphQL SDL of the application spec, the prompt the SDK generates for its version, the instructions of the integrator and the AI settings. A deployment prepared without it has no assistant. */
5594
- readonly assistant?: {
5595
- readonly ai: {
5596
- /** @enum {string} */
5597
- readonly model: 'frontier' | 'advanced' | 'balanced' | 'fast'
5598
- /** @enum {string} */
5599
- readonly provider: 'openai'
5600
- /** @enum {string} */
5601
- readonly reasoning: 'low' | 'medium' | 'high'
5602
- }
5603
- readonly instructions?: string
5604
- readonly prompt: string
5605
- readonly sdl: string
5606
- }
5831
+ /** @description Whether the deployment webhook provides assistant setup. Omitted or legacy object registrations disable the assistant; prepare with a current SDK to enable it. */
5832
+ readonly assistant?:
5833
+ | boolean
5834
+ | {
5835
+ readonly ai: {
5836
+ readonly maxThreadSize?: number
5837
+ /** @enum {string} */
5838
+ readonly model: 'frontier' | 'advanced' | 'balanced' | 'fast'
5839
+ /** @enum {string} */
5840
+ readonly provider: 'openai'
5841
+ /** @enum {string} */
5842
+ readonly reasoning: 'low' | 'medium' | 'high'
5843
+ }
5844
+ readonly instructions?: string
5845
+ readonly prompt: string
5846
+ readonly sdl: string
5847
+ }
5607
5848
  /** @description Configuration of the chat functionality. */
5608
5849
  readonly chat?: components['schemas']['ChatConfiguration']
5609
5850
  readonly configurationSchema: components['schemas']['ConfigurationSchema']
@@ -1,7 +1,7 @@
1
1
  import type { AnyClientTool } from '@tanstack/ai';
2
2
  import { type UIMessage } from '@tanstack/ai-client';
3
3
  import { type ObservableWithLastValue } from '@salsita-ai/common/utils';
4
- import type { AuthorizedPhoenixApiClient } from '#package/client';
4
+ import { type AuthorizedPhoenixApiClient } from '#package/client';
5
5
  import type { DomainContextSelectors, DomainServicesSelectors, InitializableSystem, SpecSelectors } from '#package/domain';
6
6
  import type { ConfiguratorExtensionSelectors } from '../../selectors.js';
7
7
  /** A tool of the assistant that the model calls and the browser runs, as the chat client accepts it. */
@@ -39,6 +39,25 @@ export interface AssistantChatSnapshot {
39
39
  readonly isContinuable: boolean;
40
40
  /** False until the first request of the chat, the thread read, was answered or failed. */
41
41
  readonly isLoaded: boolean;
42
+ /**
43
+ * True while a thread this session may not continue is being continued in a new one, which the
44
+ * user's next message starts; see {@link AssistantSystem.resume}.
45
+ */
46
+ readonly isResuming: boolean;
47
+ /**
48
+ * The closed threads the painted thread continues, oldest first: the ones that were resumed while
49
+ * the chat was open, and the ones loaded with {@link AssistantSystem.loadEarlierThread}.
50
+ */
51
+ readonly earlierThreads: ReadonlyArray<AssistantEarlierThreadSnapshot>;
52
+ /** True when the server holds a thread older than the oldest painted one. */
53
+ readonly hasEarlierThread: boolean;
54
+ /** True while that older thread is being loaded. */
55
+ readonly isLoadingEarlierThread: boolean;
56
+ }
57
+ /** A closed thread of the conversation as the panel paints it above the thread that continues it. */
58
+ export interface AssistantEarlierThreadSnapshot {
59
+ readonly threadId: string;
60
+ readonly messages: ReadonlyArray<UIMessage>;
42
61
  }
43
62
  /**
44
63
  * The built-in assistant panel as a layout and the toolbar button see it: whether it is open, and
@@ -77,6 +96,32 @@ export declare class AssistantSystem implements InitializableSystem {
77
96
  * background. Each leaves the set when its reply ends or when a new chat takes its thread over.
78
97
  */
79
98
  private readonly _finishing;
99
+ /**
100
+ * The thread before the oldest painted one, as the server named it; nothing when the painted
101
+ * threads start the conversation. `hasEarlierThread` of the chat says whether it is set.
102
+ */
103
+ private _olderThreadId;
104
+ /** The resume that is running, so two sends that find the thread locked share one. */
105
+ private _resuming;
106
+ /**
107
+ * The message the server refused on a chat because its thread cannot be continued, by where it
108
+ * starts in the chat's messages: it is painted, but it is not part of the thread, so a resume
109
+ * leaves it out of the closed thread it paints above the new one.
110
+ */
111
+ private _refused;
112
+ /**
113
+ * The chat a message is being sent on for the first time. When the server refuses that message
114
+ * because the thread cannot be continued, the refusal is not a failure of the chat: the thread is
115
+ * resumed and the message is sent again; see `send`.
116
+ */
117
+ private _firstAttempt;
118
+ /**
119
+ * Identity of the chain of threads that is painted. A resumed chat keeps it, because its new
120
+ * thread continues the same chain; any other new chat starts another one.
121
+ */
122
+ private _chain;
123
+ /** The earlier thread that is being loaded, so a second press loads nothing twice. */
124
+ private _loadingThreadId;
80
125
  private readonly _recorder;
81
126
  /** The recorder's subscription to the committed emissions of the store; made by the first `initialize()`. */
82
127
  private _recording;
@@ -118,7 +163,7 @@ export declare class AssistantSystem implements InitializableSystem {
118
163
  * not interrupted, so an `apply` that has started may still commit. The background reply keeps
119
164
  * the configuration and the authorized client it started with.
120
165
  *
121
- * The background reply ends early when a new chat starts for the same configuration, which is
166
+ * The background reply is disconnected when a new chat starts for the same configuration, which is
122
167
  * what opening the configuration again does: see `_takeOverThread`.
123
168
  */
124
169
  activate: () => (() => void);
@@ -126,8 +171,49 @@ export declare class AssistantSystem implements InitializableSystem {
126
171
  * Sends a user message with the record of what changed in the configuration since the agent last
127
172
  * acted, which the server puts in front of the message for the model. The record is taken only
128
173
  * when there is a chat to send it on, because taking it moves its baseline.
174
+ *
175
+ * A thread can end in a tool call that nothing will answer: its reply parked while no page was
176
+ * open, or the page that ran the tool was left before the result was sent. The client refuses to
177
+ * send while it waits on such a call, so the wait is given up first, and the server records for
178
+ * the model that the call got no result.
179
+ *
180
+ * A thread this session may not continue is resumed first, in a new thread; see `resume`. When
181
+ * that fails the message is not sent.
182
+ *
183
+ * The chat can be out of date about that: the thread reached its size limit with the reply before
184
+ * this message, or the assistant's setup changed while the configurator stayed open. The server
185
+ * then refuses the message and says that the thread cannot be continued. The message stays
186
+ * painted while the thread is resumed, and is then sent again on the new thread, with the change
187
+ * record it was first sent with. This happens once: a refusal of the second attempt is the
188
+ * failure it is. When resuming fails, the message is left as any message that failed to send:
189
+ * painted, with the failure as the error of the chat.
190
+ *
191
+ * Accepted: when the server refuses the compaction itself with a conflict, because another tab
192
+ * compacted the thread or a run is still running, the thread is read again (see `resume`) and
193
+ * the refused message is gone without a notice. It takes two tabs or a run racing the send, and
194
+ * the user writes the message again, as after any reload of a thread that failed.
195
+ *
196
+ * It never rejects: a message the client could not send is reported as the error of the chat.
129
197
  */
130
198
  send: (content: string) => Promise<void>;
199
+ /**
200
+ * Makes the chat ready for the next message. A thread the server no longer lets this session
201
+ * continue, because the assistant's setup changed since it was started or the thread reached
202
+ * its size limit, is compacted there: the
203
+ * server closes it and opens a thread that starts from its summary. The messages painted so far
204
+ * move to `earlierThreads`, and a new client takes the new thread over.
205
+ *
206
+ * Resolves to whether a message can be sent now: at once for a thread that can continue, and
207
+ * `false` when there is no chat or the compaction failed, which is reported as the error of the
208
+ * chat. It never rejects. Calling it again runs the compaction again. A compaction the server
209
+ * refuses with a conflict is not a failure: the thread is read again and `false` is returned.
210
+ */
211
+ resume: () => Promise<boolean>;
212
+ /**
213
+ * Loads the thread before the oldest painted one and paints it above. Does nothing when there is
214
+ * none or one is being loaded. A load that fails is logged and can be asked for again.
215
+ */
216
+ loadEarlierThread: () => Promise<void>;
131
217
  /**
132
218
  * Stops the reply on both sides. Closing the stream alone keeps the server run going, because a
133
219
  * closed connection is also how a reload looks and a reload must be able to rejoin the run.
@@ -141,6 +227,14 @@ export declare class AssistantSystem implements InitializableSystem {
141
227
  reloadThread: () => void;
142
228
  setOpen: (open: boolean) => void;
143
229
  setInputFocused: (isInputFocused: boolean) => void;
230
+ /**
231
+ * Where the message starts that is being sent on the chat for the first time and that the server
232
+ * refused because its thread cannot be continued, so it never reached the thread; `-1` when there
233
+ * is no such message. A refused continuation of a reply is not one: its message is stored.
234
+ */
235
+ private _findRefusedMessageIndex;
236
+ private _sendOn;
237
+ private _resume;
144
238
  private _committedState;
145
239
  private _patchPanel;
146
240
  /**
@@ -152,9 +246,14 @@ export declare class AssistantSystem implements InitializableSystem {
152
246
  * and the new one for real, and both would send the result back, of which the server accepts one.
153
247
  * The model could be told that nothing was run about a change that was made.
154
248
  *
155
- * Stopping a client only closes its stream in the browser. Nothing is cancelled on the server, so
156
- * the run goes on there and the new chat rejoins it. A chat that finishes a reply for another
157
- * configuration is on another thread and is left alone.
249
+ * Stopping a client closes its stream in the browser and cancels nothing on the server: a run that
250
+ * is still producing goes on there and the new chat rejoins it. The stopped client also drops the
251
+ * result of a tool call that is still running in it, and any continuation it has not sent yet. Such
252
+ * a call still finishes, so an `apply` may commit, but the server never gets its result: the run is
253
+ * parked on the call with nothing running for the new chat to rejoin, and the thread waits on it
254
+ * until the user's next message gives the wait up; see `send`.
255
+ *
256
+ * A chat that finishes a reply for another configuration is on another thread and is left alone.
158
257
  */
159
258
  private _takeOverThread;
160
259
  private _startClient;
@@ -1 +1 @@
1
- import{ChatClient as t,fetchServerSentEvents as e}from"@tanstack/ai-client";import{BehaviorSubject as i}from"rxjs";import{skip as s}from"rxjs/operators";import{isShallowEqual as a}from"@salsita-ai/common/utils";import{createBrowserDetailsClientTool as n}from"./browser-details.js";import{ChangeRecorder as r}from"./change-recorder.js";import{createApplyClientTool as o,createQueryClientTool as c}from"./graphql-tools.js";let l=Object.freeze({messages:Object.freeze([]),isLoading:!1,error:void 0,failedStatus:void 0,isContinuable:!0,isLoaded:!1}),h=Object.freeze({open:!1,hasUnreadReply:!1,isInputFocused:!1}),d=Object.freeze({}),u=Object.freeze({results:Object.freeze([]),committed:!1,sideEffects:Object.freeze([]),message:"Nothing was run, because the user closed the configurator while this reply was being written. Do not call any more tools in this reply and end it now. The tools work again as soon as the user writes the next message."}),_=t=>{if(t.getError())return!0;let e=t.getMessages().at(-1)?.parts.at(-1);return e?.type!=="tool-call"&&e?.type!=="tool-result"};export class AssistantSystem{_context;_tools;_chat=new i(l);_panel=new i(h);_activation=null;_current=null;_finishing=new Set;_recorder;_recording=null;constructor(t){this._context=t;let{configuratorExtensionSelectors:e,domainContextSelectors:i,domainServicesSelectors:s,specSelectors:a}=t;this._recorder=new r({maxEntities:30},{readers:{selectedEntityId:t=>i.getNavigationSystem().getActiveSelectionState(t),navigationState:t=>i.getNavigationSystem().getActiveNavigationState(t),viewState:t=>i.getNavigationSystem().getActiveViewState(t),toolState:t=>i.getNavigationSystem().getActiveToolState(t)},getExposedFields:()=>a.getAssistant()?.fields??d,resolveLocalizable:t=>s.getResolveLocalizable()(t)});let l={getGraphQLSystem:()=>e.getGraphQLSystem(),getStoreSystem:()=>i.getStoreSystem(),getActiveMode:()=>i.getActiveMode(),clearChanges:()=>this._recorder.clear(this._committedState())};this._tools=[n(),c(l),o(l)]}chat$=this._chat;panel$=this._panel;initialize=()=>{let{committed:t}=this._context.domainContextSelectors.getStoreSystem().stateSlices;this._recording??=t.pipe(s(1)).subscribe(this._recorder.record),this._recorder.reset(t.value.state),this._endChat(),this._patchPanel(h),this._activation&&this._startClient()};activate=()=>{this._endChat();let t={};return this._activation=t,this._startClient(),()=>{this._activation===t&&(this._activation=null,this._endChat())}};send=async t=>{let e=this._current;if(!e)return;let i={changes:this._recorder.take(this._committedState())};await e.client.sendMessage({content:t,metadata:i})};stop=async()=>{let t=this._current;if(!t)return;let e=t.client.getCurrentRunId();if(t.client.stop(),null!=e)try{let i=t.getConnection();await fetch(`${i.url}/runs/${encodeURIComponent(e)}/cancel`,{method:"POST",headers:await i.headers()})}catch(t){this._context.domainServicesSelectors.getLogger().warn("Could not cancel the assistant run on the server",{error:t})}};reloadThread=()=>{if(!this._activation)return;let t=this._retireChat();t?.client.stop(),t?.dispose(),this._recorder.reset(this._committedState()),this._startClient()};setOpen=t=>{this._patchPanel(t?{open:t,hasUnreadReply:!1}:{open:t,isInputFocused:!1})};setInputFocused=t=>{this._patchPanel({isInputFocused:t})};_committedState=()=>this._context.domainContextSelectors.getStoreSystem().stateSlices.committed.value.state;_patchPanel=t=>{let e={...this._panel.value,...t};a(e,this._panel.value)||this._panel.next(e)};_takeOverThread=t=>{for(let e of this._finishing)e.configurationId===t&&(e.client.stop(),e.dispose())};_startClient=()=>{let i={active:!0},s=this._context.getConfigurationId();this._takeOverThread(s);let n=this._context.getAuthorizedClient(),r=()=>n.getAssistantChatConnection(s),o=t=>{if(!i.active)return;let e={...this._chat.value,...t};a(e,this._chat.value)||this._chat.next(e)},c=async(t,e)=>{let i=await fetch(t,e).finally(()=>o({isLoaded:!0})),s=i.headers.get("x-assistant-thread-continuable");return o({failedStatus:i.ok?void 0:i.status,...null!=s&&{isContinuable:"false"!==s}}),i},l=async()=>({headers:await r().headers(),fetchClient:c}),h=e(()=>r().url,l),d=e(()=>`${r().url}/runs`,l),g=this._tools.map(t=>({...t,execute:(e,s)=>i.active?t.execute?.(e,s):u})),p=new t({threadId:`assistant:${s}`,connection:{...h,joinRun:d.joinRun},persistence:!0,history:{pageSize:50},tools:g,onMessagesChange:t=>o({messages:t}),onLoadingChange:t=>{let e=i.active&&this._chat.value.isLoading;o({isLoading:t}),!t&&_(p)&&(i.active?e&&!this._panel.value.open&&this._patchPanel({hasUnreadReply:!0}):v())},onErrorChange:t=>{i.active&&t!==this._chat.value.error&&(o({error:t}),t&&this._context.domainServicesSelectors.getLogger().error("The assistant request failed",{status:this._chat.value.failedStatus},t))}}),m=!1,v=()=>{m||(m=!0,this._finishing.delete(f),p.dispose())},f={client:p,configurationId:s,generation:i,getConnection:r,dispose:v};this._current=f,p.attach()};_retireChat=()=>{let t=this._current;return this._current=null,t&&(t.generation.active=!1),this._chat.value!==l&&this._chat.next(l),t};_endChat=()=>{let t=this._retireChat();if(t){if(!t.client.getIsLoading()&&_(t.client))return void t.dispose();this._finishing.add(t)}}}
1
+ import{ChatClient as e,fetchServerSentEvents as t}from"@tanstack/ai-client";import{BehaviorSubject as i}from"rxjs";import{skip as s}from"rxjs/operators";import{isShallowEqual as a}from"@salsita-ai/common/utils";import{AssistantRequestError as r}from"#package/client";import{createBrowserDetailsClientTool as n}from"./browser-details.js";import{ChangeRecorder as h}from"./change-recorder.js";import{createApplyClientTool as o,createQueryClientTool as l}from"./graphql-tools.js";let c=Object.freeze({messages:Object.freeze([]),isLoading:!1,error:void 0,failedStatus:void 0,isContinuable:!0,isLoaded:!1,isResuming:!1,earlierThreads:Object.freeze([]),hasEarlierThread:!1,isLoadingEarlierThread:!1}),d=Object.freeze({open:!1,hasUnreadReply:!1,isInputFocused:!1}),u=Object.freeze({}),_=Object.freeze({results:Object.freeze([]),committed:!1,sideEffects:Object.freeze([]),message:"Nothing was run, because the user closed the configurator while this reply was being written. Do not call any more tools in this reply and end it now. The tools work again as soon as the user writes the next message."}),g=e=>{if(e.getError())return!0;let t=e.getMessages().at(-1)?.parts.at(-1);return t?.type!=="tool-call"&&t?.type!=="tool-result"};export class AssistantSystem{_context;_tools;_chat=new i(c);_panel=new i(d);_activation=null;_current=null;_finishing=new Set;_olderThreadId=null;_resuming=null;_refused=null;_firstAttempt=null;_chain={};_loadingThreadId=null;_recorder;_recording=null;constructor(e){this._context=e;let{configuratorExtensionSelectors:t,domainContextSelectors:i,domainServicesSelectors:s,specSelectors:a}=e;this._recorder=new h({maxEntities:30},{readers:{selectedEntityId:e=>i.getNavigationSystem().getActiveSelectionState(e),navigationState:e=>i.getNavigationSystem().getActiveNavigationState(e),viewState:e=>i.getNavigationSystem().getActiveViewState(e),toolState:e=>i.getNavigationSystem().getActiveToolState(e)},getExposedFields:()=>a.getAssistant()?.fields??u,resolveLocalizable:e=>s.getResolveLocalizable()(e)});let r={getGraphQLSystem:()=>t.getGraphQLSystem(),getStoreSystem:()=>i.getStoreSystem(),getActiveMode:()=>i.getActiveMode(),clearChanges:()=>this._recorder.clear(this._committedState())};this._tools=[n(),l(r),o(r)]}chat$=this._chat;panel$=this._panel;initialize=()=>{let{committed:e}=this._context.domainContextSelectors.getStoreSystem().stateSlices;this._recording??=e.pipe(s(1)).subscribe(this._recorder.record),this._recorder.reset(e.value.state),this._endChat(),this._patchPanel(d),this._activation&&this._startClient()};activate=()=>{this._endChat();let e={};return this._activation=e,this._startClient(),()=>{this._activation===e&&(this._activation=null,this._endChat())}};send=async e=>{if(!this._chat.value.isContinuable&&!await this.resume())return;let t=this._current;if(!t)return;let i={changes:this._recorder.take(this._committedState())};this._firstAttempt=t;try{await this._sendOn(t,e,i);let s=this._findRefusedMessageIndex(t);if(-1===s)return;this._refused={chat:t,index:s}}finally{this._firstAttempt===t&&(this._firstAttempt=null)}if(!await this.resume())return;let s=this._current;s&&await this._sendOn(s,e,i)};resume=async()=>{let e=this._current;if(!e)return!1;if(this._chat.value.isContinuable)return!0;if(this._resuming)return this._resuming;let t=this._resume(e).finally(()=>{this._resuming===t&&(this._resuming=null)});return this._resuming=t,t};loadEarlierThread=async()=>{let e=this._current,t=this._olderThreadId;if(!e||null===t||this._loadingThreadId===t)return;let i=this._chain;this._loadingThreadId=t,this._chat.next({...this._chat.value,isLoadingEarlierThread:!0});try{let s=await e.authorizedClient.getAssistantEarlierThread(e.configurationId,t,50);if(this._chain!==i||this._olderThreadId!==t)return;this._olderThreadId=s.previousThreadId,this._chat.next({...this._chat.value,earlierThreads:[{threadId:t,messages:s.messages},...this._chat.value.earlierThreads],hasEarlierThread:null!==s.previousThreadId})}catch(e){this._context.domainServicesSelectors.getLogger().warn("Could not load the earlier assistant conversation",{error:e})}finally{this._chain===i&&this._loadingThreadId===t&&(this._loadingThreadId=null,this._chat.next({...this._chat.value,isLoadingEarlierThread:!1}))}};stop=async()=>{let e=this._current;if(!e)return;let t=e.client.getCurrentRunId();if(e.client.stop(),null!=t)try{let i=e.getConnection();await fetch(`${i.url}/runs/${encodeURIComponent(t)}/cancel`,{method:"POST",headers:await i.headers()})}catch(e){this._context.domainServicesSelectors.getLogger().warn("Could not cancel the assistant run on the server",{error:e})}};reloadThread=()=>{if(!this._activation)return;let e=this._retireChat();e?.client.stop(),e?.dispose(),this._recorder.reset(this._committedState()),this._startClient()};setOpen=e=>{this._patchPanel(e?{open:e,hasUnreadReply:!1}:{open:e,isInputFocused:!1})};setInputFocused=e=>{this._patchPanel({isInputFocused:e})};_findRefusedMessageIndex=e=>{var t;let i,{failedStatus:s,isContinuable:a}=this._chat.value;return this._firstAttempt===e&&e.generation.active&&409===s&&!a?(i=(t=e.client.getMessages()).map(e=>e.role).lastIndexOf("user"),t.slice(i+1).every(e=>0===e.parts.length)?i:-1):-1};_sendOn=async(e,t,i)=>{let{client:s}=e;s.getIsLoading()||null===s.getResumeState()||s.stop();try{await s.sendMessage({content:t,metadata:i})}catch(i){let t=i instanceof Error?i:Error(String(i));e.generation.active&&this._chat.next({...this._chat.value,error:t}),this._context.domainServicesSelectors.getLogger().error("The assistant message could not be sent",{},t)}};_resume=async e=>{this._chat.next({...this._chat.value,isResuming:!0,error:void 0,failedStatus:void 0});try{let{previousThreadId:t}=await e.authorizedClient.compactAssistantThread(e.configurationId);if(!e.generation.active)return!1;let{messages:i,earlierThreads:s,hasEarlierThread:a}=this._chat.value,r=this._refused?.chat===e?i.slice(0,this._refused.index):i;return e.generation.active=!1,this._current=null,e.client.stop(),e.dispose(),this._chat.next({...c,earlierThreads:[...s,{threadId:t,messages:r}],hasEarlierThread:a,isLoadingEarlierThread:null!==this._loadingThreadId}),this._startClient(),!0}catch(i){let t=i instanceof Error?i:Error(String(i));if(t instanceof r&&409===t.status)return e.generation.active&&this.reloadThread(),!1;return e.generation.active&&this._chat.next({...this._chat.value,isResuming:!1,error:t,failedStatus:t instanceof r?t.status:void 0}),this._context.domainServicesSelectors.getLogger().error("The assistant thread could not be resumed",{},t),!1}};_committedState=()=>this._context.domainContextSelectors.getStoreSystem().stateSlices.committed.value.state;_patchPanel=e=>{let t={...this._panel.value,...e};a(t,this._panel.value)||this._panel.next(t)};_takeOverThread=e=>{for(let t of this._finishing)t.configurationId===e&&(t.client.stop(),t.dispose())};_startClient=()=>{let i={active:!0},s=this._context.getConfigurationId();this._takeOverThread(s);let r=this._context.getAuthorizedClient(),n=()=>r.getAssistantChatConnection(s),h=e=>{if(!i.active)return;let t={...this._chat.value,...e};a(t,this._chat.value)||this._chat.next(t)},o=async(e,t)=>{let s=await fetch(e,t).finally(()=>h({isLoaded:!0})),a=s.headers.get("x-assistant-thread-continuable");return null!=a&&s.ok&&i.active&&0===this._chat.value.earlierThreads.length&&(this._olderThreadId=s.headers.get("x-assistant-previous-thread")),h({failedStatus:s.ok?void 0:s.status,...null!=a&&{isContinuable:"false"!==a,hasEarlierThread:null!==this._olderThreadId}}),s},l=async()=>({headers:await n().headers(),fetchClient:o}),c=t(()=>n().url,l),d=t(()=>`${n().url}/runs`,l),u=this._tools.map(e=>({...e,execute:(t,s)=>i.active?e.execute?.(t,s):_})),m=new e({threadId:`assistant:${s}`,connection:{...c,joinRun:d.joinRun},persistence:!0,history:{pageSize:50},tools:u,onMessagesChange:e=>h({messages:e}),onLoadingChange:e=>{let t=i.active&&this._chat.value.isLoading;h({isLoading:e}),!e&&g(m)&&(i.active?t&&!this._panel.value.open&&this._patchPanel({hasUnreadReply:!0}):v())},onErrorChange:e=>{i.active&&e!==this._chat.value.error&&(!e||-1===this._findRefusedMessageIndex(p))&&(h({error:e}),e&&this._context.domainServicesSelectors.getLogger().error("The assistant request failed",{status:this._chat.value.failedStatus},e))}}),f=!1,v=()=>{f||(f=!0,this._finishing.delete(p),m.dispose())},p={client:m,configurationId:s,generation:i,authorizedClient:r,getConnection:n,dispose:v};this._current=p,m.attach()};_retireChat=()=>{let e=this._current;return this._current=null,e&&(e.generation.active=!1),this._chain={},this._olderThreadId=null,this._resuming=null,this._refused=null,this._loadingThreadId=null,this._chat.value!==c&&this._chat.next(c),e};_endChat=()=>{let e=this._retireChat();if(e){if(!e.client.getIsLoading()&&g(e.client))return void e.dispose();this._finishing.add(e)}}}
@@ -1 +1 @@
1
- import{findAssistantFieldOptions as e,findAssistantRecipeGroups as t,modifyEntityUpdateTag as i,prepareAssistantRecipeUpdates as r,readAssistantFieldOptions as n,readAssistantRecipeGroup as s,systemUpdateFactory as a}from"#package/domain";import{readSideEffects as o}from"./side-effects.js";let d=e=>({ok:!1,root:null,changedEntities:[],deletedEntityIds:[],sideEffects:[],errors:e}),l=(e,{state:t},{recipes:i,prepareStateEmission:r,find$Entity:n})=>{let{validity:s,state:a,updates:l}=r(e,t,"committed");if(s.valid){let e=new Map(t.entities.map(e=>[e.id,e])),r=new Set(a.entities.map(e=>e.id));return{ok:!0,root:n(a.rootEntityId,a),changedEntities:a.entities.filter(t=>e.get(t.id)!==t).flatMap(e=>n(e.id,a)??[]),deletedEntityIds:t.entities.map(e=>e.id).filter(e=>!r.has(e)),sideEffects:o(l,i.resolveLocalizable),errors:[]}}return d("uncaught"===s.severity?[{type:"uncaught",entityId:null,message:s.error.message}]:s.entityViolations.filter(({violation:e})=>e.severity===s.severity).map(({entityId:e,violation:t})=>({type:t.type,entityId:e,message:void 0===t.message?null:i.resolveLocalizable(t.message)})))};export const createEntityMeta=(o,c)=>{let p=e=>()=>t(c.manifest,e,o.entity.type).flatMap(t=>{let i=s(e,t,o.entity.id,o.state,c.recipes);return i?[((e,t,i)=>{let{group:n,label:s,description:a,recipes:o}=e,{resolveLocalizable:c}=i.recipes;return{groupId:n.groupId,name:void 0===s?n.instanceName:c(s),description:n.description??(void 0===a?null:c(a)),recipes:o.map(n=>((e,t,i,n)=>{let{key:s,item:a}=e,{resolveLocalizable:o}=n.recipes;return{key:s,name:o(a.title),description:void 0===a.description?null:o(a.description),imageUrl:void 0===a.thumbnailUrl?null:o(a.thumbnailUrl),dryRun:()=>t.group.dryRuns?((e,t,i,n)=>{let{updates:s,error:a}=((e,t,{entity:i,state:n},{recipes:s})=>{try{return{updates:r(e,t,i.id,n,s),error:void 0}}catch(e){if("child"===t.target.kind)throw e;return{updates:void 0,error:e instanceof Error?e.message:String(e)}}})(e,t,i,n);return void 0===s?d([{type:"uncaught",entityId:null,message:a}]):l(s,i,n)})(e,t,i,n):null}})(n,e,t,i))}})(i,o,c)]:[]});return{...Object.fromEntries(e(c.manifest,o.entity.type).map(e=>[e.edgeName,()=>n(e,o.entity.id,o.state,c.recipes)?.map(t=>({...t,dryRun:()=>e.dryRuns?(({field:e},{value:t},r,n)=>{let{entity:s}=r,o=Object.entries(Object.entries(n.manifest.writableFields??{}).find(([e])=>e===s.type)?.[1]??{}).find(([t])=>t===e)?.[1];if(void 0===o)throw Error(`The options of "${e}" on "${s.id}" cannot be dry-run: the schema lists them, but the configurator has no writable field "${e}" on ${s.type}. Regenerate the application so the schema matches the configurator.`);let c=r.state.entities.find(e=>e.id===s.id),p={[o]:t},u=c?n.validateEntity({...c,...p}):{success:!0};return u.success?l([a.DomainEntityModification({entityId:s.id,stateDelta:p,updateTag:i})],r,n):d([{type:"uncaught",entityId:s.id,message:`Writing ${JSON.stringify(t)} to "${e}" would make "${s.id}" an invalid ${s.type}: ${u.errors.join("; ")}.${e===o?"":` The message names the stored property: ${e} is stored as ${o}.`} The option comes from the configurator and cannot be corrected from here, so do not write it.`}])})(e,t,o,c):null}))??null])),childRecipes:p("child"),replaceRecipes:p("replace")}};
1
+ import{findAssistantFieldOptions as e,findAssistantRecipeGroups as t,modifyEntityUpdateTag as i,prepareAssistantRecipeUpdates as r,readAssistantFieldOptions as n,readAssistantRecipeGroup as o,systemUpdateFactory as s}from"#package/domain";import{readSideEffects as a}from"./side-effects.js";let d=e=>({ok:!1,root:null,changedEntities:[],deletedEntityIds:[],sideEffects:[],errors:e}),l=(e,{state:t},{recipes:i,prepareStateEmission:r,find$Entity:n})=>{let{validity:o,state:s,updates:l}=r(e,t,"committed");if(o.valid){let e=new Map(t.entities.map(e=>[e.id,e])),r=new Set(s.entities.map(e=>e.id));return{ok:!0,root:n(s.rootEntityId,s),changedEntities:s.entities.filter(t=>e.get(t.id)!==t).flatMap(e=>n(e.id,s)??[]),deletedEntityIds:t.entities.map(e=>e.id).filter(e=>!r.has(e)),sideEffects:a(l,i.resolveLocalizable),errors:[]}}return d("uncaught"===o.severity?[{type:"uncaught",entityId:null,message:o.error.message}]:o.entityViolations.filter(({violation:e})=>e.severity===o.severity).map(({entityId:e,violation:t})=>({type:t.type,entityId:e,message:void 0===t.message?null:i.resolveLocalizable(t.message)})))};export const createEntityMeta=(a,u)=>{let c=e=>()=>t(u.manifest,e,a.entity.type).flatMap(t=>{let i=o(e,t,a.entity.id,a.state,u.recipes);return i?[((e,t,i)=>{let{group:n,label:o,description:s,recipes:a}=e,{resolveLocalizable:u}=i.recipes;return{groupId:n.groupId,name:void 0===o?n.instanceName:u(o),description:n.description??(void 0===s?null:u(s)),recipes:a.map(n=>((e,t,i,n)=>{let{key:o,item:s}=e,{resolveLocalizable:a}=n.recipes;return{key:o,name:a(s.title),description:void 0===s.description?null:a(s.description),imageUrl:void 0===s.thumbnailUrl?null:a(s.thumbnailUrl),dryRun:()=>t.group.dryRuns?((e,t,i,n)=>{let{updates:o,error:s}=((e,t,{entity:i,state:n},{recipes:o})=>{try{return{updates:r(e,t,i.id,n,o),error:void 0}}catch(e){if("child"===t.target.kind)throw e;return{updates:void 0,error:e instanceof Error?e.message:String(e)}}})(e,t,i,n);return void 0===o?d([{type:"uncaught",entityId:null,message:s}]):l(o,i,n)})(e,t,i,n):null}})(n,e,t,i))}})(i,a,u)]:[]});return{...Object.fromEntries(e(u.manifest,a.entity.type).map(e=>[e.edgeName,()=>n(e,a.entity.id,a.state,u.recipes)?.map(t=>({...t,dryRun:()=>e.dryRuns?(({field:e},{value:t},r,n)=>{let{entity:o}=r,a=Object.entries(Object.entries(n.manifest.writableFields??{}).find(([e])=>e===o.type)?.[1]??{}).find(([t])=>t===e)?.[1];if(void 0===a)throw Error(`The options of "${e}" on "${o.id}" cannot be dry-run: the schema lists them, but the configurator has no writable field "${e}" on ${o.type}. This is a fault in the configurator, not in your request. Tell the user this is not available.`);let u=r.state.entities.find(e=>e.id===o.id);if(!u)throw Error(`The options of "${e}" on "${o.id}" cannot be dry-run: entity "${o.id}" does not exist. It may have been deleted by an earlier operation or field. Query the current entities and use an id they return.`);let c={[a]:t},p=n.validateEntity({...u,...c});return p.success?l([s.DomainEntityModification({entityId:o.id,stateDelta:c,updateTag:i})],r,n):d([{type:"uncaught",entityId:o.id,message:`Writing ${JSON.stringify(t)} to "${e}" would make "${o.id}" an invalid ${o.type}: ${p.errors.join("; ")}. The option comes from the configurator and cannot be corrected from here, so do not write it.`}])})(e,t,a,u):null}))??null])),childRecipes:c("child"),replaceRecipes:c("replace")}};