@endge/core 1.2.9 → 1.2.11

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 (273) hide show
  1. package/ReadMe.md +0 -21
  2. package/dist/core.cjs +300 -288
  3. package/dist/core.js +79723 -84427
  4. package/dist/domain/entities/diagnostics/DiagnosticsRecordStore.d.ts +1 -1
  5. package/dist/domain/entities/diagnostics/DiagnosticsSpan.d.ts +1 -1
  6. package/dist/domain/entities/endge/EndgeFederation.d.ts +4 -2
  7. package/dist/domain/entities/reflect/RAuthProfile.d.ts +0 -1
  8. package/dist/domain/entities/reflect/RComponentSFC.d.ts +1 -1
  9. package/dist/domain/entities/reflect/RComputation.d.ts +1 -2
  10. package/dist/domain/entities/reflect/RConverter.d.ts +1 -1
  11. package/dist/domain/entities/reflect/REntity.d.ts +1 -1
  12. package/dist/domain/entities/reflect/REnvironment.d.ts +1 -1
  13. package/dist/domain/entities/reflect/RFilter.d.ts +0 -1
  14. package/dist/domain/entities/reflect/RFolder.d.ts +1 -3
  15. package/dist/domain/entities/reflect/RI18nBundle.d.ts +2 -3
  16. package/dist/domain/entities/reflect/RIntegration.d.ts +1 -1
  17. package/dist/domain/entities/reflect/RMock.d.ts +3 -5
  18. package/dist/domain/entities/reflect/RNavigation.d.ts +1 -1
  19. package/dist/domain/entities/reflect/RPage.d.ts +1 -1
  20. package/dist/domain/entities/reflect/RPageTemplate.d.ts +1 -1
  21. package/dist/domain/entities/reflect/RParameter.d.ts +0 -1
  22. package/dist/domain/entities/reflect/RProject.d.ts +4 -5
  23. package/dist/domain/entities/reflect/RStyle.d.ts +0 -1
  24. package/dist/domain/entities/reflect/RTenant.d.ts +1 -1
  25. package/dist/domain/entities/reflect/RVersion.d.ts +3 -4
  26. package/dist/domain/entities/reflect/RVocabs.d.ts +2 -3
  27. package/dist/domain/entities/reflect/RWorkspace.d.ts +1 -2
  28. package/dist/domain/entities/runtime/ComponentSFCEventBoundary.d.ts +12 -4
  29. package/dist/domain/entities/runtime/RuntimeHostBase.d.ts +3 -4
  30. package/dist/domain/entities/runtime/RuntimeHostRegistry.d.ts +8 -4
  31. package/dist/domain/entities/runtime/RuntimeScopeRegistry.d.ts +1 -1
  32. package/dist/domain/entities/runtime/hosts/ComponentSFCRuntimeHost.d.ts +25 -3
  33. package/dist/domain/entities/runtime/hosts/CompositionRuntimeHost.d.ts +2 -0
  34. package/dist/domain/entities/runtime/hosts/FilterRuntimeHost.d.ts +1 -2
  35. package/dist/domain/entities/runtime/hosts/QueryRuntimeHost.d.ts +5 -1
  36. package/dist/domain/types/auth/auth-profile.types.d.ts +69 -13
  37. package/dist/domain/types/auth/auth-runtime.types.d.ts +35 -0
  38. package/dist/domain/types/component/component-core.types.d.ts +2 -0
  39. package/dist/domain/types/component/sfc/ir.types.d.ts +70 -3
  40. package/dist/domain/types/component/sfc/ports.types.d.ts +21 -2
  41. package/dist/domain/types/component/sfc/visual-projection.types.d.ts +57 -1
  42. package/dist/domain/types/configuration/configuration.type.d.ts +3 -9
  43. package/dist/domain/types/document/document-create.type.d.ts +2 -2
  44. package/dist/domain/types/document/domain-export.type.d.ts +42 -9
  45. package/dist/domain/types/document/domain-provider.type.d.ts +59 -0
  46. package/dist/domain/types/document/domain-snapshot.type.d.ts +37 -0
  47. package/dist/domain/types/document/query.types.d.ts +3 -10
  48. package/dist/domain/types/document/workspace.types.d.ts +1 -1
  49. package/dist/domain/types/kernel/bootstrap.types.d.ts +19 -12
  50. package/dist/domain/types/kernel/events.types.d.ts +14 -0
  51. package/dist/domain/types/kernel/federation.types.d.ts +0 -1
  52. package/dist/domain/types/program/program.types.d.ts +8 -4
  53. package/dist/domain/types/runtime/action.types.d.ts +12 -0
  54. package/dist/domain/types/runtime/context-persistence.types.d.ts +12 -0
  55. package/dist/domain/types/runtime/execution-context.types.d.ts +20 -0
  56. package/dist/domain/types/runtime/runtime-host.types.d.ts +21 -1
  57. package/dist/domain/types/runtime/runtime-registry.types.d.ts +7 -5
  58. package/dist/domain/types/runtime/sfc-render-inspection.type.d.ts +1 -1
  59. package/dist/domain/types/source/composition-source.types.d.ts +40 -2
  60. package/dist/domain/types/source/store-source.types.d.ts +1 -1
  61. package/dist/main.d.ts +126 -85
  62. package/dist/model/adapters/diagnostics/ConsoleDiagnosticsAdapter.d.ts +2 -1
  63. package/dist/model/adapters/diagnostics/DiagnosticsAdapterRegistry.d.ts +2 -1
  64. package/dist/model/adapters/diagnostics/SentryDiagnosticsAdapter.d.ts +2 -1
  65. package/dist/model/adapters/diagnostics/SentryDiagnosticsAdapter.types.d.ts +1 -1
  66. package/dist/model/config/{diagnostics.d.ts → diagnostics.config.d.ts} +1 -1
  67. package/dist/model/config/domain.config.d.ts +6 -0
  68. package/dist/model/config/kernel.config.d.ts +44 -0
  69. package/dist/model/config/{endge-modules.d.ts → modules.config.d.ts} +1 -0
  70. package/dist/model/config/{ui-composition-defaults.d.ts → ui-composition.config.d.ts} +1 -0
  71. package/dist/model/{endge/kernel → kernel}/endge.d.ts +52 -53
  72. package/dist/model/{endge → modules}/context/endge-configuration.d.ts +2 -2
  73. package/dist/model/{endge → modules}/context/endge-context.d.ts +13 -34
  74. package/dist/model/{endge → modules}/context/endge-vars.d.ts +1 -2
  75. package/dist/model/{endge → modules}/context/endge-workspace.d.ts +2 -2
  76. package/dist/model/{endge → modules}/diagnostics/endge-diagnostics.d.ts +3 -2
  77. package/dist/model/{endge → modules}/diagnostics/endge-problems.d.ts +1 -1
  78. package/dist/model/{endge → modules}/diagnostics/endge-telemetry.d.ts +2 -1
  79. package/dist/model/modules/domain/endge-domain-repository.d.ts +60 -0
  80. package/dist/model/{endge → modules}/domain/endge-domain.d.ts +10 -25
  81. package/dist/model/{endge → modules}/domain/resolved/resolved-entity-index.d.ts +2 -2
  82. package/dist/model/{endge/kernel → modules/events}/endge-events.d.ts +1 -2
  83. package/dist/model/{endge → modules}/mock/EndgeMock.d.ts +1 -1
  84. package/dist/model/{endge → modules}/program/endge-compiler.d.ts +2 -0
  85. package/dist/model/{endge → modules}/runtime/core/endge-bind.d.ts +1 -1
  86. package/dist/model/{endge → modules}/runtime/core/endge-runtime.d.ts +11 -6
  87. package/dist/model/{endge → modules}/runtime/execution/computation/ComputationGraphExecutor.d.ts +2 -1
  88. package/dist/model/{endge → modules}/runtime/execution/computation/ComputationResource.d.ts +2 -2
  89. package/dist/model/{endge → modules}/runtime/execution/computation/ComputationResourceRegistry.d.ts +1 -1
  90. package/dist/model/{endge → modules}/runtime/execution/computation/EndgeComputation.d.ts +2 -1
  91. package/dist/model/{endge → modules}/runtime/execution/endge-composition.d.ts +2 -1
  92. package/dist/model/{endge → modules}/runtime/execution/endge-query.d.ts +2 -1
  93. package/dist/model/{endge → modules}/runtime/input/endge-sse.d.ts +1 -10
  94. package/dist/model/modules/security/auth/AuthAdapterRegistry.d.ts +13 -0
  95. package/dist/model/modules/security/auth/AuthProfileRegistry.d.ts +32 -0
  96. package/dist/model/modules/security/auth/AuthRequestResolver.d.ts +11 -0
  97. package/dist/model/modules/security/auth/AuthSessionManager.d.ts +63 -0
  98. package/dist/model/modules/security/auth/AuthSessionStore.d.ts +20 -0
  99. package/dist/model/modules/security/auth/adapters/BearerAuthAdapter.d.ts +10 -0
  100. package/dist/model/modules/security/auth/adapters/KeycloakAuthAdapter.d.ts +25 -0
  101. package/dist/model/modules/security/endge-auth.d.ts +29 -0
  102. package/dist/model/{endge → modules}/ui/endge-styles.d.ts +1 -1
  103. package/dist/model/{endge → modules}/ui/registry/UIAdapterRegistry.d.ts +2 -0
  104. package/dist/model/services/auth/KeycloakAuthClient.d.ts +19 -15
  105. package/dist/model/services/compiler/component-sfc/component-sfc-built-in-tags.d.ts +1 -1
  106. package/dist/model/services/compiler/component-sfc/component-sfc-compile.d.ts +7 -1
  107. package/dist/model/services/compiler/component-sfc/component-sfc-dependencies.d.ts +2 -1
  108. package/dist/model/services/compiler/component-sfc/component-sfc-expression.d.ts +1 -1
  109. package/dist/model/services/compiler/component-sfc/component-sfc-forward.d.ts +2 -1
  110. package/dist/model/services/compiler/component-sfc/component-sfc-parse.d.ts +2 -1
  111. package/dist/model/services/compiler/component-sfc/component-sfc-ports.d.ts +2 -1
  112. package/dist/model/services/compiler/component-sfc/component-sfc-script.d.ts +2 -1
  113. package/dist/model/services/compiler/component-sfc/component-sfc-source-parts.d.ts +1 -1
  114. package/dist/model/services/compiler/component-sfc/component-sfc-style.d.ts +2 -1
  115. package/dist/model/services/compiler/component-sfc/component-sfc-table-menu.d.ts +9 -10
  116. package/dist/model/services/compiler/component-sfc/component-sfc-table-pin.d.ts +1 -1
  117. package/dist/model/services/compiler/component-sfc/component-sfc-table-sort.d.ts +1 -1
  118. package/dist/model/services/compiler/component-sfc/component-sfc-table-visibility.d.ts +2 -1
  119. package/dist/model/services/compiler/component-sfc/component-sfc-template.d.ts +7 -3
  120. package/dist/model/services/compiler/computation/computation-compile.d.ts +1 -1
  121. package/dist/model/services/configuration/endge-configuration.d.ts +1 -1
  122. package/dist/model/services/document/domain-provider.d.ts +10 -0
  123. package/dist/model/services/document/endge-service-document-serializer.d.ts +5 -0
  124. package/dist/model/services/source-engine/component-sfc/component-sfc-metadata-source-patch.d.ts +1 -1
  125. package/dist/model/services/source-engine/component-sfc/component-sfc-ports-source-patch.d.ts +1 -1
  126. package/dist/model/services/source-engine/component-sfc/component-sfc-props-source-patch.d.ts +2 -1
  127. package/dist/model/services/source-engine/component-sfc/component-sfc-table-source-patch.d.ts +1 -1
  128. package/dist/model/services/source-engine/component-sfc/component-sfc-visual-projection.d.ts +1 -1
  129. package/dist/model/services/source-engine/migrations/query-source-v1-migration.d.ts +17 -0
  130. package/dist/model/services/source-engine/source-document-reference.d.ts +5 -1
  131. package/dist/model/services/source-engine/strategies/CompositionSourceLanguageStrategy.d.ts +1 -0
  132. package/dist/model/services/source-engine/strategies/ComputationSourceLanguageStrategy.d.ts +1 -0
  133. package/dist/model/services/source-engine/strategies/DataViewSourceLanguageStrategy.d.ts +1 -0
  134. package/dist/model/services/source-engine/strategies/FilterSourceLanguageStrategy.d.ts +1 -0
  135. package/dist/model/services/source-engine/strategies/QuerySourceLanguageStrategy.d.ts +1 -0
  136. package/dist/model/services/source-engine/strategies/StoreSourceLanguageStrategy.d.ts +1 -0
  137. package/dist/model/services/source-engine/strategies/TypeSourceLanguageStrategy.d.ts +1 -9
  138. package/dist/model/services/style/endgecss-compile.d.ts +1 -1
  139. package/dist/model/services/style/endgecss-match.d.ts +1 -1
  140. package/dist/test/security/auth-session-manager.test.d.ts +1 -0
  141. package/dist/test/security/auth-session-store.test.d.ts +1 -0
  142. package/dist/test/security/auth-sse.test.d.ts +1 -0
  143. package/dist/test/security/auth-test-helpers.d.ts +13 -0
  144. package/package.json +14 -15
  145. package/dist/domain/types/auth/auth.types.d.ts +0 -78
  146. package/dist/domain/types/auth/index.d.ts +0 -2
  147. package/dist/domain/types/component/index.d.ts +0 -3
  148. package/dist/domain/types/component/sfc/index.d.ts +0 -14
  149. package/dist/domain/types/computation/index.d.ts +0 -1
  150. package/dist/domain/types/configuration/index.d.ts +0 -1
  151. package/dist/domain/types/diagnostics/index.d.ts +0 -2
  152. package/dist/domain/types/document/index.d.ts +0 -11
  153. package/dist/domain/types/document/schema.types.d.ts +0 -108
  154. package/dist/domain/types/flow/index.d.ts +0 -4
  155. package/dist/domain/types/kernel/index.d.ts +0 -4
  156. package/dist/domain/types/mock/index.d.ts +0 -1
  157. package/dist/domain/types/program/index.d.ts +0 -2
  158. package/dist/domain/types/runtime/index.d.ts +0 -17
  159. package/dist/domain/types/source/index.d.ts +0 -10
  160. package/dist/domain/types/style/index.d.ts +0 -1
  161. package/dist/domain/types/ui/index.d.ts +0 -6
  162. package/dist/model/adapters/diagnostics/index.d.ts +0 -4
  163. package/dist/model/config/compiler.d.ts +0 -11
  164. package/dist/model/config/computation.d.ts +0 -3
  165. package/dist/model/config/endge-workspace.d.ts +0 -9
  166. package/dist/model/config/events.d.ts +0 -16
  167. package/dist/model/config/index.d.ts +0 -7
  168. package/dist/model/config/mock-providers.d.ts +0 -3
  169. package/dist/model/config/persistance_config.d.ts +0 -6
  170. package/dist/model/config/storage_config.d.ts +0 -4
  171. package/dist/model/db/repositories/Actions_Repository.d.ts +0 -34
  172. package/dist/model/db/repositories/AuthProfiles_Repository.d.ts +0 -28
  173. package/dist/model/db/repositories/ComponentSFCs_Repository.d.ts +0 -31
  174. package/dist/model/db/repositories/Components_Repository.d.ts +0 -64
  175. package/dist/model/db/repositories/Compositions_Repository.d.ts +0 -30
  176. package/dist/model/db/repositories/Computations_Repository.d.ts +0 -28
  177. package/dist/model/db/repositories/Converters_Repository.d.ts +0 -49
  178. package/dist/model/db/repositories/DataViews_Repository.d.ts +0 -30
  179. package/dist/model/db/repositories/Environments_Repository.d.ts +0 -48
  180. package/dist/model/db/repositories/Filters_Repository.d.ts +0 -61
  181. package/dist/model/db/repositories/Folders_Repository.d.ts +0 -36
  182. package/dist/model/db/repositories/I18nBundles_Repository.d.ts +0 -51
  183. package/dist/model/db/repositories/Integrations_Repository.d.ts +0 -42
  184. package/dist/model/db/repositories/Mocks_Repository.d.ts +0 -39
  185. package/dist/model/db/repositories/Navigations_Repository.d.ts +0 -41
  186. package/dist/model/db/repositories/PageTemplates_Repository.d.ts +0 -62
  187. package/dist/model/db/repositories/Pages_Repository.d.ts +0 -95
  188. package/dist/model/db/repositories/Parameters_Repository.d.ts +0 -60
  189. package/dist/model/db/repositories/Policies_Repository.d.ts +0 -39
  190. package/dist/model/db/repositories/Projects_Repository.d.ts +0 -38
  191. package/dist/model/db/repositories/Queries_Repository.d.ts +0 -32
  192. package/dist/model/db/repositories/Stores_Repository.d.ts +0 -27
  193. package/dist/model/db/repositories/Streams_Repository.d.ts +0 -27
  194. package/dist/model/db/repositories/Styles_Repository.d.ts +0 -34
  195. package/dist/model/db/repositories/Tenants_Repository.d.ts +0 -47
  196. package/dist/model/db/repositories/Types_Repository.d.ts +0 -55
  197. package/dist/model/db/repositories/Updates_Repository.d.ts +0 -26
  198. package/dist/model/db/repositories/Versions_Repository.d.ts +0 -15
  199. package/dist/model/db/repositories/Vocabs_Repository.d.ts +0 -67
  200. package/dist/model/db/repositories/Workspaces_Repository.d.ts +0 -24
  201. package/dist/model/db/repositories/payload-api.d.ts +0 -10
  202. package/dist/model/db/schema-database/BaseSchemaRepositoriy.d.ts +0 -19
  203. package/dist/model/db/schema-database/PayloadSchemaAdapter.d.ts +0 -34
  204. package/dist/model/db/schema-database/SchemaStorageAdapter.d.ts +0 -40
  205. package/dist/model/endge/context/index.d.ts +0 -8
  206. package/dist/model/endge/diagnostics/index.d.ts +0 -4
  207. package/dist/model/endge/domain/index.d.ts +0 -2
  208. package/dist/model/endge/kernel/index.d.ts +0 -2
  209. package/dist/model/endge/program/index.d.ts +0 -3
  210. package/dist/model/endge/runtime/core/index.d.ts +0 -4
  211. package/dist/model/endge/runtime/execution/index.d.ts +0 -3
  212. package/dist/model/endge/runtime/flow/index.d.ts +0 -2
  213. package/dist/model/endge/runtime/index.d.ts +0 -4
  214. package/dist/model/endge/runtime/input/index.d.ts +0 -1
  215. package/dist/model/endge/schema/endge-schema-database.d.ts +0 -268
  216. package/dist/model/endge/schema/index.d.ts +0 -1
  217. package/dist/model/endge/security/endge-auth-profiles.d.ts +0 -70
  218. package/dist/model/endge/security/endge-auth.d.ts +0 -143
  219. package/dist/model/endge/security/index.d.ts +0 -2
  220. package/dist/model/endge/ui/index.d.ts +0 -4
  221. package/dist/model/services/auth/AuthTokenService.d.ts +0 -25
  222. package/dist/model/services/configuration/index.d.ts +0 -1
  223. package/dist/model/services/style/index.d.ts +0 -2
  224. /package/dist/model/{endge → modules}/context/endge-i18n.d.ts +0 -0
  225. /package/dist/model/{endge → modules}/context/persistence/EndgeStorageAdapterRegistry.d.ts +0 -0
  226. /package/dist/model/{endge → modules}/context/persistence/RuntimeStateController.d.ts +0 -0
  227. /package/dist/model/{endge → modules}/context/persistence/adapters/DisabledContextAdapter.d.ts +0 -0
  228. /package/dist/model/{endge → modules}/context/persistence/adapters/LocalStorageContextAdapter.d.ts +0 -0
  229. /package/dist/model/{endge → modules}/diagnostics/endge-runtime-debugger.d.ts +0 -0
  230. /package/dist/model/{endge → modules}/domain/endge-types.d.ts +0 -0
  231. /package/dist/model/{endge → modules}/domain/endge-vocabs.d.ts +0 -0
  232. /package/dist/model/{endge → modules}/program/endge-program.d.ts +0 -0
  233. /package/dist/model/{endge → modules}/program/endge-source.d.ts +0 -0
  234. /package/dist/model/{endge → modules}/runtime/core/endge-actions.d.ts +0 -0
  235. /package/dist/model/{endge → modules}/runtime/core/endge-updates.d.ts +0 -0
  236. /package/dist/model/{endge → modules}/runtime/execution/endge-computation.d.ts +0 -0
  237. /package/dist/model/{endge → modules}/runtime/execution/endge-data-view.d.ts +0 -0
  238. /package/dist/model/{endge → modules}/runtime/execution/endge-project.d.ts +0 -0
  239. /package/dist/model/{endge → modules}/runtime/flow/endge-flow-registry.d.ts +0 -0
  240. /package/dist/model/{endge → modules}/runtime/flow/endge-flow.d.ts +0 -0
  241. /package/dist/model/{endge → modules}/runtime/implementation/endge-implementations.d.ts +0 -0
  242. /package/dist/model/{endge → modules}/runtime/implementation/implementation-binding-registry.d.ts +0 -0
  243. /package/dist/model/{endge → modules}/runtime/implementation/implementation-provider-registry.d.ts +0 -0
  244. /package/dist/model/{endge → modules}/ui/endge-ui-registry.d.ts +0 -0
  245. /package/dist/model/{endge → modules}/ui/endge-ui.d.ts +0 -0
  246. /package/dist/test/{model/db/repositories/types-repository.test.d.ts → domain/entities/runtime/runtime-memory-lifecycle.test.d.ts} +0 -0
  247. /package/dist/test/model/{endge → modules}/context/endge-context.test.d.ts +0 -0
  248. /package/dist/test/model/{endge → modules}/context/endge-workspace.test.d.ts +0 -0
  249. /package/dist/test/model/{endge → modules}/context/workspace-variables.test.d.ts +0 -0
  250. /package/dist/test/model/{endge → modules}/domain/endge-domain-export.test.d.ts +0 -0
  251. /package/dist/test/model/{endge/domain/type-identity-index.test.d.ts → modules/domain/service-backend-snapshot.test.d.ts} +0 -0
  252. /package/dist/test/model/{endge/mock/EndgeMock.test.d.ts → modules/domain/type-identity-index.test.d.ts} +0 -0
  253. /package/dist/test/model/{endge/program/endge-compiler-component-tags.test.d.ts → modules/mock/EndgeMock.test.d.ts} +0 -0
  254. /package/dist/test/model/{endge/program/endge-compiler-composition.test.d.ts → modules/program/endge-compiler-component-tags.test.d.ts} +0 -0
  255. /package/dist/test/model/{endge/program/endge-compiler-computation.test.d.ts → modules/program/endge-compiler-composition.test.d.ts} +0 -0
  256. /package/dist/test/model/{endge/program/endge-compiler-metadata.test.d.ts → modules/program/endge-compiler-computation.test.d.ts} +0 -0
  257. /package/dist/test/model/{endge/program/endge-compiler-ports.test.d.ts → modules/program/endge-compiler-metadata.test.d.ts} +0 -0
  258. /package/dist/test/model/{endge/program/endge-compiler-query-auth.test.d.ts → modules/program/endge-compiler-ports.test.d.ts} +0 -0
  259. /package/dist/test/model/{endge/program/endge-compiler-store-mock.test.d.ts → modules/program/endge-compiler-query-auth.test.d.ts} +0 -0
  260. /package/dist/test/model/{endge/program/endge-compiler-type.test.d.ts → modules/program/endge-compiler-store-mock.test.d.ts} +0 -0
  261. /package/dist/test/model/{endge/program/endge-program.test.d.ts → modules/program/endge-compiler-type.test.d.ts} +0 -0
  262. /package/dist/test/model/{endge/program/endge-source.test.d.ts → modules/program/endge-program.test.d.ts} +0 -0
  263. /package/dist/test/model/{endge/runtime/computation-resource.test.d.ts → modules/program/endge-source.test.d.ts} +0 -0
  264. /package/dist/test/model/{endge/runtime/computation-source-preview.test.d.ts → modules/runtime/computation-resource.test.d.ts} +0 -0
  265. /package/dist/test/model/{endge/runtime/endge-project.test.d.ts → modules/runtime/computation-source-preview.test.d.ts} +0 -0
  266. /package/dist/test/model/{endge/runtime/execution/endge-data-view-converter.test.d.ts → modules/runtime/endge-project.test.d.ts} +0 -0
  267. /package/dist/test/model/{endge/runtime/execution/endge-data-view.test.d.ts → modules/runtime/execution/endge-data-view-converter.test.d.ts} +0 -0
  268. /package/dist/test/model/{endge/schema/component-sfc-payload.test.d.ts → modules/runtime/execution/endge-data-view.test.d.ts} +0 -0
  269. /package/dist/test/model/{endge/schema/computation-payload.test.d.ts → services/compiler/component-sfc/component-sfc-editable.test.d.ts} +0 -0
  270. /package/dist/test/model/{endge/schema/document-create.test.d.ts → services/compiler/type/type-program-validation.test.d.ts} +0 -0
  271. /package/dist/test/model/{endge/schema/endge-schema-workspace.test.d.ts → services/source-engine/composition-component-events.test.d.ts} +0 -0
  272. /package/dist/test/model/{endge/schema/style-payload.test.d.ts → services/source-engine/query-source-v1-migration.test.d.ts} +0 -0
  273. /package/dist/test/{model/endge/schema/type-payload.test.d.ts → security/auth-adapters-and-profiles.test.d.ts} +0 -0
