@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,51 @@
1
+ import { FlowExecutionResult } from '../../domain/types/endge-flow-runtime.types';
2
+ import { RuntimeHost } from '../../domain/types/runtime-host.types';
3
+ import { EndgeModule } from '../../domain/entities/endge/EndgeModule';
4
+ export declare class EndgeFlow extends EndgeModule {
5
+ /** Исполняет flow целиком внутри переданного action runtime-host и сохраняет результат в host.context. */
6
+ run(host: RuntimeHost<'action'>): Promise<void>;
7
+ /** Исполняет один block внутри переданного action runtime-host. */
8
+ runBlock(host: RuntimeHost<'action'>, blockId: string): Promise<FlowExecutionResult>;
9
+ /** Создаёт пустой flow-state для случаев, когда состояние ещё не инициализировано. */
10
+ private _createDefaultState;
11
+ /** Формирует канонический результат выполнения flow/block. */
12
+ private _createExecutionResult;
13
+ /** Преобразует параметры node в плоский объект значений для рантайма. */
14
+ private _toPlainParams;
15
+ /** Собирает error-результат с единым форматом issue. */
16
+ private _createErrorResult;
17
+ /**
18
+ * Определяет порт switch по условию (скрипт или реестр).
19
+ * Возвращает portId для выбора исходящего ребра.
20
+ */
21
+ private _getSwitchSelectedPortId;
22
+ /** Создаёт дочерний action-runtime с новым контекстом и ссылкой на родительский контекст. */
23
+ private _createActionRuntime;
24
+ /**
25
+ * Параметры, приходящие по входящему ребру на порт 'in':
26
+ * если источник — entrypoint (flow-entry), берём state.input; иначе — выход предыдущего шага.
27
+ */
28
+ private _getParamsFromIncomingEdge;
29
+ /**
30
+ * Строит payload для action с учётом input-схемы.
31
+ * Если params = { input: value } (единственный ключ "input"), передаём в action только value (массив и т.д.), без обёртки.
32
+ */
33
+ private _buildActionInput;
34
+ /**
35
+ * Подготавливает payload для query с учётом сигнатуры параметров.
36
+ * Поддерживает сценарий, когда в flow передаётся только `input`, а у query объявлен единственный параметр.
37
+ */
38
+ private _buildQueryInput;
39
+ /** Формирует runtime-контекст, который передаётся в custom/runtime handlers. */
40
+ private _createFlowHandlerContext;
41
+ /** Рекурсивно резолвит параметры node через текущий flow-state. */
42
+ private _resolveNodeParams;
43
+ /** Рекурсивно резолвит значение параметра: строки, массивы и объекты. */
44
+ private _resolveValue;
45
+ /** Резолвит выражения вида `{ctx...}` в строках параметров node. */
46
+ private _resolveStringValue;
47
+ /** Достаёт значение из flow-state по пути `ctx.*`. */
48
+ private _getContextValue;
49
+ /** Проверяет, является ли строка полным выражением контекста (`{ctx...}`). */
50
+ private _extractFullContextPath;
51
+ }
@@ -0,0 +1,20 @@
1
+ import { RQuery } from '../../domain/entities/reflect/RQuery';
2
+ import { AxiosInstance } from 'axios';
3
+ import { EndgeModule } from '../../domain/entities/endge/EndgeModule';
4
+ export declare class EndgeQuery extends EndgeModule {
5
+ private readonly http;
6
+ constructor(http?: AxiosInstance);
7
+ /** Разрешает один элемент фильтра в объект (inline JSON или reference из Raph). space - из рантайма (meta.space). */
8
+ private resolveFilterItem;
9
+ /** Собирает итоговый фильтр: последовательное слияние всех элементов q.filters. space - из рантайма. */
10
+ private buildMergedFilter;
11
+ private deepMerge;
12
+ run(query: RQuery, params?: Record<string, unknown>): Promise<any>;
13
+ /** Безопасно склеивает base и path с учётом слэшей; если path абсолютный - возвращаем его. */
14
+ private buildUrl;
15
+ /**
16
+ * Исполнение REST-запроса (через общий axios из Endge.runtime.http).
17
+ */
18
+ private runRest;
19
+ private applyAuth;
20
+ }
@@ -0,0 +1,17 @@
1
+ import { RenderComponentInfo, RenderComponentType } from '../../domain/types/types';
2
+ import { EndgeModule } from '../../domain/entities/endge/EndgeModule';
3
+ export declare class EndgeRender extends EndgeModule {
4
+ /**
5
+ * @deprecated Используйте Endge.uiRegistry.registerLegacyComponentRenderer.
6
+ * Совместимый фасад поверх единого uiRegistry.
7
+ */
8
+ register(type: string, renderType: RenderComponentType, component: any): void;
9
+ /**
10
+ * @deprecated Используйте Endge.uiRegistry.getLegacyComponentRendererByRef.
11
+ */
12
+ get(type: string): RenderComponentInfo | undefined;
13
+ /**
14
+ * @deprecated Используйте Endge.uiRegistry.serialize().legacyRenderers
15
+ */
16
+ getKeys(): string[];
17
+ }
@@ -0,0 +1,22 @@
1
+ import { RuntimeHost } from '@endge/core';
2
+ import { default as ExcelJS } from 'exceljs';
3
+ import { EndgeModule } from '../../domain/entities/endge/EndgeModule';
4
+ export declare class EndgeReports extends EndgeModule {
5
+ downloadTable(runtime: RuntimeHost<'table'>, filename?: string): Promise<void>;
6
+ buildTableWorkbook(runtime: RuntimeHost<'table'>): Promise<ExcelJS.Workbook>;
7
+ private getRuntimeMeta;
8
+ private getSourceVar;
9
+ private readRows;
10
+ private getReportKeysForColumn;
11
+ private getReportCfg;
12
+ private getColumnCellValue;
13
+ private getByRaphPath;
14
+ private tryConvert;
15
+ private applyFormatter;
16
+ private coerceDefault;
17
+ private toDate;
18
+ private applyCellExcelFormatting;
19
+ private mapFormatToExcelNumFmt;
20
+ private autofitColumns;
21
+ private cellToString;
22
+ }
@@ -0,0 +1,60 @@
1
+ import { EndgeModule } from '../../domain/entities/endge/EndgeModule';
2
+ export interface RuntimeDebugTab {
3
+ id: string;
4
+ url: string;
5
+ title: string;
6
+ at: number;
7
+ }
8
+ /**
9
+ * Подключает вкладку к каналу обмена для отладки.
10
+ * start() - создаёт канал и слушает регистрации (вызывать в админке).
11
+ * activate() - регистрирует текущую вкладку (в консоли: Endge.debugTab()).
12
+ */
13
+ export declare class EndgeRuntimeDebugger extends EndgeModule {
14
+ /** Канал для отправки (activate) */
15
+ private _channel;
16
+ /** Канал для приёма (start); живёт глобально в админке */
17
+ private _listenerChannel;
18
+ private _tabId;
19
+ private _tabs;
20
+ private _autoRegisterTimer;
21
+ private _analysisByTabId;
22
+ private _diagnosticsListener;
23
+ init(): void;
24
+ /**
25
+ * ACCESS
26
+ */
27
+ get tabs(): RuntimeDebugTab[];
28
+ get isListening(): boolean;
29
+ getAnalysis(tabId: string): string[];
30
+ /**
31
+ * Отправить команду во все подключённые вкладки.
32
+ * Используется админкой для запуска анализа по текущей вкладке.
33
+ */
34
+ sendCommand(command: string, payload?: Record<string, unknown>): void;
35
+ /**
36
+ * Запустить прослушку канала (создать канал и накапливать вкладки). Вызывать из админки при init.
37
+ */
38
+ start(): void;
39
+ /**
40
+ * Остановить прослушку, закрыть канал, очистить список вкладок.
41
+ */
42
+ stop(): void;
43
+ private _onMessage;
44
+ private _getChannel;
45
+ private _getTabId;
46
+ private _postRegister;
47
+ /**
48
+ * Обработка команд на стороне клиентской вкладки.
49
+ * Здесь просто логируем получение команды для отладки.
50
+ */
51
+ private _onClientMessage;
52
+ private _ensureAutoRegister;
53
+ /**
54
+ * Зарегистрировать текущую вкладку в канале отладки (в консоли: Endge.debugTab()).
55
+ * При активации подписывается на Endge.diagnostics и дублирует записи в канал для админки.
56
+ */
57
+ activate(): void;
58
+ /** Один раз подписаться на diagnostics и слать записи в канал. Не делаем на странице админки. */
59
+ private _ensureDiagnosticsForwarding;
60
+ }
@@ -0,0 +1,87 @@
1
+ import { RComponent } from '../../domain/types/component.types';
2
+ import { RuntimeEntityType } from '../../domain/types/runtime-entity-map.types';
3
+ import { RuntimeHost } from '../../domain/types/runtime-host.types';
4
+ import { RuntimeHostRegistrySnapshot } from '../../domain/types/runtime-registry.types';
5
+ import { EndgeModule } from '../../domain/entities/endge/EndgeModule';
6
+ import { RAction } from '../../domain/entities/reflect/RAction';
7
+ import { RComponentTable } from '../../domain/entities/reflect/RComponentTable';
8
+ import { RPage } from '../../domain/entities/reflect/RPage';
9
+ import { RProject } from '../../domain/entities/reflect/RProject';
10
+ import { RQuery } from '../../domain/entities/reflect/RQuery';
11
+ import { RView } from '../../domain/entities/reflect/RView';
12
+ export type RuntimeExecutableModel = RQuery | RComponentTable | RAction | RProject | RView | RPage | RComponent;
13
+ type AnyRuntimeHost = RuntimeHost<any, any>;
14
+ export interface EndgeRuntimeSnapshot extends RuntimeHostRegistrySnapshot {
15
+ generatedAt: number;
16
+ }
17
+ export declare class EndgeRuntime extends EndgeModule {
18
+ private _hosts;
19
+ private _nextRuntimeId;
20
+ private _inited;
21
+ /**
22
+ * Регистрирует runtime-фазы в Raph один раз.
23
+ */
24
+ init(): void;
25
+ /**
26
+ * Создаёт runtime-host для переданной доменной модели.
27
+ */
28
+ execute(model: RuntimeExecutableModel, meta?: Record<string, any>): AnyRuntimeHost | null;
29
+ /**
30
+ * Возвращает runtime-host по его runtime-id.
31
+ */
32
+ getRuntimeById<T = AnyRuntimeHost>(runtimeId: string): T | null;
33
+ /**
34
+ * Возвращает список всех активных runtime-host.
35
+ */
36
+ getRuntimeHosts(): AnyRuntimeHost[];
37
+ /**
38
+ * Возвращает снимки удалённых runtime-host из debug-архива.
39
+ */
40
+ getDeletedRuntimeHostSnapshots(): import('../../domain/types/runtime-host.types').RuntimeHostSnapshot[];
41
+ /**
42
+ * Полностью удалить snapshot runtime-host из debug-архива удалённых.
43
+ */
44
+ removeDeletedRuntimeHostSnapshot(runtimeId: string): void;
45
+ /**
46
+ * Полностью очистить debug-архив удалённых runtime-host.
47
+ */
48
+ clearDeletedRuntimeHostSnapshots(): void;
49
+ /**
50
+ * Возвращает runtime-host по доменной сущности.
51
+ */
52
+ getRuntimeHostsByEntity(entityType: RuntimeEntityType, entityIdentity: string): AnyRuntimeHost[];
53
+ /**
54
+ * Возвращает общий snapshot runtime-состояния.
55
+ */
56
+ snapshot(): EndgeRuntimeSnapshot;
57
+ /**
58
+ * Корректно разрушает runtime-host по runtime-id.
59
+ */
60
+ destroyRuntime(runtimeId: string): void;
61
+ /**
62
+ * Корректно разрушает runtime-host и всех его дочерних host.
63
+ */
64
+ destroyRuntimeTree(runtimeId: string): void;
65
+ /**
66
+ * Корректно разрушает все зарегистрированные runtime-host.
67
+ */
68
+ reset(): void;
69
+ /**
70
+ * Внутренний destroy для host с контролем уведомления подписчиков.
71
+ */
72
+ private destroyRuntimeInternal;
73
+ /**
74
+ * Определяет runtime-kind по переданной модели.
75
+ */
76
+ private detectKind;
77
+ /**
78
+ * Создаёт host конкретного kind и регистрирует его в runtime-registry.
79
+ */
80
+ private createHost;
81
+ /**
82
+ * Генерирует следующий runtime-id.
83
+ */
84
+ private createRuntimeId;
85
+ private resolveParentHost;
86
+ }
87
+ export {};
@@ -0,0 +1,217 @@
1
+ import { DomainDocumentType } from '../../domain/types/document.types';
2
+ import { EndgeSchemaDump, EndgeSchemaError, RepositoriesBag } from '../../domain/types/schema.types';
3
+ import { EndgeModule } from '../../domain/entities/endge/EndgeModule';
4
+ /**
5
+ * EndgeSchemaStorage:
6
+ * - держит соединение с Payload
7
+ * - инициализирует репозитории
8
+ * - ведёт health / ошибки
9
+ * - умеет выгружать все коллекции в schema-dump (exportAll)
10
+ */
11
+ export declare class EndgeSchemaStorage extends EndgeModule {
12
+ isFirstCheck: boolean;
13
+ payloadBaseAPI: string;
14
+ payloadSecret: string;
15
+ /** Жив ли вообще Payload (получился ли клиент и ответил ли пинг). */
16
+ isPayloadAvailable: boolean;
17
+ /** Все ли коллекции успешно отпинговались. */
18
+ areCollectionsAvailable: boolean;
19
+ /** Внутренний axios-клиент Payload. */
20
+ private api;
21
+ /** Список ошибок последней проверки (глобальный). */
22
+ private _errors;
23
+ /** Публичный readonly-геттер ошибок. */
24
+ get ERRORS(): readonly EndgeSchemaError[];
25
+ /** Подключённые репозитории (после init/refresh). */
26
+ repositories: RepositoriesBag | null;
27
+ /**
28
+ * По каждой коллекции:
29
+ * - ok: успешно ли прошёл пинг
30
+ * - errors: список ошибок, относящихся именно к этой коллекции
31
+ *
32
+ * Ключ - это id коллекции, например: "projects", "types", "queries", ...
33
+ */
34
+ collectionsInfo: Record<string, {
35
+ ok: boolean;
36
+ errors: EndgeSchemaError[];
37
+ }>;
38
+ /**
39
+ * Список коллекций, которые считаем «репозиториями схем».
40
+ * Если какую-то коллекцию пока не используешь - просто удали/добавь.
41
+ */
42
+ collectionsToCheck: string[];
43
+ /** Совокупное здоровье. */
44
+ get isHealthy(): boolean;
45
+ get hasErrors(): boolean;
46
+ /**
47
+ * Полная инициализация:
48
+ * - сохраняем baseURL / secret
49
+ * - создаём axios-клиент
50
+ * - вызываем refresh()
51
+ * - запускаем периодический refresh()
52
+ */
53
+ init(): Promise<void>;
54
+ init(opts: {
55
+ payloadBaseAPI: string;
56
+ payloadSecret: string;
57
+ }): Promise<void>;
58
+ logResult(): void;
59
+ /**
60
+ * Обновление health + инициализация репозиториев.
61
+ */
62
+ refresh(): Promise<void>;
63
+ /**
64
+ * Загружает список версий (без data) в Endge.domain.
65
+ */
66
+ loadVersionsList(): Promise<void>;
67
+ /**
68
+ * Загружает все сущности из Payload в Endge.domain и компилирует домен.
69
+ */
70
+ hydrateDomain(): Promise<EndgeSchemaDump>;
71
+ /**
72
+ * Выгружает ВСЕ данные по всем коллекциям и приводит их
73
+ * к «чистому» schema-формату (без storage-мета).
74
+ */
75
+ exportAll(): Promise<EndgeSchemaDump>;
76
+ /**
77
+ * Возвращает документ из домена по типу и id/identity.
78
+ */
79
+ private getDomainDocumentByType;
80
+ /**
81
+ * Разрешает identity документа по входному id/identity.
82
+ * Нужен для репозиториев, где основной ключ запроса - identity.
83
+ */
84
+ private resolveDocumentIdentity;
85
+ /** Payload id документа из домена (для PATCH без лишнего GET). */
86
+ private resolveDocumentPayloadId;
87
+ private isMalformedPayloadDocumentId;
88
+ private findPayloadDocumentByIdentity;
89
+ private resolveDocumentPayloadIdForFolderPatch;
90
+ private patchDocumentFolderByPayloadId;
91
+ /**
92
+ * Разрешает id папки, который ожидает Payload в relation-поле `folder`.
93
+ * На вход можно передавать id, identity или `null` (корень секции).
94
+ */
95
+ private resolveFolderPayloadId;
96
+ /**
97
+ * Мягкое удаление документа в Payload: по identity находит документ и вызывает PATCH с deletedAt и folder = id папки «soft-deleted».
98
+ * В URL PATCH передаётся id документа (первичный ключ Payload), не identity.
99
+ */
100
+ deleteDocument(documentIdOrIdentity: string, documentType: DomainDocumentType): Promise<void>;
101
+ /**
102
+ * Жёсткое удаление документа из Payload (DELETE). Используется для уже удалённых сущностей (из папки «Удалённые»).
103
+ */
104
+ deleteDocumentHard(documentIdOrIdentity: string, documentType: DomainDocumentType): Promise<void>;
105
+ /**
106
+ * Восстановление документа: сброс deletedAt и folder в Payload (перенос в корень секции).
107
+ */
108
+ restoreDocument(documentIdOrIdentity: string, documentType: DomainDocumentType): Promise<void>;
109
+ private _resolveFolderEntityType;
110
+ /**
111
+ * Сохраняет папку в Payload (создаёт или обновляет по identity).
112
+ */
113
+ saveFolder(folderId: string): Promise<void>;
114
+ /**
115
+ * Удаляет папку в Payload (DELETE). Дочерние папки на бэкенде переносятся в beforeDelete.
116
+ */
117
+ deleteFolder(folderIdentity: string): Promise<void>;
118
+ syncOwnerBehaviorBindings(opts: {
119
+ ownerType: string;
120
+ ownerId: number;
121
+ targetType?: string | null;
122
+ targetId?: number | null;
123
+ projectId?: number | null;
124
+ items: Array<{
125
+ id?: number | null;
126
+ identity?: string | null;
127
+ displayName?: string | null;
128
+ projectId?: number | null;
129
+ targetType?: string | null;
130
+ targetId?: number | null;
131
+ eventName?: string | null;
132
+ scriptRef?: string | null;
133
+ mode?: string | null;
134
+ priority?: number | null;
135
+ isEnabled?: boolean | null;
136
+ environmentId?: number | null;
137
+ isInherited?: boolean | null;
138
+ originBindingId?: number | null;
139
+ }>;
140
+ }): Promise<void>;
141
+ syncOwnerPresentationBindings(opts: {
142
+ ownerType: string;
143
+ ownerId: number;
144
+ targetType?: string | null;
145
+ targetId?: number | null;
146
+ projectId?: number | null;
147
+ items: Array<{
148
+ id?: number | null;
149
+ identity?: string | null;
150
+ displayName?: string | null;
151
+ projectId?: number | null;
152
+ targetType?: string | null;
153
+ targetId?: number | null;
154
+ role?: string | null;
155
+ rendererRef?: string | null;
156
+ when?: string | null;
157
+ mode?: string | null;
158
+ priority?: number | null;
159
+ isEnabled?: boolean | null;
160
+ environmentId?: number | null;
161
+ isInherited?: boolean | null;
162
+ originBindingId?: number | null;
163
+ }>;
164
+ }): Promise<void>;
165
+ /**
166
+ * Прямой upsert payload-документа (JSON) по выбранному типу.
167
+ * Используется для advanced-режима в модалке создания документов.
168
+ */
169
+ upsertPayloadDocumentRaw(documentType: DomainDocumentType, payloadDoc: Record<string, unknown>): Promise<void>;
170
+ /**
171
+ * Сохраняет один документ в Payload по типу: дергает нужный репозиторий и upsert.
172
+ */
173
+ saveDocument(documentId: string | number, documentType: DomainDocumentType, opts?: {
174
+ model?: unknown;
175
+ }): Promise<void>;
176
+ /**
177
+ * Меняет только папку документа в Payload. Данные берутся из домена (identity), запрос - один PATCH с полем folder.
178
+ * Ответ PATCH парсится и вставляется в домен для реактивного обновления виджета.
179
+ */
180
+ changeDocumentFolder(documentId: string | number, documentType: DomainDocumentType, folderIdOrIdentity: string | number | null): Promise<void>;
181
+ /**
182
+ * Парсит ответ PATCH и вставляет документ в домен (merge) для реактивного обновления UI.
183
+ * notifyDomainChanged — эмитить domainChanged в AppBus (при сохранении через репозиторий).
184
+ */
185
+ private _applyPayloadDocToDomain;
186
+ /**
187
+ * Нормализует ответ Payload до объекта документа.
188
+ * POST/PATCH могут возвращать либо сам doc, либо обёртку с `doc`/`data.doc`.
189
+ */
190
+ private _extractPayloadDoc;
191
+ /**
192
+ * Удаляет старый документ из доменных индексов перед вставкой обновлённого payload-документа.
193
+ */
194
+ private _removeDomainDocumentByType;
195
+ /**
196
+ * Локально обновляет только папку документа (и related-поля), затем шлёт notify.
197
+ */
198
+ private _updateDomainDocumentFolder;
199
+ private _getDumpKey;
200
+ private _normalizePayloadDocToPlain;
201
+ private _normalizeComponentPayloadDoc;
202
+ /**
203
+ * Утилита для добавления ошибки с timestamp.
204
+ * Возвращает созданный объект ошибки, чтобы его можно было
205
+ * положить ещё и в коллекционную структуру.
206
+ */
207
+ private pushError;
208
+ /**
209
+ * Приводим ошибку к компактному JSON, чтобы её можно было
210
+ * безболезненно сохранить/логировать/показывать в UI.
211
+ */
212
+ private normalizeError;
213
+ /**
214
+ * Удобный toJSON - можно сразу складывать в лог/стейт.
215
+ */
216
+ toJSON(): any;
217
+ }
@@ -0,0 +1,42 @@
1
+ import { RuntimeContext } from '../../domain/entities/runtime/RuntimeContext';
2
+ import { RuntimeEnvironment } from '../../domain/entities/runtime/RuntimeEnvironment';
3
+ import { RuntimeScope } from '../../domain/entities/runtime/RuntimeScope';
4
+ import { EndgeModule } from '../../domain/entities/endge/EndgeModule';
5
+ /**
6
+ * Логика работы со скриптами и JSX.
7
+ */
8
+ export declare class EndgeScript extends EndgeModule {
9
+ env: RuntimeEnvironment;
10
+ /**
11
+ * Настроить глобальный контекст редактора для живых подсказок (Контекст сценария)
12
+ */
13
+ declareScenario(): void;
14
+ /**
15
+ * Настроить глобальный контекст редактора для живых подсказок (Контекст DSL рендера)
16
+ */
17
+ declareJSX(): void;
18
+ /**
19
+ * Создает внутренний контекст скрипта, доступный пользователю
20
+ */
21
+ makeContext(scope: RuntimeScope, ctxExtended?: Partial<RuntimeContext>): RuntimeContext;
22
+ /**
23
+ * Возвращает наш контекст скрипта для коммуникации между слоями (мост)
24
+ */
25
+ getEnvironment(): RuntimeEnvironment;
26
+ /**
27
+ * Возвращает сегмент окружения по id.
28
+ */
29
+ getScope(id: string, parent?: RuntimeScope): RuntimeScope;
30
+ /**
31
+ * Запуск скрипта асинхронно.
32
+ */
33
+ runAsync(script: string, scope: RuntimeScope, ctx?: Partial<RuntimeContext>, exportNames?: Set<string>): Promise<void>;
34
+ /**
35
+ * Запуск скрипта синхронно.
36
+ */
37
+ runSync(script: string, scope: RuntimeScope, ctx?: Partial<RuntimeContext>, exportNames?: Set<string>): void;
38
+ /**
39
+ * Вычисление выражения синхронно с возвратом результата.
40
+ */
41
+ evaluate(script: string, scope: RuntimeScope, ctx?: Partial<RuntimeContext>): any;
42
+ }
@@ -0,0 +1,19 @@
1
+ import { EndgeModule } from '../../domain/entities/endge/EndgeModule';
2
+ export declare class EndgeSSE extends EndgeModule {
3
+ private _sseManager;
4
+ private readonly _delayExecutor;
5
+ private readonly _upsMeter;
6
+ private _tokenCached;
7
+ private _tokenRefreshTimer;
8
+ constructor();
9
+ init(): Promise<void>;
10
+ reset(): void;
11
+ startSSE(): Promise<void>;
12
+ emitCustomSSEEvent(message: unknown): void;
13
+ stopSSE(): void;
14
+ toggleSSE(): void;
15
+ get sseRate(): number;
16
+ get isSSEActive(): boolean;
17
+ private startTokenRefreshTimer;
18
+ private refreshTokenCached;
19
+ }
@@ -0,0 +1,41 @@
1
+ import { EndgeModule } from '../../domain/entities/endge/EndgeModule';
2
+ export declare class EndgeStore extends EndgeModule {
3
+ static Default: string;
4
+ private state;
5
+ private keyedSubscribers;
6
+ private globalSubscribers;
7
+ constructor();
8
+ /**
9
+ * Подписка на изменения по ключу store.
10
+ * @param storeKey Ключ стора
11
+ * @param listener Колбэк на обновление
12
+ * @returns Функция отписки
13
+ */
14
+ subscribe(listener: () => void): () => void;
15
+ subscribe(storeKey: string, listener: () => void): () => void;
16
+ /**
17
+ * Подписка на любые изменения (любой storeKey)
18
+ */
19
+ subscribeAll(listener: (storeKey: string) => void): () => void;
20
+ /**
21
+ * Обновляет данные стора и уведомляет подписчиков этого стора.
22
+ * @param storeKey Ключ стора
23
+ * @param newData Новые данные
24
+ */
25
+ updateState(storeKey: string, newData: any): void;
26
+ /**
27
+ * Возвращает состояние указанного стора.
28
+ * @param storeKey Ключ стора (по умолчанию "default")
29
+ */
30
+ getState(storeKey?: string): any;
31
+ /**
32
+ * Возвращает состояния всех сторов.
33
+ */
34
+ getStates(): Map<string, any>;
35
+ /**
36
+ * Уведомляет подписчиков определённого стора.
37
+ * @param storeKey Ключ стора
38
+ */
39
+ notify(): void;
40
+ notify(storeKey: string): void;
41
+ }
@@ -0,0 +1,45 @@
1
+ import { StyleBlocksPayload } from '../../domain/types/styles.types';
2
+ import { EndgeModule } from '../../domain/entities/endge/EndgeModule';
3
+ /** Id тега <style>, в который подставляются скомпилированные стили домена. */
4
+ export declare const ENDGE_STYLES_ELEMENT_ID = "endge-styles-injected";
5
+ /** Источник стилей для init (домен или аналог). */
6
+ export interface EndgeStylesDomainSource {
7
+ getStyles(): Array<{
8
+ identity: string;
9
+ styles: Record<string, unknown>;
10
+ }>;
11
+ }
12
+ /**
13
+ * Подмодуль компиляции стилей домена в CSS.
14
+ * Преобразует блоки path + properties в селекторы и kebab-case свойства.
15
+ */
16
+ export declare class EndgeStyles extends EndgeModule {
17
+ /** camelCase → kebab-case */
18
+ static camelToKebab(s: string): string;
19
+ /** Свойства в camelCase → строки "key: value;" в kebab-case */
20
+ static propertiesToDecls(properties: Record<string, string | number>): string[];
21
+ /** Проверка, является ли ключ селектором "<type>:<id>". */
22
+ static isSelectorKey(key: string): boolean;
23
+ /** Преобразовать ключ селектора в CSS-селектор. */
24
+ static selectorKeyToCss(key: string): string;
25
+ /** Рекурсивно скомпилировать один JSON-блок в набор CSS-правил. */
26
+ private compileJsonBlock;
27
+ /**
28
+ * Скомпилировать payload стиля (поле styles сущности) в одну строку CSS.
29
+ */
30
+ compile(payload: StyleBlocksPayload): string;
31
+ /**
32
+ * Скомпилировать несколько стилей (например, по домену) в одну строку CSS.
33
+ * @param items пары [identity, payload] для префиксации при отладке (опционально)
34
+ */
35
+ compileMany(items: Array<{
36
+ identity?: string;
37
+ payload: StyleBlocksPayload;
38
+ }>): string;
39
+ /**
40
+ * Применить все стили домена в DOM: компиляция и вставка в <style id="...">.
41
+ * Вызывать после загрузки домена (например из Endge.init).
42
+ */
43
+ init(): void;
44
+ init(domain: EndgeStylesDomainSource): void;
45
+ }
@@ -0,0 +1,16 @@
1
+ import { EndgeScenarioTestingOptions } from '../../domain/types/types';
2
+ import { EndgeModule } from '../../domain/entities/endge/EndgeModule';
3
+ export declare class EndgeTesting extends EndgeModule {
4
+ private _testingOptions;
5
+ private _updatesRunner;
6
+ /**
7
+ * Если настройки тестирования установлены,
8
+ * то запуск сценария будет происходить с этими настройками.
9
+ */
10
+ setupTestingOptions(options: EndgeScenarioTestingOptions | null, opts?: {
11
+ mode: 'append' | 'replace';
12
+ }): void;
13
+ startUpdatesThread(): void;
14
+ stopUpdatesThread(): void;
15
+ get testingOptions(): EndgeScenarioTestingOptions | null;
16
+ }