@endge/core 1.2.5

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 (240) hide show
  1. package/ReadMe.md +21 -0
  2. package/dist/core.js +85019 -0
  3. package/dist/domain/data-source-graphql.d.ts +4 -0
  4. package/dist/domain/data-source-mock.d.ts +4 -0
  5. package/dist/domain/data-source-rest.d.ts +4 -0
  6. package/dist/domain/declare/jsx.d.ts +68 -0
  7. package/dist/domain/declare/scenario.d.ts +19 -0
  8. package/dist/domain/dependency-graph.d.ts +19 -0
  9. package/dist/domain/entities/action-flow/REndgeFlow.d.ts +27 -0
  10. package/dist/domain/entities/data/DataSource.d.ts +8 -0
  11. package/dist/domain/entities/data/DependencyEdge.d.ts +48 -0
  12. package/dist/domain/entities/data/DependencyGraph.d.ts +25 -0
  13. package/dist/domain/entities/data/DependencyNode.d.ts +30 -0
  14. package/dist/domain/entities/debug/MemoryStore.d.ts +34 -0
  15. package/dist/domain/entities/debug/tools/base.d.ts +5 -0
  16. package/dist/domain/entities/debug/tools/tree.d.ts +12 -0
  17. package/dist/domain/entities/diagnostics/DiagnosticsRecordStore.d.ts +33 -0
  18. package/dist/domain/entities/diagnostics/DiagnosticsScopeHandle.d.ts +21 -0
  19. package/dist/domain/entities/diagnostics/DiagnosticsSpan.d.ts +9 -0
  20. package/dist/domain/entities/diagnostics/DiagnosticsTrace.d.ts +9 -0
  21. package/dist/domain/entities/endge/EndgeActionJsonScript.d.ts +2 -0
  22. package/dist/domain/entities/endge/EndgeApi.d.ts +23 -0
  23. package/dist/domain/entities/endge/EndgeEvent.d.ts +33 -0
  24. package/dist/domain/entities/endge/EndgeFederation.d.ts +64 -0
  25. package/dist/domain/entities/endge/EndgeModule.d.ts +36 -0
  26. package/dist/domain/entities/endge/EndgeModuleController.d.ts +18 -0
  27. package/dist/domain/entities/endge/EndgeSlotRegistry.d.ts +14 -0
  28. package/dist/domain/entities/reflect/RAction.d.ts +30 -0
  29. package/dist/domain/entities/reflect/RBehaviorBinding.d.ts +19 -0
  30. package/dist/domain/entities/reflect/RComponent.d.ts +25 -0
  31. package/dist/domain/entities/reflect/RComponentBase.d.ts +39 -0
  32. package/dist/domain/entities/reflect/RComponentDSL.d.ts +14 -0
  33. package/dist/domain/entities/reflect/RComponentTable.d.ts +21 -0
  34. package/dist/domain/entities/reflect/RComponentTableColumn.d.ts +64 -0
  35. package/dist/domain/entities/reflect/RConverter.d.ts +14 -0
  36. package/dist/domain/entities/reflect/REntity.d.ts +47 -0
  37. package/dist/domain/entities/reflect/REnvironment.d.ts +6 -0
  38. package/dist/domain/entities/reflect/RField.d.ts +9 -0
  39. package/dist/domain/entities/reflect/RFilter.d.ts +11 -0
  40. package/dist/domain/entities/reflect/RFolder.d.ts +23 -0
  41. package/dist/domain/entities/reflect/RI18nBundle.d.ts +16 -0
  42. package/dist/domain/entities/reflect/RIntegration.d.ts +13 -0
  43. package/dist/domain/entities/reflect/RNavigation.d.ts +24 -0
  44. package/dist/domain/entities/reflect/RPage.d.ts +45 -0
  45. package/dist/domain/entities/reflect/RPageTemplate.d.ts +32 -0
  46. package/dist/domain/entities/reflect/RParameter.d.ts +13 -0
  47. package/dist/domain/entities/reflect/RPolicy.d.ts +7 -0
  48. package/dist/domain/entities/reflect/RPresentationBinding.d.ts +20 -0
  49. package/dist/domain/entities/reflect/RProject.d.ts +68 -0
  50. package/dist/domain/entities/reflect/RQuery.d.ts +43 -0
  51. package/dist/domain/entities/reflect/RQueryFilter.d.ts +12 -0
  52. package/dist/domain/entities/reflect/RQueryRest.d.ts +21 -0
  53. package/dist/domain/entities/reflect/RScenario.d.ts +20 -0
  54. package/dist/domain/entities/reflect/RSettings.d.ts +49 -0
  55. package/dist/domain/entities/reflect/RStyle.d.ts +7 -0
  56. package/dist/domain/entities/reflect/RTenant.d.ts +8 -0
  57. package/dist/domain/entities/reflect/RType.d.ts +17 -0
  58. package/dist/domain/entities/reflect/RVersion.d.ts +29 -0
  59. package/dist/domain/entities/reflect/RView.d.ts +21 -0
  60. package/dist/domain/entities/reflect/RVocabs.d.ts +16 -0
  61. package/dist/domain/entities/runtime/RuntimeBindingScope.d.ts +48 -0
  62. package/dist/domain/entities/runtime/RuntimeContext.d.ts +26 -0
  63. package/dist/domain/entities/runtime/RuntimeEnvironment.d.ts +12 -0
  64. package/dist/domain/entities/runtime/RuntimeHostBase.d.ts +100 -0
  65. package/dist/domain/entities/runtime/RuntimeHostFactory.d.ts +15 -0
  66. package/dist/domain/entities/runtime/RuntimeHostRegistry.d.ts +56 -0
  67. package/dist/domain/entities/runtime/RuntimeScope.d.ts +45 -0
  68. package/dist/domain/entities/runtime/hosts/ActionRuntimeHost.d.ts +30 -0
  69. package/dist/domain/entities/runtime/hosts/ComponentRuntimeHost.d.ts +22 -0
  70. package/dist/domain/entities/runtime/hosts/PageRuntimeHost.d.ts +22 -0
  71. package/dist/domain/entities/runtime/hosts/ProjectRuntimeHost.d.ts +22 -0
  72. package/dist/domain/entities/runtime/hosts/QueryRuntimeHost.d.ts +22 -0
  73. package/dist/domain/entities/runtime/hosts/TableRuntimeHost.d.ts +22 -0
  74. package/dist/domain/entities/runtime/hosts/ViewRuntimeHost.d.ts +22 -0
  75. package/dist/domain/script-api/expose.d.ts +6 -0
  76. package/dist/domain/script-api/mount.d.ts +7 -0
  77. package/dist/domain/script-api/query.d.ts +7 -0
  78. package/dist/domain/script-api/watch.d.ts +7 -0
  79. package/dist/domain/services/AbstractSyntaxTree_JSX.d.ts +30 -0
  80. package/dist/domain/services/AbstractSyntaxTree_TS.d.ts +18 -0
  81. package/dist/domain/services/GraphQLBuilderService.d.ts +19 -0
  82. package/dist/domain/services/ScenarioScriptBuilderService.d.ts +19 -0
  83. package/dist/domain/services/auth.d.ts +17 -0
  84. package/dist/domain/services/component-render-host.d.ts +20 -0
  85. package/dist/domain/types/action.types.d.ts +65 -0
  86. package/dist/domain/types/api.types.d.ts +29 -0
  87. package/dist/domain/types/auth.types.d.ts +82 -0
  88. package/dist/domain/types/bootstrap.types.d.ts +35 -0
  89. package/dist/domain/types/codegen.types.d.ts +23 -0
  90. package/dist/domain/types/component.types.d.ts +8 -0
  91. package/dist/domain/types/configuration-contract.types.d.ts +53 -0
  92. package/dist/domain/types/debug/base.types.d.ts +74 -0
  93. package/dist/domain/types/debug/events.types.d.ts +3 -0
  94. package/dist/domain/types/debug/tree.types.d.ts +27 -0
  95. package/dist/domain/types/diagnostics.types.d.ts +235 -0
  96. package/dist/domain/types/document.types.d.ts +93 -0
  97. package/dist/domain/types/endge-flow-runtime.types.d.ts +28 -0
  98. package/dist/domain/types/endge-flow.types.d.ts +110 -0
  99. package/dist/domain/types/events.types.d.ts +29 -0
  100. package/dist/domain/types/faceted-cascade.d.ts +300 -0
  101. package/dist/domain/types/filter.types.d.ts +39 -0
  102. package/dist/domain/types/flow-condition.types.d.ts +39 -0
  103. package/dist/domain/types/forge.types.d.ts +30 -0
  104. package/dist/domain/types/jsx.types.d.ts +16 -0
  105. package/dist/domain/types/models.types.d.ts +7 -0
  106. package/dist/domain/types/navigation.types.d.ts +27 -0
  107. package/dist/domain/types/query.types.d.ts +66 -0
  108. package/dist/domain/types/resolve.types.d.ts +70 -0
  109. package/dist/domain/types/runtime-entity-map.types.d.ts +28 -0
  110. package/dist/domain/types/runtime-host.types.d.ts +168 -0
  111. package/dist/domain/types/runtime-registry.types.d.ts +38 -0
  112. package/dist/domain/types/runtime.types.d.ts +103 -0
  113. package/dist/domain/types/schema.types.d.ts +92 -0
  114. package/dist/domain/types/settings.types.d.ts +117 -0
  115. package/dist/domain/types/styles.types.d.ts +25 -0
  116. package/dist/domain/types/table.types.d.ts +15 -0
  117. package/dist/domain/types/types.d.ts +99 -0
  118. package/dist/domain/types/ui-composition.types.d.ts +201 -0
  119. package/dist/domain/types/ui.types.d.ts +17 -0
  120. package/dist/main.d.ts +154 -0
  121. package/dist/model/config/contracts/behavior/component.d.ts +2 -0
  122. package/dist/model/config/contracts/behavior/index.d.ts +8 -0
  123. package/dist/model/config/contracts/behavior/page-template.d.ts +2 -0
  124. package/dist/model/config/contracts/behavior/page.d.ts +30 -0
  125. package/dist/model/config/contracts/behavior/project.d.ts +2 -0
  126. package/dist/model/config/contracts/behavior/query.d.ts +2 -0
  127. package/dist/model/config/contracts/behavior/view.d.ts +2 -0
  128. package/dist/model/config/contracts/configuration/index.d.ts +3 -0
  129. package/dist/model/config/contracts/configuration/navigation.d.ts +3 -0
  130. package/dist/model/config/contracts/index.d.ts +17 -0
  131. package/dist/model/config/contracts/presentation/component.d.ts +2 -0
  132. package/dist/model/config/contracts/presentation/index.d.ts +8 -0
  133. package/dist/model/config/contracts/presentation/page-template.d.ts +2 -0
  134. package/dist/model/config/contracts/presentation/page.d.ts +2 -0
  135. package/dist/model/config/contracts/presentation/project.d.ts +2 -0
  136. package/dist/model/config/contracts/presentation/query.d.ts +2 -0
  137. package/dist/model/config/contracts/presentation/view.d.ts +2 -0
  138. package/dist/model/config/debug.d.ts +11 -0
  139. package/dist/model/config/events.d.ts +16 -0
  140. package/dist/model/config/index.d.ts +7 -0
  141. package/dist/model/config/persistance_config.d.ts +6 -0
  142. package/dist/model/config/storage_config.d.ts +4 -0
  143. package/dist/model/config/ui-composition-defaults.d.ts +523 -0
  144. package/dist/model/db/repositories/Actions_Repository.d.ts +35 -0
  145. package/dist/model/db/repositories/BehaviorBindings_Repository.d.ts +16 -0
  146. package/dist/model/db/repositories/Components_Repository.d.ts +64 -0
  147. package/dist/model/db/repositories/Converters_Repository.d.ts +40 -0
  148. package/dist/model/db/repositories/Environments_Repository.d.ts +35 -0
  149. package/dist/model/db/repositories/Filters_Repository.d.ts +56 -0
  150. package/dist/model/db/repositories/Folders_Repository.d.ts +30 -0
  151. package/dist/model/db/repositories/I18nBundles_Repository.d.ts +47 -0
  152. package/dist/model/db/repositories/Integrations_Repository.d.ts +40 -0
  153. package/dist/model/db/repositories/Navigations_Repository.d.ts +40 -0
  154. package/dist/model/db/repositories/PageTemplates_Repository.d.ts +56 -0
  155. package/dist/model/db/repositories/Pages_Repository.d.ts +89 -0
  156. package/dist/model/db/repositories/Parameters_Repository.d.ts +56 -0
  157. package/dist/model/db/repositories/Policies_Repository.d.ts +35 -0
  158. package/dist/model/db/repositories/PresentationBindings_Repository.d.ts +14 -0
  159. package/dist/model/db/repositories/Projects_Repository.d.ts +38 -0
  160. package/dist/model/db/repositories/Queries_Repository.d.ts +45 -0
  161. package/dist/model/db/repositories/Scenarios_Repository.d.ts +41 -0
  162. package/dist/model/db/repositories/Settings_Repository.d.ts +48 -0
  163. package/dist/model/db/repositories/Styles_Repository.d.ts +51 -0
  164. package/dist/model/db/repositories/Tenants_Repository.d.ts +39 -0
  165. package/dist/model/db/repositories/Types_Repository.d.ts +48 -0
  166. package/dist/model/db/repositories/Versions_Repository.d.ts +15 -0
  167. package/dist/model/db/repositories/Views_Repository.d.ts +65 -0
  168. package/dist/model/db/repositories/Vocabs_Repository.d.ts +59 -0
  169. package/dist/model/db/repositories/payload-api.d.ts +10 -0
  170. package/dist/model/db/schema-database/BaseSchemaRepositoriy.d.ts +19 -0
  171. package/dist/model/db/schema-database/PayloadSchemaAdapter.d.ts +34 -0
  172. package/dist/model/db/schema-database/SchemaStorageAdapter.d.ts +40 -0
  173. package/dist/model/endge/endge-app.d.ts +47 -0
  174. package/dist/model/endge/endge-auth.d.ts +56 -0
  175. package/dist/model/endge/endge-bind.d.ts +32 -0
  176. package/dist/model/endge/endge-bindings-behavior.d.ts +39 -0
  177. package/dist/model/endge/endge-bindings-presentation.d.ts +30 -0
  178. package/dist/model/endge/endge-bootstrap.d.ts +23 -0
  179. package/dist/model/endge/endge-console.d.ts +35 -0
  180. package/dist/model/endge/endge-contracts.d.ts +77 -0
  181. package/dist/model/endge/endge-debug.d.ts +37 -0
  182. package/dist/model/endge/endge-diagnostics.d.ts +111 -0
  183. package/dist/model/endge/endge-domain.d.ts +519 -0
  184. package/dist/model/endge/endge-events.d.ts +25 -0
  185. package/dist/model/endge/endge-extract.d.ts +84 -0
  186. package/dist/model/endge/endge-flow-registry.d.ts +21 -0
  187. package/dist/model/endge/endge-flow.d.ts +51 -0
  188. package/dist/model/endge/endge-query.d.ts +20 -0
  189. package/dist/model/endge/endge-render.d.ts +17 -0
  190. package/dist/model/endge/endge-reports.d.ts +22 -0
  191. package/dist/model/endge/endge-runtime-debugger.d.ts +60 -0
  192. package/dist/model/endge/endge-runtime.d.ts +87 -0
  193. package/dist/model/endge/endge-schema-database.d.ts +217 -0
  194. package/dist/model/endge/endge-script.d.ts +42 -0
  195. package/dist/model/endge/endge-sse.d.ts +19 -0
  196. package/dist/model/endge/endge-store.d.ts +41 -0
  197. package/dist/model/endge/endge-styles.d.ts +45 -0
  198. package/dist/model/endge/endge-testing.d.ts +16 -0
  199. package/dist/model/endge/endge-ui-registry.d.ts +50 -0
  200. package/dist/model/endge/endge-ui.d.ts +43 -0
  201. package/dist/model/endge/endge-updates.d.ts +34 -0
  202. package/dist/model/endge/endge-vars.d.ts +50 -0
  203. package/dist/model/endge/endge-vocabs.d.ts +47 -0
  204. package/dist/model/endge/endge.d.ts +98 -0
  205. package/dist/model/factories/DataSourceFactory.d.ts +14 -0
  206. package/dist/model/factories/DocumentFactory.d.ts +24 -0
  207. package/dist/model/helpers/endge-resolve-engine.d.ts +93 -0
  208. package/dist/model/helpers/raph-phases/endge-runtime-boundary.d.ts +13 -0
  209. package/dist/model/helpers/raph-phases/queries-phase.d.ts +7 -0
  210. package/dist/model/helpers/raph-phases/tables-phase.d.ts +7 -0
  211. package/dist/model/seed/actions/console_log.d.ts +3 -0
  212. package/dist/model/seed/actions/load_vocabs.d.ts +3 -0
  213. package/dist/model/seed/converters/arrays/split.d.ts +2 -0
  214. package/dist/model/seed/converters/arrays/to-array.d.ts +2 -0
  215. package/dist/model/seed/converters/date/date-to-date-string.d.ts +2 -0
  216. package/dist/model/seed/converters/date/date-to-iso-string.d.ts +2 -0
  217. package/dist/model/seed/converters/date/date-to-iso-z.d.ts +2 -0
  218. package/dist/model/seed/converters/date/date-to-time-string.d.ts +2 -0
  219. package/dist/model/seed/converters/date/iso-string-to-date.d.ts +2 -0
  220. package/dist/model/seed/converters/date/iso-string-to-time-string.d.ts +2 -0
  221. package/dist/model/seed/converters/date/string-to-date.d.ts +2 -0
  222. package/dist/model/seed/converters/date/time-string-to-date.d.ts +2 -0
  223. package/dist/model/seed/converters/date/timestamp-to-date.d.ts +2 -0
  224. package/dist/model/seed/converters/date/weekdays-range.d.ts +5 -0
  225. package/dist/model/seed/converters/json/json-parse.d.ts +2 -0
  226. package/dist/model/seed/converters/json/json-stringify.d.ts +2 -0
  227. package/dist/model/seed/converters/numbers/number-to-string.d.ts +2 -0
  228. package/dist/model/seed/converters/numbers/string-to-number.d.ts +2 -0
  229. package/dist/model/seed/converters/strings/default-if-empty.d.ts +2 -0
  230. package/dist/model/seed/converters/strings/string-to-boolean.d.ts +2 -0
  231. package/dist/model/seed/converters/strings/string-trim.d.ts +2 -0
  232. package/dist/model/services/Auth_Service.d.ts +23 -0
  233. package/dist/tmp/hierarchial-faceted-configuration-cascade/tmp.d.ts +82 -0
  234. package/dist/tools/ScheduleUpdate-sse-generator.d.ts +9 -0
  235. package/dist/tools/graphql-parser.d.ts +5 -0
  236. package/dist/tools/mock-generator.d.ts +16 -0
  237. package/dist/tools/openapi-parser.d.ts +4 -0
  238. package/dist/tools/table.d.ts +4 -0
  239. package/dist/tools/updates-generator.d.ts +12 -0
  240. package/package.json +71 -0