@@ -1,5 +1,6 @@
1
- export type AuthProfileAdapterId = 'keycloak_manual' | 'keycloak_form' | 'manual_token';
1
+ export type AuthProfileAdapterId = 'keycloak' | 'bearer' | (string & {});
2
2
  export type AuthProfilePersist = 'localStorage' | 'sessionStorage' | 'memory';
3
+ export type AuthLoginMode = 'interactive' | 'service';
3
4
  export interface AuthProfileConfig {
4
5
  [key: string]: unknown;
5
6
  }
@@ -21,14 +22,41 @@ export interface AuthProfileSchema {
21
22
  deletedAt?: string | null;
22
23
  meta?: Record<string, unknown>;
23
24
  }
24
- export interface AuthSession {
25
+ export interface AuthTokenSet {
26
+ accessToken: string;
27
+ refreshToken?: string;
28
+ idToken?: string;
29
+ sessionState?: string;
30
+ accessExpiresAt: number | null;
31
+ refreshExpiresAt?: number | null;
32
+ }
33
+ export interface AuthResolvedSession {
34
+ profileIdentity: string | null;
25
35
  accessToken?: string;
26
- headers?: Record<string, string>;
27
- expiresAt?: number | null;
28
- subject?: string | null;
29
- sessionId?: string | null;
30
- claims?: Record<string, unknown>;
31
- raw?: unknown;
36
+ headers: Record<string, string>;
37
+ expiresAt: number | null;
38
+ subject?: string;
39
+ sessionId?: string;
40
+ }
41
+ export type AuthRequestPolicy = {
42
+ mode: 'none';
43
+ } | {
44
+ mode: 'inherit';
45
+ } | {
46
+ mode: 'profile';
47
+ profileIdentity: string;
48
+ };
49
+ export interface AuthResolveOptions {
50
+ forceRefresh?: boolean;
51
+ }
52
+ export interface AuthLoginCredentials {
53
+ username: string;
54
+ password: string;
55
+ }
56
+ export interface AuthEnsureOptions {
57
+ forceRefresh?: boolean;
58
+ /** Запрещает первичный auto-login service-профиля, сохраняя restore и refresh. */
59
+ allowServiceLogin?: boolean;
32
60
  }
33
61
  /** Минимальный синхронный auth context без tokens и полного claims payload. */
34
62
  export interface EndgeAuthContext {
@@ -37,14 +65,42 @@ export interface EndgeAuthContext {
37
65
  sessionId?: string;
38
66
  profileIdentity?: string;
39
67
  }
40
- export interface AuthProfileAdapterContext {
68
+ export interface AuthCredentialResolveInput {
69
+ ref: string;
70
+ profileIdentity: string;
71
+ credential: string;
72
+ signal?: AbortSignal;
73
+ }
74
+ export type EndgeAuthCredentialResolver = (input: AuthCredentialResolveInput) => string | undefined | Promise<string | undefined>;
75
+ export interface EndgeAuthBootOptions {
76
+ resolveCredential?: EndgeAuthCredentialResolver;
77
+ /** Host-owned namespace isolates persisted sessions of identical Workspaces across backends. */
78
+ storageNamespace?: string;
79
+ }
80
+ export interface AuthAdapterContext {
41
81
  profile: AuthProfileSchema;
42
- manualToken?: string;
43
82
  credentials?: Record<string, string>;
83
+ token?: AuthTokenSet;
84
+ signal?: AbortSignal;
85
+ resolveCredential: (credential: string) => Promise<string>;
44
86
  }
87
+ /** Контракт расширяемого auth adapter. Storage и application state остаются в EndgeAuth. */
45
88
  export interface AuthProfileAdapter {
46
- id: AuthProfileAdapterId | string;
89
+ id: AuthProfileAdapterId;
47
90
  label: string;
48
- resolve(ctx: AuthProfileAdapterContext): Promise<AuthSession>;
49
- logout?(ctx: AuthProfileAdapterContext): Promise<void>;
91
+ validate(profile: AuthProfileSchema): void;
92
+ authenticate(context: AuthAdapterContext): Promise<AuthTokenSet>;
93
+ refresh?(context: AuthAdapterContext): Promise<AuthTokenSet>;
94
+ logout?(context: AuthAdapterContext): Promise<void>;
95
+ loadUserInfo?(context: AuthAdapterContext): Promise<Record<string, unknown> | null>;
96
+ }
97
+ export interface AuthProfileTestOptions {
98
+ credentials?: Record<string, string>;
99
+ }
100
+ export interface AuthProfileTestResult {
101
+ authenticated: boolean;
102
+ profileIdentity: string;
103
+ expiresAt: number | null;
104
+ context: EndgeAuthContext;
105
+ userInfo: Record<string, unknown> | null;
50
106
  }
@@ -0,0 +1,35 @@
1
+ import { AuthProfileAdapterId, AuthTokenSet } from './auth-profile.types';
2
+ export interface AuthSessionSnapshot {
3
+ version: 1;
4
+ profileIdentity: string;
5
+ adapterId: AuthProfileAdapterId;
6
+ token: AuthTokenSet;
7
+ updatedAt: string;
8
+ }
9
+ export interface AuthSessionState {
10
+ token: AuthTokenSet;
11
+ userInfo: Record<string, unknown> | null;
12
+ }
13
+ export interface KeycloakTokenResponse {
14
+ access_token: string;
15
+ expires_in?: number;
16
+ refresh_expires_in?: number;
17
+ refresh_token?: string;
18
+ token_type?: string;
19
+ id_token?: string;
20
+ session_state?: string;
21
+ scope?: string;
22
+ }
23
+ export interface KeycloakTransportConfig {
24
+ baseUrl: string;
25
+ tokenPath: string;
26
+ logoutPath: string;
27
+ userinfoPath: string;
28
+ }
29
+ export interface KeycloakAuthTransport {
30
+ passwordGrant(payload: Record<string, string>, signal?: AbortSignal): Promise<KeycloakTokenResponse>;
31
+ refreshGrant(payload: Record<string, string>, signal?: AbortSignal): Promise<KeycloakTokenResponse>;
32
+ logout(payload: Record<string, string>, signal?: AbortSignal): Promise<void>;
33
+ getUserInfo(accessToken: string, signal?: AbortSignal): Promise<Record<string, unknown>>;
34
+ }
35
+ export type KeycloakAuthTransportFactory = (config: KeycloakTransportConfig) => KeycloakAuthTransport;
@@ -76,6 +76,8 @@ export interface RComponentDependencies {
76
76
  computations: RComputationRef[];
77
77
  /** Действия, которые вызываются из handlers или bindings. */
78
78
  actions: string[];
79
+ /** Query, которые запускаются из локальных Event reactions. */
80
+ queries: string[];
79
81
  /** Источники данных, которые компонент читает напрямую. */
80
82
  dataSources: string[];
81
83
  /** Внешние render/capability ссылки. */
@@ -1,6 +1,7 @@
1
1
  import { RComponentSFC_SourceRange } from './location.types';
2
- import { ComponentSFCEventAction, ComponentSFCPortManifest, RComponentSFC_IR_ComponentPortMarker, RComponentSFC_IR_PortCall } from './ports.types';
3
- import { EndgeStyleSheetArtifact } from '../../style';
2
+ import { RComponentDiagnostic } from '../component-core.types';
3
+ import { ComponentSFCEventAction, ComponentSFCPortForwardOrigin, ComponentSFCPortManifest, RComponentSFC_IR_ComponentPortMarker, RComponentSFC_IR_PortCall } from './ports.types';
4
+ import { EndgeStyleSheetArtifact } from '../../style/style.types';
4
5
  /** Семантическая модель компонента после compiler pipeline, независимая от DOM и Nova. */
5
6
  export interface RComponentSFC_IR {
6
7
  /** Версия IR-модели. */
@@ -49,11 +50,37 @@ export interface RComponentSFC_IR_LocalBinding {
49
50
  export interface RComponentSFC_IR_Template {
50
51
  /** Корневые узлы нормализованного template. */
51
52
  roots: RComponentSFC_IR_Node[];
53
+ /** Явные renderer-neutral варианты корневого представления. */
54
+ variants?: ComponentSFCVariant[];
55
+ }
56
+ /** Один именованный вариант представления внутри template или Editable. */
57
+ export interface ComponentSFCVariant {
58
+ name: string;
59
+ nodeId: string;
60
+ }
61
+ /** Декларативный триггер входа в edit-вариант. */
62
+ export interface ComponentSFCEditTrigger {
63
+ event: string;
64
+ key?: string[];
65
+ button?: number;
66
+ stop?: boolean;
67
+ prevent?: boolean;
68
+ self?: boolean;
69
+ }
70
+ /** Renderer-neutral поведение редактируемого template-узла. */
71
+ export interface ComponentSFCEditableBehavior {
72
+ value: RComponentSFC_IR_Value;
73
+ triggers: RComponentSFC_IR_Value;
74
+ }
75
+ /** Нормализованное публичное событие завершённого редактирования. */
76
+ export interface ComponentSFCEditedEventPayload<T = unknown> {
77
+ value: T;
78
+ previousValue: T;
52
79
  }
53
80
  /** IR узел template после нормализации в Endge primitives. */
54
81
  export type RComponentSFC_IR_Node = RComponentSFC_IR_ElementNode | RComponentSFC_IR_TextNode | RComponentSFC_IR_ExpressionNode;
55
82
  /** Поддерживаемые v1 primitives нового SFC template. */
56
- export type RComponentSFC_IR_Tag = 'Text' | 'DateTime' | 'Number' | 'Icon' | 'Badge' | 'Dot' | 'Box' | 'Flex' | 'Grid' | 'Divider' | 'Input' | 'Textarea' | 'Checkbox' | 'Select' | 'Component' | 'Table' | 'Column' | 'Cell' | 'ColumnMenu' | 'MenuItem' | 'MenuSeparator';
83
+ export type RComponentSFC_IR_Tag = 'Text' | 'DateTime' | 'Number' | 'Icon' | 'Badge' | 'Dot' | 'Box' | 'Flex' | 'Grid' | 'Divider' | 'Input' | 'Textarea' | 'Checkbox' | 'Select' | 'Component' | 'Table' | 'Column' | 'Cell' | 'ColumnMenu' | 'RowMenu' | 'MenuItem' | 'MenuSeparator' | 'Editable' | 'Variant';
57
84
  /** IR element-узел, который renderer-слои могут читать без знания исходного синтаксиса. */
58
85
  export interface RComponentSFC_IR_ElementNode {
59
86
  /** Стабильный id узла внутри IR. */
@@ -70,13 +97,53 @@ export interface RComponentSFC_IR_ElementNode {
70
97
  directives: RComponentSFC_IR_Directives;
71
98
  /** Local renderer Event reactions declared through `@event` attributes. */
72
99
  events?: RComponentSFC_IR_EventBinding[];
100
+ /** Compiler-owned edit behavior; editable/edit-on не передаются visual adapter-у как props. */
101
+ editable?: ComponentSFCEditableBehavior;
73
102
  /** Дочерние IR-узлы. */
74
103
  children: RComponentSFC_IR_Node[];
75
104
  /** Local component port marker retained for future provider overrides. */
76
105
  port?: RComponentSFC_IR_ComponentPortMarker;
106
+ /** Compiler-resolved Table menus, including forwarded Action identities and targets. */
107
+ tableMenus?: RComponentSFC_IR_TableMenus;
77
108
  /** Позиция исходного AST-узла. */
78
109
  sourceRange?: RComponentSFC_SourceRange;
79
110
  }
111
+ export interface RComponentSFC_IR_TableMenus {
112
+ column: ComponentSFCTableColumnMenuDescriptor;
113
+ row: ComponentSFCTableRowMenuDescriptor;
114
+ }
115
+ export type ComponentSFCTableColumnMenuMode = 'default' | 'disabled' | 'inline';
116
+ export type ComponentSFCTableRowMenuMode = 'none' | 'inline';
117
+ /** Renderer-neutral menu retained in compiled SFC form until a concrete row/column context exists. */
118
+ export interface ComponentSFCTableMenuDescriptor {
119
+ kind: 'sfc-table-menu';
120
+ items: ComponentSFCTableMenuNodeDescriptor[];
121
+ }
122
+ export type ComponentSFCTableMenuNodeDescriptor = ComponentSFCTableMenuItemDescriptor | ComponentSFCTableMenuSeparatorDescriptor;
123
+ export interface ComponentSFCTableMenuItemDescriptor {
124
+ kind: 'item';
125
+ id: string;
126
+ label: RComponentSFC_IR_Value;
127
+ action: string;
128
+ input?: RComponentSFC_IR_Value;
129
+ icon?: string;
130
+ /** Set only for a provided alias forwarded from this exact Table node. */
131
+ forwardedFrom?: ComponentSFCPortForwardOrigin;
132
+ }
133
+ export interface ComponentSFCTableMenuSeparatorDescriptor {
134
+ kind: 'separator';
135
+ id: string;
136
+ }
137
+ export interface ComponentSFCTableColumnMenuDescriptor {
138
+ mode: ComponentSFCTableColumnMenuMode;
139
+ menu: ComponentSFCTableMenuDescriptor | null;
140
+ diagnostics: RComponentDiagnostic[];
141
+ }
142
+ export interface ComponentSFCTableRowMenuDescriptor {
143
+ mode: ComponentSFCTableRowMenuMode;
144
+ menu: ComponentSFCTableMenuDescriptor | null;
145
+ diagnostics: RComponentDiagnostic[];
146
+ }
80
147
  export type RComponentSFC_IR_EventModifier = 'stop' | 'prevent' | 'self' | 'once' | 'capture' | 'passive';
81
148
  export interface RComponentSFC_IR_EventBinding {
82
149
  name: string;
@@ -116,6 +116,9 @@ export interface ComponentSFCEventSource {
116
116
  export type ComponentSFCEventInputValue = {
117
117
  kind: 'event';
118
118
  path: string | null;
119
+ } | {
120
+ kind: 'scope';
121
+ path: string;
119
122
  } | {
120
123
  kind: 'literal';
121
124
  value: unknown;
@@ -124,14 +127,24 @@ export type ComponentSFCEventInputValue = {
124
127
  items: ComponentSFCEventInputValue[];
125
128
  } | {
126
129
  kind: 'object';
127
- entries: Record<string, ComponentSFCEventInputValue>;
130
+ entries: ComponentSFCEventInputEntry[];
128
131
  };
132
+ export interface ComponentSFCEventInputEntry {
133
+ key: string | ComponentSFCEventInputValue;
134
+ value: ComponentSFCEventInputValue;
135
+ }
129
136
  /** One Action selected directly in Component SFC Source. */
130
137
  export interface ComponentSFCEventDirectAction {
131
138
  kind: 'action';
132
139
  identity: string;
133
140
  input?: ComponentSFCEventInputValue;
134
141
  }
142
+ /** One Query selected directly in Component SFC Source. */
143
+ export interface ComponentSFCEventDirectQuery {
144
+ kind: 'query';
145
+ identity: string;
146
+ input?: ComponentSFCEventInputValue;
147
+ }
135
148
  /** Sandboxed TypeScript reaction. Its result is a validated list of effects. */
136
149
  export interface ComponentSFCEventTypescriptAction {
137
150
  kind: 'typescript';
@@ -144,7 +157,13 @@ export interface ComponentSFCEventTypescriptAction {
144
157
  source: string;
145
158
  emittedEvents: string[];
146
159
  }
147
- export type ComponentSFCEventAction = ComponentSFCEventDirectAction | ComponentSFCEventTypescriptAction;
160
+ /** Безопасный локальный emit из template reaction. */
161
+ export interface ComponentSFCEventEmitAction {
162
+ kind: 'emit';
163
+ event: string;
164
+ payload?: ComponentSFCEventInputValue;
165
+ }
166
+ export type ComponentSFCEventAction = ComponentSFCEventDirectAction | ComponentSFCEventDirectQuery | ComponentSFCEventTypescriptAction | ComponentSFCEventEmitAction;
148
167
  export interface ComponentSFCEventRuntimeSource {
149
168
  nodeId: string;
150
169
  ref?: string;
@@ -22,7 +22,7 @@ export interface ComponentSFCVisualAttribute {
22
22
  /** Редактируемый prop binding единственного управляемого элемента колонки Table. */
23
23
  export type ComponentSFCTableCellBindingProjection = ComponentSFCVisualAttribute;
24
24
  /** Способ, которым содержимое ячейки представлено в простом visual editor. */
25
- export type ComponentSFCTableVisualCellTag = Exclude<RComponentSFC_IR_Tag, 'Component' | 'Table' | 'Column' | 'Cell' | 'ColumnMenu' | 'MenuItem' | 'MenuSeparator'>;
25
+ export type ComponentSFCTableVisualCellTag = Exclude<RComponentSFC_IR_Tag, 'Component' | 'Table' | 'Column' | 'Cell' | 'ColumnMenu' | 'RowMenu' | 'MenuItem' | 'MenuSeparator'>;
26
26
  export type ComponentSFCTableCellProjection = {
27
27
  kind: 'default';
28
28
  } | {
@@ -60,6 +60,33 @@ export interface ComponentSFCTableColumnProjection {
60
60
  cellSource: string | null;
61
61
  sourceRange: RComponentSFC_SourceRange;
62
62
  }
63
+ export type ComponentSFCTableVisualMenuKind = 'column' | 'row';
64
+ export type ComponentSFCTableVisualMenuMode = 'default' | 'disabled' | 'none' | 'custom' | 'source';
65
+ export interface ComponentSFCTableMenuActionOption {
66
+ identity: string;
67
+ source: 'intrinsic' | 'built-in' | 'required' | 'provided' | 'forwarded';
68
+ }
69
+ export type ComponentSFCTableMenuNodeProjection = {
70
+ kind: 'separator';
71
+ id: string;
72
+ sourceRange: RComponentSFC_SourceRange;
73
+ } | {
74
+ kind: 'item';
75
+ id: string;
76
+ label: ComponentSFCVisualSourceValue | null;
77
+ action: ComponentSFCVisualSourceValue | null;
78
+ input: ComponentSFCVisualSourceValue | null;
79
+ icon: ComponentSFCVisualSourceValue | null;
80
+ sourceOwned: boolean;
81
+ sourceRange: RComponentSFC_SourceRange;
82
+ };
83
+ export interface ComponentSFCTableMenuProjection {
84
+ kind: ComponentSFCTableVisualMenuKind;
85
+ mode: ComponentSFCTableVisualMenuMode;
86
+ sourceOwned: boolean;
87
+ items: ComponentSFCTableMenuNodeProjection[];
88
+ sourceRange?: RComponentSFC_SourceRange;
89
+ }
63
90
  /** Минимальные source-preserving операции visual editor таблицы. */
64
91
  export type ComponentSFCTableSourcePatch = {
65
92
  type: 'add-column';
@@ -97,6 +124,30 @@ export type ComponentSFCTableSourcePatch = {
97
124
  name: string;
98
125
  value: string | null;
99
126
  valueKind: 'expression' | 'literal';
127
+ } | {
128
+ type: 'set-menu-mode';
129
+ menu: ComponentSFCTableVisualMenuKind;
130
+ mode: 'default' | 'disabled' | 'none' | 'custom';
131
+ } | {
132
+ type: 'add-menu-node';
133
+ menu: ComponentSFCTableVisualMenuKind;
134
+ node: 'item' | 'separator';
135
+ } | {
136
+ type: 'remove-menu-node';
137
+ menu: ComponentSFCTableVisualMenuKind;
138
+ nodeIndex: number;
139
+ } | {
140
+ type: 'move-menu-node';
141
+ menu: ComponentSFCTableVisualMenuKind;
142
+ fromIndex: number;
143
+ toIndex: number;
144
+ } | {
145
+ type: 'set-menu-item-attribute';
146
+ menu: ComponentSFCTableVisualMenuKind;
147
+ nodeIndex: number;
148
+ name: 'label' | 'action' | 'input' | 'icon';
149
+ value: string | null;
150
+ valueKind: 'expression' | 'literal';
100
151
  };
101
152
  /** Результат точечного изменения SFC Table source. */
102
153
  export interface ComponentSFCTableSourcePatchResult {
@@ -123,6 +174,11 @@ export interface ComponentSFCTableVisualProjection {
123
174
  defaultPin: ComponentSFCVisualSourceValue | null;
124
175
  defaultHidden: ComponentSFCVisualSourceValue | null;
125
176
  columnMenu: ComponentSFCVisualSourceValue | null;
177
+ menus: {
178
+ column: ComponentSFCTableMenuProjection;
179
+ row: ComponentSFCTableMenuProjection;
180
+ };
181
+ menuActions: ComponentSFCTableMenuActionOption[];
126
182
  attributes: ComponentSFCVisualAttribute[];
127
183
  columns: ComponentSFCTableColumnProjection[];
128
184
  sourceRange: RComponentSFC_SourceRange;
@@ -1,4 +1,5 @@
1
- import { DiagnosticsSeverityNumber, DiagnosticsSignal, EndgeDiagnosticsOutputConfiguration, EndgeDiagnosticsConfiguration, EndgeDiagnosticsRoute } from '../diagnostics';
1
+ import { DiagnosticsSeverityNumber, DiagnosticsSignal, EndgeDiagnosticsOutputConfiguration, EndgeDiagnosticsConfiguration, EndgeDiagnosticsRoute } from '../diagnostics/diagnostics.types';
2
+ import { EndgeExecutionContext } from '../runtime/execution-context.types';
2
3
  export interface EndgeLocaleDefinition {
3
4
  code: string;
4
5
  displayName: string;
@@ -9,7 +10,7 @@ export interface EndgeThemeDefinition {
9
10
  identity: string;
10
11
  displayName: string;
11
12
  }
12
- export type EndgeSSEAuthMode = 'inherit' | 'profile' | 'manual' | 'none';
13
+ export type EndgeSSEAuthMode = 'inherit' | 'profile' | 'none';
13
14
  export interface EndgeVariableDefinition {
14
15
  name: string;
15
16
  defaultValue: string;
@@ -18,7 +19,6 @@ export interface EndgeSSEConfiguration {
18
19
  url: string;
19
20
  authMode?: EndgeSSEAuthMode;
20
21
  authProfileIdentity?: string | null;
21
- manualToken?: string | null;
22
22
  }
23
23
  /** Полная конфигурация, с которой компилируется один Endge context. */
24
24
  export interface EndgeConfiguration {
@@ -112,12 +112,6 @@ export type EndgeConfigurationContribution = {
112
112
  value: EndgeConfiguration;
113
113
  };
114
114
  export type EndgeConfigurationLayer = 'workspace' | 'tenant' | 'project' | 'environment';
115
- /** Structural context одного полного boot/build lifecycle. */
116
- export interface EndgeExecutionContext {
117
- tenantIdentity: string;
118
- projectIdentity: string;
119
- environmentIdentity: string;
120
- }
121
115
  /** Immutable input, передаваемый compiler strategies. */
122
116
  export interface EndgeBuildContext {
123
117
  workspaceIdentity: string;
@@ -8,8 +8,8 @@ export type DocumentCreateRequest = {
8
8
  } | {
9
9
  documentType: DomainDocumentType;
10
10
  identity: string;
11
- mode: 'payload';
12
- payload: Record<string, unknown>;
11
+ mode: 'portable';
12
+ document: Record<string, unknown>;
13
13
  };
14
14
  /** Результат create-flow после регистрации документа в домене. */
15
15
  export interface DocumentCreateResult {
@@ -1,9 +1,7 @@
1
- import { EndgeWorkspaceDefinition, EndgeWorkspaceSSEConfig } from './workspace.types';
1
+ import { EndgeWorkspaceDefinition } from './workspace.types';
2
2
  import { DomainDocumentType, DomainSectionType } from './document.types';
3
- /** Workspace-конфигурация без прямых credential-значений. */
4
- export type EndgeWorkspaceExport = Omit<EndgeWorkspaceDefinition, 'sse'> & {
5
- sse?: Omit<EndgeWorkspaceSSEConfig, 'manualToken'>;
6
- };
3
+ /** Workspace-конфигурация не содержит credential material. */
4
+ export type EndgeWorkspaceExport = EndgeWorkspaceDefinition;
7
5
  /** Persisted-срез домена, который можно восстановить через plain provider. */
8
6
  export interface EndgeDomainPlain {
9
7
  projects: unknown[];
@@ -35,11 +33,46 @@ export interface EndgeDomainPlain {
35
33
  pages: unknown[];
36
34
  navigations: unknown[];
37
35
  }
38
- /** Переносимый bundle текущего workspace и его загруженного домена. */
39
- export interface EndgeDomainBundle {
36
+ /** Коллекции документов канонического snapshot нового backend-сервиса. */
37
+ export interface EndgePortableDocuments {
38
+ projects: unknown[];
39
+ tenants: unknown[];
40
+ environments: unknown[];
41
+ folders: unknown[];
42
+ types: unknown[];
43
+ queries: unknown[];
44
+ 'data-views': unknown[];
45
+ compositions: unknown[];
46
+ stores: unknown[];
47
+ streams: unknown[];
48
+ updates: unknown[];
49
+ mocks: unknown[];
50
+ components: unknown[];
51
+ actions: unknown[];
52
+ filters: unknown[];
53
+ converters: unknown[];
54
+ computations: unknown[];
55
+ vocabs: unknown[];
56
+ 'i18n-bundles': unknown[];
57
+ 'auth-profiles': unknown[];
58
+ navigations: unknown[];
59
+ styles: unknown[];
60
+ }
61
+ export interface EndgeInstalledIntegrationExport {
62
+ identity: string;
40
63
  version: string;
41
- workspace: EndgeWorkspaceExport;
42
- domain: EndgeDomainPlain;
64
+ configuration: Record<string, unknown>;
65
+ }
66
+ export type EndgePortableWorkspace = Omit<EndgeWorkspaceExport, 'installedIntegrations' | 'dataMode'> & {
67
+ dataMode: 'development' | 'production';
68
+ };
69
+ /** Переносимый workspace snapshot, принимаемый новым backend import API. */
70
+ export interface EndgeDomainBundle {
71
+ schemaVersion: number;
72
+ kind: 'workspace-snapshot';
73
+ workspace: EndgePortableWorkspace;
74
+ installedIntegrations: EndgeInstalledIntegrationExport[];
75
+ documents: EndgePortableDocuments;
43
76
  }
44
77
  /** Ссылка на выбранный документ с типом коллекции, в которой локален его id. */
45
78
  export interface EndgeDomainSelection {
@@ -0,0 +1,59 @@
1
+ import { EndgeLiveDomainSnapshot, EndgeLiveDomainDocument, EndgeWorkspaceServerState } from './domain-snapshot.type';
2
+ /** Канонические коллекции persisted-домена нового backend. */
3
+ export type EndgeDomainCollection = 'projects' | 'tenants' | 'environments' | 'folders' | 'types' | 'queries' | 'data-views' | 'compositions' | 'stores' | 'streams' | 'updates' | 'mocks' | 'components' | 'actions' | 'filters' | 'converters' | 'computations' | 'vocabs' | 'i18n-bundles' | 'auth-profiles' | 'navigations' | 'styles';
4
+ /** Возможности выбранного источника домена. */
5
+ export interface EndgeDomainProviderCapabilities {
6
+ snapshot: true;
7
+ mutations: boolean;
8
+ softDelete: boolean;
9
+ restore: boolean;
10
+ }
11
+ /** Запрос полного состояния workspace. */
12
+ export interface EndgeDomainLoadRequest {
13
+ workspaceIdentity: string;
14
+ signal?: AbortSignal;
15
+ }
16
+ export interface EndgeDocumentMutationRequest {
17
+ workspaceIdentity: string;
18
+ collection: EndgeDomainCollection;
19
+ identity: string;
20
+ document?: Record<string, unknown>;
21
+ expectedRevision?: number;
22
+ signal?: AbortSignal;
23
+ }
24
+ export interface EndgeDocumentMutationResult {
25
+ document: EndgeLiveDomainDocument;
26
+ etag: string | null;
27
+ }
28
+ export interface EndgeWorkspaceMutationRequest {
29
+ workspaceIdentity: string;
30
+ document: Record<string, unknown>;
31
+ expectedRevision: number;
32
+ signal?: AbortSignal;
33
+ }
34
+ export interface EndgeWorkspaceMutationResult {
35
+ workspace: Record<string, unknown> & {
36
+ state: EndgeWorkspaceServerState;
37
+ };
38
+ etag: string | null;
39
+ }
40
+ /** Транспортно-независимый источник полного workspace snapshot. */
41
+ export interface EndgeDomainProvider {
42
+ readonly id: string;
43
+ readonly capabilities: EndgeDomainProviderCapabilities;
44
+ readonly etag: string | null;
45
+ loadWorkspace(request: EndgeDomainLoadRequest): Promise<EndgeLiveDomainSnapshot>;
46
+ createDocument(request: EndgeDocumentMutationRequest): Promise<EndgeDocumentMutationResult>;
47
+ updateDocument(request: EndgeDocumentMutationRequest): Promise<EndgeDocumentMutationResult>;
48
+ softDeleteDocument(request: EndgeDocumentMutationRequest): Promise<EndgeDocumentMutationResult>;
49
+ restoreDocument(request: EndgeDocumentMutationRequest): Promise<EndgeDocumentMutationResult>;
50
+ updateWorkspace(request: EndgeWorkspaceMutationRequest): Promise<EndgeWorkspaceMutationResult>;
51
+ }
52
+ export type EndgeDomainRepositoryProviderId = 'service-backend' | 'bundle' | 'plain';
53
+ /** Публичные возможности активного источника persisted domain. */
54
+ export interface EndgeDomainRepositoryCapabilities {
55
+ provider: EndgeDomainRepositoryProviderId;
56
+ mutations: boolean;
57
+ softDelete: boolean;
58
+ restore: boolean;
59
+ }
@@ -0,0 +1,37 @@
1
+ import { EndgeDomainBundle, EndgePortableDocuments } from './domain-export.type';
2
+ /** Безопасная публичная ссылка на автора server-side изменения. */
3
+ export interface EndgeSnapshotActor {
4
+ id: string;
5
+ username?: string;
6
+ displayName?: string;
7
+ }
8
+ /** Server-only состояние документа, не являющееся частью доменной конфигурации. */
9
+ export interface EndgeDocumentServerState {
10
+ id: string;
11
+ revision: number;
12
+ deletedAt?: string;
13
+ createdBy?: EndgeSnapshotActor;
14
+ updatedBy?: EndgeSnapshotActor;
15
+ createdAt?: string;
16
+ updatedAt?: string;
17
+ }
18
+ /** Server-only состояние workspace. */
19
+ export interface EndgeWorkspaceServerState extends EndgeDocumentServerState {
20
+ generation: string;
21
+ headSequence: number;
22
+ }
23
+ /** Документ live snapshot с обязательным server-side состоянием. */
24
+ export type EndgeLiveDomainDocument = Record<string, unknown> & {
25
+ state: EndgeDocumentServerState;
26
+ };
27
+ /** Коллекции документов live snapshot нового backend. */
28
+ export type EndgeLivePortableDocuments = {
29
+ [K in keyof EndgePortableDocuments]: EndgeLiveDomainDocument[];
30
+ };
31
+ /** Консистентный live snapshot одного workspace. */
32
+ export type EndgeLiveDomainSnapshot = Omit<EndgeDomainBundle, 'documents' | 'workspace'> & {
33
+ workspace: EndgeDomainBundle['workspace'] & {
34
+ state: EndgeWorkspaceServerState;
35
+ };
36
+ documents: EndgeLivePortableDocuments;
37
+ };
@@ -1,15 +1,8 @@
1
- export type RQueryAuthMode = 'none' | 'token' | 'inherit' | 'profile' | 'manual';
1
+ export type RQueryAuthMode = 'none' | 'inherit' | 'profile';
2
2
  export interface RQueryAuth {
3
3
  mode: RQueryAuthMode;
4
- /** Identity auth-profile для source DSL. */
5
- profile?: string;
6
- /** @deprecated use profile. Kept for persisted/legacy compatibility. */
7
- authProfileIdentity?: string;
8
- /**
9
- * Необязательный ручной токен. Если НЕ задан, будет взят из Endge.auth.
10
- * Пример: "eyJhbGciOi..."
11
- */
12
- manualToken?: string;
4
+ /** Identity auth-profile для mode=profile. */
5
+ profileIdentity?: string;
13
6
  /** Схема для заголовка (по умолчанию "Bearer"). */
14
7
  scheme?: string;
15
8
  /** Имя заголовка (по умолчанию "Authorization"). */
@@ -1,4 +1,4 @@
1
- import { EndgeConfiguration, EndgeLocaleDefinition, EndgeSSEAuthMode, EndgeSSEConfiguration, EndgeThemeDefinition, EndgeVariableDefinition } from '../configuration';
1
+ import { EndgeConfiguration, EndgeLocaleDefinition, EndgeSSEAuthMode, EndgeSSEConfiguration, EndgeThemeDefinition, EndgeVariableDefinition } from '../configuration/configuration.type';
2
2
  import { EntityManagement } from './entity-management.type';
3
3
  export type EndgeWorkspaceLocale = EndgeLocaleDefinition;
4
4
  export type EndgeDataMode = 'live' | 'mock';