@@ -0,0 +1,25 @@
1
+ import { RComponent } from '../../types/component.types';
2
+ import { DuplicateOptions } from './REntity';
3
+ /**
4
+ * Создает экземпляр ComponentModel из JSON-объекта.
5
+ * Ожидается, что JSON имеет следующие поля:
6
+ * - name: строка
7
+ * - type: строка
8
+ * - template: строка с HTML-шаблоном (например, "<div>{{var1}}</div>")
9
+ * - "vars-shapes": массив объектов вида { var: string, shape: { ... } }
10
+ * - input: объект, описывающий входной тип
11
+ *
12
+ * @param json JSON-объект с описанием компонента.
13
+ * @returns Новый экземпляр ComponentModel.
14
+ */
15
+ export declare function ReflectComponentFromPlain(json: Record<string, any>): RComponent | null;
16
+ export declare function ReflectComponentToPlain(component: RComponent): Record<string, any>;
17
+ /**
18
+ * Полная копия компонента с новым identity и именем (в корне).
19
+ * Сохраняет всю внутреннюю структуру (колонки таблицы, DSL и т.д.).
20
+ */
21
+ export declare function duplicateComponent(component: RComponent, options: DuplicateOptions): RComponent;
22
+ /**
23
+ * Строит объект для PATCH/POST компонента в Payload (flat-поля, без использования schema).
24
+ */
25
+ export declare function ReflectComponentToPayloadData(component: RComponent, componentIdentityToId: Map<string, number>, converterIdentityToId: Map<string, number>): Record<string, any>;
@@ -0,0 +1,39 @@
1
+ import { RField } from './RField';
2
+ import { ComponentKind } from '../../types/types';
3
+ import { REntity } from './REntity';
4
+ import { DependencyGraph } from '../data/DependencyGraph';
5
+ import { RaphNode } from '@endge/raph';
6
+ import { ExecuteOptions } from '../../types/runtime.types';
7
+ import { UILegacyComponentRenderHost } from '../../types/ui-composition.types';
8
+ import { ComponentType } from '../../types/document.types';
9
+ /**
10
+ * RComponent – дескриптор компонента.
11
+ * Он описывает шаблон, переменные и схему извлечения данных (varsShapes),
12
+ * а также входной тип данных (reflectField).
13
+ */
14
+ export declare class RComponentBase extends REntity {
15
+ kind: ComponentKind;
16
+ type: ComponentType;
17
+ customRenderer: unknown | null;
18
+ customRenderersByHost: Map<string, unknown>;
19
+ varsPaths: Map<string, string>;
20
+ inputFields: Record<string, RField>;
21
+ setupScript: string;
22
+ exportedNames: Set<string>;
23
+ depGraph: DependencyGraph | null;
24
+ producerComponentPath: string[];
25
+ runtimeFilters: string[];
26
+ constructor();
27
+ compile(): void;
28
+ execute(options: ExecuteOptions): RaphNode;
29
+ getDependencyComponentIds(): Array<string | number>;
30
+ extractDeclaredFns(): void;
31
+ /**
32
+ * Генерирует граф зависимости для этого компонента.
33
+ */
34
+ generateDependencyGraph(): void;
35
+ setRenderer(renderer: unknown | null, input?: {
36
+ host?: UILegacyComponentRenderHost;
37
+ }): void;
38
+ getRenderer(host?: UILegacyComponentRenderHost): unknown | null;
39
+ }
@@ -0,0 +1,14 @@
1
+ import { RComponentBase } from './RComponentBase';
2
+ import { RootNode } from '@vue/compiler-dom';
3
+ import { DataPath } from '@endge/raph';
4
+ export declare class RComponentDSL extends RComponentBase {
5
+ jsxScript: string;
6
+ ast: RootNode | null;
7
+ requiredVars: Set<string>;
8
+ requiredFns: Set<string>;
9
+ varsPaths: Map<string, DataPath>;
10
+ constructor();
11
+ compile(): void;
12
+ getDependencyComponentIds(): string[];
13
+ generateVarPaths(): void;
14
+ }
@@ -0,0 +1,21 @@
1
+ import { RComponentBase } from './RComponentBase';
2
+ import { RComponentTableColumn } from './RComponentTableColumn';
3
+ import { RaphNode } from '@endge/raph';
4
+ import { ExecuteOptions } from '../../types/runtime.types';
5
+ import { TableBinding } from '../../types/models.types';
6
+ export declare class RComponentTable extends RComponentBase {
7
+ columns: Array<RComponentTableColumn>;
8
+ sourceIndex: string;
9
+ bindings: TableBinding;
10
+ rowSize: string | number | 'zoom';
11
+ dataPaths: Set<string>;
12
+ constructor();
13
+ compile(): void;
14
+ execute(options: ExecuteOptions): RaphNode;
15
+ /**
16
+ * Рекурсивно находит конечный DependencyNode по dataPath.
17
+ */
18
+ private findNodeByDataPath;
19
+ getDependencyComponentIds(): Array<string | number>;
20
+ get rowSizeCalc(): string | number | 'zoom';
21
+ }
@@ -0,0 +1,64 @@
1
+ import { RComponentHtml } from './RComponentHtml';
2
+ import { RField } from './RField';
3
+ import { EndgeEventBinding } from '../../types/events.types';
4
+ import { ColumnSortConfig } from '../../types/table.types';
5
+ import { Constructor } from '@endge/utils';
6
+ import { ColumnComponentType } from '../../types/component.types';
7
+ export declare class ReflectComponentTableColumnBase {
8
+ id: string;
9
+ isActive: boolean;
10
+ title: string;
11
+ type: ColumnComponentType;
12
+ dataPaths: Record<string, string>;
13
+ dataConverters: Record<string, string>;
14
+ width: number;
15
+ pin: 'left' | 'right' | 'none';
16
+ sort: ColumnSortConfig | null;
17
+ /**
18
+ * Конфигурация отчетов.
19
+ *
20
+ * - null/undefined/{} => "по умолчанию": все dataPaths включены, форматирование базовое
21
+ * - либо объект по ключам dataPaths:
22
+ *
23
+ * reports: {
24
+ * data: {
25
+ * enabled: true,
26
+ * formatter: { type: 'DateTime', format: 'DD/MM/YYYY' }
27
+ * }
28
+ * }
29
+ */
30
+ reports: Record<string, {
31
+ enabled?: boolean;
32
+ formatter?: {
33
+ type?: string;
34
+ format?: string;
35
+ };
36
+ }> | null;
37
+ eventBindings: EndgeEventBinding[];
38
+ toPlain(): Record<string, any>;
39
+ fromPlain(json: Record<string, any>): void;
40
+ }
41
+ export declare class ReflectComponentTableColumnHtml extends ReflectComponentTableColumnBase {
42
+ template: string | null;
43
+ htmlComponent: RComponentHtml | null;
44
+ toPlain(): Record<string, any>;
45
+ fromPlain(json: Record<string, any>): void;
46
+ }
47
+ export declare class ReflectComponentTableColumnComponent extends ReflectComponentTableColumnBase {
48
+ componentId: number | null;
49
+ getInputs(): Record<string, RField>;
50
+ toPlain(): Record<string, any>;
51
+ fromPlain(json: Record<string, any>): void;
52
+ }
53
+ export type RComponentTableColumn = ReflectComponentTableColumnHtml | ReflectComponentTableColumnComponent;
54
+ /**
55
+ * Маппер типов
56
+ */
57
+ export declare const ColumnTypeMap: Record<ColumnComponentType, Constructor<RComponentTableColumn>>;
58
+ /**
59
+ * Безопасный конструктор для типа.
60
+ * Возвращает конструктор колонки в зависимости от типа.
61
+ */
62
+ export declare function RComponentTableColumn_TypeCtor(type: ColumnComponentType): Constructor<RComponentTableColumn> | null;
63
+ export declare function RComponentTableColumn_isComponent(column: RComponentTableColumn): column is ReflectComponentTableColumnComponent;
64
+ export declare function RComponentTableColumn_isHtml(column: RComponentTableColumn): column is ReflectComponentTableColumnHtml;
@@ -0,0 +1,14 @@
1
+ import { REntity } from './REntity';
2
+ export interface RConverterSchema {
3
+ id: number;
4
+ name: string;
5
+ description?: string | null;
6
+ isSystem?: boolean;
7
+ }
8
+ export declare class RConverter extends REntity {
9
+ description: string | null;
10
+ customHandler: ((v: any) => any) | undefined;
11
+ setCustom(fn: ((v: any) => any) | undefined): void;
12
+ convert(v: any): any;
13
+ toPlain(): RConverterSchema;
14
+ }
@@ -0,0 +1,47 @@
1
+ /** Опции для дублирования сущности: новый identity и опционально имя. */
2
+ export interface DuplicateOptions {
3
+ identity: string;
4
+ name?: string;
5
+ }
6
+ export declare class REntity {
7
+ /** Идентификатор в storage (Payload: number, plain: string | number) */
8
+ id: number;
9
+ identity: string;
10
+ /** Человекочитаемое имя документа */
11
+ displayName: string;
12
+ name: string;
13
+ description: string | null;
14
+ /** Id папки, в которой расположен документ (связь по id). */
15
+ folderId?: string | number | null;
16
+ /** Проект (identity или null). Только для фильтра в виджете домена. */
17
+ project?: string | null;
18
+ /** Системный документ (нельзя редактировать/сохранять в редакторе) */
19
+ isSystem: boolean;
20
+ /** Временная сущность runtime/editor, не должна отображаться как обычный документ домена. */
21
+ isTemporary: boolean;
22
+ inherited: boolean;
23
+ /** Произвольные метаданные (из Payload meta, по умолчанию {}). */
24
+ meta: Record<string, unknown>;
25
+ createdAt?: string;
26
+ updatedAt?: string;
27
+ deletedAt?: string | null;
28
+ author?: string | null;
29
+ active?: boolean | null;
30
+ protected validationErrors: string[];
31
+ /**
32
+ * Добавляет ошибку в массив (используется внутри наследников).
33
+ */
34
+ protected addValidationError(message: string): void;
35
+ /**
36
+ * Очищает все ошибки.
37
+ */
38
+ protected clearValidationErrors(): void;
39
+ /** Подмешивает storage-мета и meta из Payload */
40
+ applyStorageMeta(raw: any): void;
41
+ compile(): void;
42
+ /**
43
+ * Возвращает полную копию сущности с новым identity и именем (в корне, folderId = null).
44
+ * Переопределяется в наследниках для корректного глубокого копирования структуры.
45
+ */
46
+ duplicate(_options: DuplicateOptions): REntity;
47
+ }
@@ -0,0 +1,6 @@
1
+ import { DuplicateOptions, REntity } from './REntity';
2
+ /** Сущность окружения (коллекция environments). Без привязки к проекту. */
3
+ export declare class REnvironment extends REntity {
4
+ toPlain(): Record<string, unknown>;
5
+ duplicate(options: DuplicateOptions): REnvironment;
6
+ }
@@ -0,0 +1,9 @@
1
+ export declare class RField {
2
+ name: string;
3
+ type: string;
4
+ isArray: boolean;
5
+ optional: boolean;
6
+ params?: Map<string, RField>;
7
+ constructor(name: string, type: string, isArray?: boolean, optional?: boolean, params?: Map<string, RField>);
8
+ isMethod(): boolean;
9
+ }
@@ -0,0 +1,11 @@
1
+ import { FilterFieldItemSchema, RFilterSchema } from '../../types/filter.types';
2
+ import { DomainDocumentType } from '../../types/document.types';
3
+ import { REntity } from './REntity';
4
+ export declare class RFilter extends REntity {
5
+ displayName: string;
6
+ fields: FilterFieldItemSchema[];
7
+ get type(): DomainDocumentType;
8
+ static fromPayload(raw: any): RFilter;
9
+ static fromPlain(json: RFilterSchema): RFilter;
10
+ toPlain(): RFilterSchema;
11
+ }
@@ -0,0 +1,23 @@
1
+ import { REntity } from './REntity';
2
+ /**
3
+ * Доменная сущность для папок (folders).
4
+ *
5
+ * Может быть создана:
6
+ * - из payload-формата (с полями id, identity, displayName...)
7
+ * - из plain-domain-формата (schema)
8
+ */
9
+ export declare class RFolder extends REntity {
10
+ /** Отображаемое имя папки */
11
+ displayName: string;
12
+ /** Тип сущностей, для которых предназначена папка (collection slug в Payload). */
13
+ entityType: string | null;
14
+ /** Id родительской папки (null если корень). */
15
+ parent: string | number | null;
16
+ /** Загружает папку из формата Payload */
17
+ static fromPayload(json: any): RFolder;
18
+ /** Загружает папку из plain-schema (schema.toPlain()) */
19
+ static fromPlain(json: any): RFolder;
20
+ /** Экспорт только схемы (parent уже id в plain). */
21
+ toPlain(): any;
22
+ compile(): void;
23
+ }
@@ -0,0 +1,16 @@
1
+ import { DuplicateOptions, REntity } from './REntity';
2
+ /** Дерево сообщений по локали (формат vue-i18n). */
3
+ export type RI18nBundleLocales = Record<string, Record<string, unknown>>;
4
+ /** Сущность словаря переводов (коллекция i18n-bundles). Один документ = словарь с несколькими локалями. */
5
+ export declare class RI18nBundle extends REntity {
6
+ displayName: string;
7
+ description?: string | null;
8
+ /** По коду локали (ru, en) — дерево ключ→значение. */
9
+ locales: RI18nBundleLocales;
10
+ active: boolean;
11
+ static fromPayload(json: any): RI18nBundle;
12
+ static fromPlain(json: any): RI18nBundle;
13
+ toPlain(): Record<string, unknown>;
14
+ compile(): void;
15
+ duplicate(options: DuplicateOptions): RI18nBundle;
16
+ }
@@ -0,0 +1,13 @@
1
+ import { DuplicateOptions, REntity } from './REntity';
2
+ export interface RIntegrationSchema {
3
+ id: string;
4
+ name: string;
5
+ description?: string | null;
6
+ isSystem?: boolean;
7
+ }
8
+ /** Сущность интеграции (коллекция integrations). */
9
+ export declare class RIntegration extends REntity {
10
+ description: string | null;
11
+ toPlain(): RIntegrationSchema;
12
+ duplicate(options: DuplicateOptions): RIntegration;
13
+ }
@@ -0,0 +1,24 @@
1
+ import { DuplicateOptions, REntity } from './REntity';
2
+ import { DomainDocumentType } from '../../types/document.types';
3
+ import { NavigationTreeNodeDoc } from '../../types/navigation.types';
4
+ export interface RNavigationSchema {
5
+ id: string;
6
+ identity: string;
7
+ name: string;
8
+ displayName?: string;
9
+ description?: string | null;
10
+ isSystem?: boolean;
11
+ folderId?: string | number | null;
12
+ project?: string | number | null;
13
+ tree?: NavigationTreeNodeDoc[];
14
+ meta?: Record<string, unknown>;
15
+ }
16
+ /** Навигация (коллекция navigations). */
17
+ export declare class RNavigation extends REntity {
18
+ description: string | null;
19
+ tree: NavigationTreeNodeDoc[];
20
+ /** Тип документа для редактора/инспектора. */
21
+ get type(): DomainDocumentType;
22
+ toPlain(): RNavigationSchema;
23
+ duplicate(options: DuplicateOptions): RNavigation;
24
+ }
@@ -0,0 +1,45 @@
1
+ import { DuplicateOptions, REntity } from './REntity';
2
+ import { DomainDocumentType } from '../../types/document.types';
3
+ export interface RPageAreaBlockSchema {
4
+ key: string;
5
+ entityType?: string | null;
6
+ /** Целочисленный id документа в Payload (relation value). */
7
+ entityId?: number | null;
8
+ /** Identity сущности (для отображения и fallback при сохранении). */
9
+ entityIdentity?: string | null;
10
+ titleOverride?: string | null;
11
+ visibleWhen?: string | null;
12
+ props?: Record<string, unknown> | null;
13
+ }
14
+ export interface RPageAreaSchema {
15
+ slotId: string;
16
+ blocks?: RPageAreaBlockSchema[];
17
+ }
18
+ export interface RPageSchema {
19
+ id: number;
20
+ identity: string;
21
+ name: string;
22
+ description?: string | null;
23
+ isSystem?: boolean;
24
+ routeName?: string | null;
25
+ routePath?: string | null;
26
+ templateId?: number | null;
27
+ controllerId?: number | null;
28
+ enabled?: boolean;
29
+ areas?: RPageAreaSchema[];
30
+ meta?: Record<string, unknown>;
31
+ }
32
+ /** Страница приложения (коллекция pages). */
33
+ export declare class RPage extends REntity {
34
+ description: string | null;
35
+ routeName: string | null;
36
+ routePath: string | null;
37
+ templateId: number | null;
38
+ controllerId: number | null;
39
+ enabled: boolean;
40
+ areas: RPageAreaSchema[];
41
+ /** Тип документа для редактора/инспектора. */
42
+ get type(): DomainDocumentType;
43
+ toPlain(): RPageSchema;
44
+ duplicate(options: DuplicateOptions): RPage;
45
+ }
@@ -0,0 +1,32 @@
1
+ import { DuplicateOptions, REntity } from './REntity';
2
+ import { DomainDocumentType } from '../../types/document.types';
3
+ export interface RPageTemplateAreaSchema {
4
+ identity: string;
5
+ title?: string | null;
6
+ description?: string | null;
7
+ }
8
+ /** short | normal | tall - высота строки в превью. */
9
+ export type RPageTemplatePreviewRowHeight = 'short' | 'normal' | 'tall';
10
+ export interface RPageTemplatePreviewSchema {
11
+ rows: string[][];
12
+ rowHeights?: RPageTemplatePreviewRowHeight[];
13
+ }
14
+ export interface RPageTemplateSchema {
15
+ id: string;
16
+ name: string;
17
+ description?: string | null;
18
+ isSystem?: boolean;
19
+ areas?: RPageTemplateAreaSchema[];
20
+ preview?: RPageTemplatePreviewSchema | null;
21
+ meta?: Record<string, unknown>;
22
+ }
23
+ /** Шаблон страницы (коллекция page-templates). */
24
+ export declare class RPageTemplate extends REntity {
25
+ description: string | null;
26
+ areas: RPageTemplateAreaSchema[];
27
+ preview: RPageTemplatePreviewSchema | null;
28
+ /** Тип документа для редактора/инспектора. */
29
+ get type(): DomainDocumentType;
30
+ toPlain(): RPageTemplateSchema;
31
+ duplicate(options: DuplicateOptions): RPageTemplate;
32
+ }
@@ -0,0 +1,13 @@
1
+ import { FilterFieldSchema, RParameterSchema, RuntimeFilterLinkEntity } from '../../types/query.types';
2
+ import { DomainDocumentType } from '../../types/document.types';
3
+ import { REntity } from './REntity';
4
+ export declare class RParameter extends REntity {
5
+ displayName: string;
6
+ description?: string;
7
+ fields: Map<string, FilterFieldSchema>;
8
+ runtimeFilters: RuntimeFilterLinkEntity[];
9
+ get type(): DomainDocumentType;
10
+ static fromPayload(raw: any): RParameter;
11
+ static fromPlain(json: RParameterSchema): RParameter;
12
+ toPlain(): RParameterSchema;
13
+ }
@@ -0,0 +1,7 @@
1
+ import { DuplicateOptions, REntity } from './REntity';
2
+ /** Сущность политики (коллекция policies). identity, displayName, description, folder. */
3
+ export declare class RPolicy extends REntity {
4
+ description?: string | null;
5
+ toPlain(): Record<string, unknown>;
6
+ duplicate(options: DuplicateOptions): RPolicy;
7
+ }
@@ -0,0 +1,20 @@
1
+ import { EndgeBindingMode } from '../../types/resolve.types';
2
+ import { REntity } from './REntity';
3
+ /** Сущность биндинга отображения (коллекция presentation-bindings). */
4
+ export declare class RPresentationBinding extends REntity {
5
+ projectId: number | null;
6
+ ownerType: string;
7
+ ownerId: number | null;
8
+ targetType: string;
9
+ targetId: number | null;
10
+ role: string;
11
+ rendererRef: string;
12
+ when: string | null;
13
+ mode: EndgeBindingMode;
14
+ priority: number;
15
+ isEnabled: boolean;
16
+ environmentId: number | null;
17
+ isInherited: boolean;
18
+ originBindingId: number | null;
19
+ toPlain(): Record<string, unknown>;
20
+ }
@@ -0,0 +1,68 @@
1
+ import { REntity } from './REntity';
2
+ /**
3
+ * Доменная сущность для проекта (projects).
4
+ *
5
+ * Схема (schema-часть):
6
+ * - id: string // identity или строковый id
7
+ * - identity: string
8
+ * - name: string
9
+ * - displayName: string
10
+ * - extendSettings: boolean
11
+ *
12
+ * Storage-мета (через REntity.applyStorageMeta):
13
+ * - createdAt, updatedAt, deletedAt, author, active
14
+ */
15
+ export declare class RProject extends REntity {
16
+ /** Отображаемое имя проекта */
17
+ displayName: string;
18
+ /** Наследоваться ли от базовых настроек */
19
+ extendSettings: boolean;
20
+ /** Описание проекта */
21
+ description?: string | null;
22
+ /** Slug (URL-имя) */
23
+ slug?: string | null;
24
+ /** Порядок сортировки в списке */
25
+ order?: number | null;
26
+ /** Id профиля настроек (relationship → settings) */
27
+ settingsId?: number | null;
28
+ /** Id навигации (relationship → navigations) */
29
+ navigationId?: number | null;
30
+ /** Список разрешённых окружений проекта (relationship[] → environments). */
31
+ allowedEnvironmentIds: number[];
32
+ /**
33
+ * Создание проекта из payload-документа:
34
+ *
35
+ * {
36
+ * id: number,
37
+ * identity: string,
38
+ * displayName: string,
39
+ * "extend-settings": boolean,
40
+ * deletedAt?: string | null,
41
+ * author?: string,
42
+ * createdAt?: string,
43
+ * updatedAt?: string,
44
+ * ...
45
+ * }
46
+ */
47
+ static fromPayload(json: any): RProject;
48
+ /**
49
+ * Создание проекта из plain-схемы (schema.toPlain()).
50
+ *
51
+ * Ожидается структура:
52
+ * {
53
+ * id: string
54
+ * identity?: string
55
+ * name?: string
56
+ * displayName?: string
57
+ * folder?: string | null
58
+ * extendSettings?: boolean
59
+ * }
60
+ */
61
+ static fromPlain(json: any): RProject;
62
+ /**
63
+ * Экспорт только схемы (без storage-меты).
64
+ * Используется в EndgeDomain.toPlain().
65
+ */
66
+ toPlain(): any;
67
+ compile(): void;
68
+ }
@@ -0,0 +1,43 @@
1
+ import { QueryType } from '../../types/document.types';
2
+ import { RQueryAuth, RQueryFilterApplyMode } from '../../types/query.types';
3
+ import { Nullable } from '@endge/utils';
4
+ import { DuplicateOptions, REntity } from './REntity';
5
+ import { RField } from './RField';
6
+ import { RQueryFilter } from './RQueryFilter';
7
+ export declare class RQuery extends REntity {
8
+ type: QueryType;
9
+ query: string;
10
+ returnField: RField;
11
+ endpoint: string;
12
+ subField: string;
13
+ params: Map<string, RField>;
14
+ mockData: string;
15
+ mockDataEnabled: boolean;
16
+ auth: RQueryAuth;
17
+ customExecutor: Nullable<() => Promise<any>>;
18
+ customGenerator: Nullable<(opts: {
19
+ count: number;
20
+ }) => Promise<any>>;
21
+ /** Режим применения списка фильтров (пока только слияние). */
22
+ filterMode: RQueryFilterApplyMode;
23
+ filters: RQueryFilter[];
24
+ constructor(name?: string, returnField?: RField);
25
+ /**
26
+ * Установка кастомных функций генерации и выполнения запроса
27
+ * @param opts.executor - функция выполнения запроса
28
+ * @param opts.generator - функция генерации данных (для моков)
29
+ */
30
+ override(opts: {
31
+ executor?: () => Promise<any>;
32
+ generator?: (opts: {
33
+ count: number;
34
+ }) => Promise<any>;
35
+ }): void;
36
+ addParam(name: string, type: RField): void;
37
+ getParams(): Map<string, RField>;
38
+ /**
39
+ * Выполнение запроса
40
+ */
41
+ run(params?: object): Promise<any>;
42
+ duplicate(options: DuplicateOptions): RQuery;
43
+ }
@@ -0,0 +1,12 @@
1
+ /** Режим элемента фильтра: свой JSON или ссылка на фильтр из коллекции. */
2
+ export type RQueryFilterItemMode = 'inline' | 'reference';
3
+ /**
4
+ * Один элемент фильтра запроса: либо inline JSON, либо ссылка на доменный фильтр (parameters).
5
+ */
6
+ export declare class RQueryFilter {
7
+ mode: RQueryFilterItemMode;
8
+ /** Identity фильтра из коллекции (parameters), если mode === 'reference'. */
9
+ filterId: string | null;
10
+ inlineJson: string | null;
11
+ constructor(init?: Partial<RQueryFilter>);
12
+ }
@@ -0,0 +1,21 @@
1
+ import { RQuery } from './RQuery';
2
+ import { HttpMethod } from '../../types/query.types';
3
+ export declare class RQueryRest extends RQuery {
4
+ /** HTTP-метод (по умолчанию POST) */
5
+ method: HttpMethod;
6
+ /** Заголовки по умолчанию для этого запроса */
7
+ headers: Record<string, string>;
8
+ /** Таймаут HTTP-запроса в миллисекундах (опционально) */
9
+ timeoutMs?: number;
10
+ /**
11
+ * Режим сериализации тела:
12
+ * - false: тело как JSON (по умолчанию)
13
+ * - true: тело как application/x-www-form-urlencoded (URLSearchParams)
14
+ */
15
+ sendAsFormUrlencoded: boolean;
16
+ /**
17
+ * Проверка конфигурации на этапе компиляции домена.
18
+ * (вызывается EndgeDomain.compile()).
19
+ */
20
+ compile(): void;
21
+ }
@@ -0,0 +1,20 @@
1
+ import { DuplicateOptions, REntity } from './REntity';
2
+ import { RuntimeScope } from '../runtime/RuntimeScope';
3
+ import { ScriptType } from '../../types/document.types';
4
+ export declare class RScenario extends REntity {
5
+ type: ScriptType;
6
+ setupScript: string;
7
+ previewQuery: object;
8
+ /**
9
+ * Компиляция сценария
10
+ */
11
+ compile(): void;
12
+ /**
13
+ * Запуск сценария
14
+ */
15
+ runner(): {
16
+ run: () => Promise<void>;
17
+ scope: RuntimeScope;
18
+ };
19
+ duplicate(options: DuplicateOptions): RScenario;
20
+ }