@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,235 @@
1
+ import { DiagnosticsSpan } from '../entities/diagnostics/DiagnosticsSpan';
2
+ /**
3
+ * Уровни диагностики упорядочены от самого подробного к самому критичному.
4
+ * Политика модуля может отсекать всё, что ниже заданного порога.
5
+ */
6
+ export type DiagnosticsLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal';
7
+ /**
8
+ * Канонические типы record внутри модуля.
9
+ * Модуль оперирует только ими и не знает ничего о UI-представлениях.
10
+ */
11
+ export type DiagnosticsRecordKind = 'trace-start' | 'trace-end' | 'span-start' | 'span-end' | 'event' | 'measurement' | 'snapshot';
12
+ export type DiagnosticsScalar = string | number | boolean | null | undefined;
13
+ /**
14
+ * Плоские атрибуты record.
15
+ * Здесь не должно быть тяжёлых объектов, чтобы запись оставалась дешёвой.
16
+ */
17
+ export type DiagnosticsAttrs = Record<string, DiagnosticsScalar>;
18
+ /**
19
+ * Ссылка на сущность ядра, к которой относится запись.
20
+ */
21
+ export interface DiagnosticsEntityRef {
22
+ type: string;
23
+ id: string;
24
+ attrs?: DiagnosticsAttrs;
25
+ }
26
+ /**
27
+ * Контекст выполнения, независимый от UI-фреймворков.
28
+ */
29
+ export interface DiagnosticsContextRef {
30
+ module?: string;
31
+ runtimeId?: string;
32
+ project?: string;
33
+ environment?: string;
34
+ tenantId?: string;
35
+ userId?: string;
36
+ sessionId?: string;
37
+ }
38
+ export interface DiagnosticsCorrelation {
39
+ traceId: string;
40
+ spanId?: string;
41
+ parentSpanId?: string;
42
+ }
43
+ /**
44
+ * Базовая форма любой диагностической записи.
45
+ */
46
+ export interface DiagnosticsRecordBase {
47
+ id: number;
48
+ ts: number;
49
+ level: DiagnosticsLevel;
50
+ kind: DiagnosticsRecordKind;
51
+ channel?: string;
52
+ name?: string;
53
+ corr?: DiagnosticsCorrelation;
54
+ attrs?: DiagnosticsAttrs;
55
+ entities?: DiagnosticsEntityRef[];
56
+ context?: DiagnosticsContextRef;
57
+ }
58
+ export interface DiagnosticsTraceStartRecord extends DiagnosticsRecordBase {
59
+ kind: 'trace-start';
60
+ name: string;
61
+ corr: DiagnosticsCorrelation;
62
+ }
63
+ export interface DiagnosticsTraceEndRecord extends DiagnosticsRecordBase {
64
+ kind: 'trace-end';
65
+ name: string;
66
+ corr: DiagnosticsCorrelation;
67
+ durMs: number;
68
+ }
69
+ export interface DiagnosticsSpanStartRecord extends DiagnosticsRecordBase {
70
+ kind: 'span-start';
71
+ name: string;
72
+ corr: DiagnosticsCorrelation;
73
+ }
74
+ export interface DiagnosticsSpanEndRecord extends DiagnosticsRecordBase {
75
+ kind: 'span-end';
76
+ name: string;
77
+ corr: DiagnosticsCorrelation;
78
+ durMs: number;
79
+ }
80
+ export interface DiagnosticsEventRecord extends DiagnosticsRecordBase {
81
+ kind: 'event';
82
+ message: string;
83
+ data?: unknown;
84
+ error?: unknown;
85
+ }
86
+ export interface DiagnosticsMeasurementRecord extends DiagnosticsRecordBase {
87
+ kind: 'measurement';
88
+ name: string;
89
+ value: number;
90
+ unit?: string;
91
+ }
92
+ export interface DiagnosticsSnapshotRecord extends DiagnosticsRecordBase {
93
+ kind: 'snapshot';
94
+ name: string;
95
+ payload?: unknown;
96
+ }
97
+ export type DiagnosticsRecord = DiagnosticsTraceStartRecord | DiagnosticsTraceEndRecord | DiagnosticsSpanStartRecord | DiagnosticsSpanEndRecord | DiagnosticsEventRecord | DiagnosticsMeasurementRecord | DiagnosticsSnapshotRecord;
98
+ export interface DiagnosticsScopeOptions {
99
+ level?: DiagnosticsLevel;
100
+ channel?: string;
101
+ attrs?: DiagnosticsAttrs;
102
+ entities?: DiagnosticsEntityRef[];
103
+ context?: Partial<DiagnosticsContextRef>;
104
+ }
105
+ export interface DiagnosticsEventOptions extends DiagnosticsScopeOptions {
106
+ data?: unknown;
107
+ error?: unknown;
108
+ }
109
+ export interface DiagnosticsMeasurementOptions extends DiagnosticsScopeOptions {
110
+ unit?: string;
111
+ }
112
+ export interface DiagnosticsSnapshotOptions extends DiagnosticsScopeOptions {
113
+ payload?: unknown;
114
+ }
115
+ export interface DiagnosticsPolicy {
116
+ enabled: boolean;
117
+ levelThreshold: DiagnosticsLevel;
118
+ sampleRate: number;
119
+ maxRecords: number;
120
+ includeChannels: string[];
121
+ excludeChannels: string[];
122
+ exportersEnabled: boolean;
123
+ persistPolicy: boolean;
124
+ }
125
+ export interface DiagnosticsCounters {
126
+ totalRecords: number;
127
+ droppedByPolicy: number;
128
+ droppedByCapacity: number;
129
+ activeExporters: number;
130
+ openTraces: number;
131
+ openSpans: number;
132
+ recordsByKind: Partial<Record<DiagnosticsRecordKind, number>>;
133
+ recordsByChannel: Record<string, number>;
134
+ }
135
+ export interface DiagnosticsRecordQuery {
136
+ traceId?: string;
137
+ entity?: {
138
+ type: string;
139
+ id: string;
140
+ };
141
+ channel?: string;
142
+ levelAtLeast?: DiagnosticsLevel;
143
+ limit?: number;
144
+ }
145
+ /**
146
+ * Полный snapshot модуля для чтения извне.
147
+ * По умолчанию records можно не включать, чтобы дешево получать только состояние.
148
+ */
149
+ export interface DiagnosticsSnapshot {
150
+ sessionId: string;
151
+ policy: DiagnosticsPolicy;
152
+ counters: DiagnosticsCounters;
153
+ records?: DiagnosticsRecord[];
154
+ }
155
+ export interface DiagnosticsScopeWriter {
156
+ readonly sessionId: string;
157
+ writeEvent(input: {
158
+ message: string;
159
+ level: DiagnosticsLevel;
160
+ channel?: string;
161
+ attrs?: DiagnosticsAttrs;
162
+ entities?: DiagnosticsScopeOptions['entities'];
163
+ context?: DiagnosticsContextRef;
164
+ traceId: string;
165
+ spanId?: string;
166
+ data?: unknown;
167
+ error?: unknown;
168
+ }): void;
169
+ writeMeasurement(input: {
170
+ name: string;
171
+ value: number;
172
+ unit?: string;
173
+ level: DiagnosticsLevel;
174
+ channel?: string;
175
+ attrs?: DiagnosticsAttrs;
176
+ entities?: DiagnosticsScopeOptions['entities'];
177
+ context?: DiagnosticsContextRef;
178
+ traceId: string;
179
+ spanId?: string;
180
+ }): void;
181
+ writeSnapshot(input: {
182
+ name: string;
183
+ payload?: unknown;
184
+ level: DiagnosticsLevel;
185
+ channel?: string;
186
+ attrs?: DiagnosticsAttrs;
187
+ entities?: DiagnosticsScopeOptions['entities'];
188
+ context?: DiagnosticsContextRef;
189
+ traceId: string;
190
+ spanId?: string;
191
+ }): void;
192
+ }
193
+ export interface DiagnosticsSpanOwner extends DiagnosticsScopeWriter {
194
+ startSpan(name: string, options: DiagnosticsScopeOptions & {
195
+ traceId: string;
196
+ parentSpanId?: string;
197
+ }): DiagnosticsSpan;
198
+ createInactiveSpan(traceId: string, parentSpanId: string | undefined): DiagnosticsSpan;
199
+ writeSpanEnd(input: {
200
+ name: string;
201
+ level: DiagnosticsLevel;
202
+ channel?: string;
203
+ attrs?: DiagnosticsAttrs;
204
+ entities?: DiagnosticsScopeOptions['entities'];
205
+ context?: DiagnosticsContextRef;
206
+ traceId: string;
207
+ spanId?: string;
208
+ parentSpanId?: string;
209
+ durMs: number;
210
+ }): void;
211
+ }
212
+ export interface DiagnosticsTraceOwner extends DiagnosticsScopeWriter {
213
+ startSpan(name: string, options: DiagnosticsScopeOptions & {
214
+ traceId: string;
215
+ parentSpanId?: string;
216
+ }): DiagnosticsSpan;
217
+ createInactiveSpan(traceId: string, parentSpanId: string | undefined): DiagnosticsSpan;
218
+ writeTraceEnd(input: {
219
+ name: string;
220
+ level: DiagnosticsLevel;
221
+ channel?: string;
222
+ attrs?: DiagnosticsAttrs;
223
+ entities?: DiagnosticsScopeOptions['entities'];
224
+ context?: DiagnosticsContextRef;
225
+ traceId: string;
226
+ durMs: number;
227
+ }): void;
228
+ }
229
+ export interface DiagnosticsExporter {
230
+ id: string;
231
+ export(records: readonly DiagnosticsRecord[], meta: {
232
+ sessionId: string;
233
+ exportedAt: number;
234
+ }): void | Promise<void>;
235
+ }
@@ -0,0 +1,93 @@
1
+ import { RAction } from '../entities/reflect/RAction';
2
+ import { RConverter } from '../entities/reflect/RConverter';
3
+ import { RFilter } from '../entities/reflect/RFilter';
4
+ import { RIntegration } from '../entities/reflect/RIntegration';
5
+ import { RParameter } from '../entities/reflect/RParameter';
6
+ import { RView } from '../entities/reflect/RView';
7
+ import { RPageTemplate } from '../entities/reflect/RPageTemplate';
8
+ import { RPage } from '../entities/reflect/RPage';
9
+ import { RNavigation } from '../entities/reflect/RNavigation';
10
+ import { RQuery } from '../entities/reflect/RQuery';
11
+ import { RScenario } from '../entities/reflect/RScenario';
12
+ import { RSettings } from '../entities/reflect/RSettings';
13
+ import { RPolicy } from '../entities/reflect/RPolicy';
14
+ import { RStyle } from '../entities/reflect/RStyle';
15
+ import { RTenant } from '../entities/reflect/RTenant';
16
+ import { RBehaviorBinding } from '../entities/reflect/RBehaviorBinding';
17
+ import { RPresentationBinding } from '../entities/reflect/RPresentationBinding';
18
+ import { RVocabs } from '../entities/reflect/RVocabs';
19
+ import { RI18nBundle } from '../entities/reflect/RI18nBundle';
20
+ import { RComponent } from './component.types';
21
+ /**
22
+ * Разновидности типов компонентов
23
+ */
24
+ export declare enum ComponentType {
25
+ Component = "component",
26
+ DSL = "component-dsl",
27
+ Table = "component-table"
28
+ }
29
+ /** Тип документа «Параметр» (коллекция parameters). */
30
+ export declare enum ParameterType {
31
+ DefaultParameter = "default-parameter"
32
+ }
33
+ /** Тип документа «Фильтр» (коллекция filters). */
34
+ export declare enum FilterType {
35
+ DefaultFilter = "default-filter"
36
+ }
37
+ /**
38
+ * Разновидности типов запросов
39
+ */
40
+ export declare enum QueryType {
41
+ Custom = "query-custom",
42
+ GraphQL = "query-gql",
43
+ REST = "query-rest"
44
+ }
45
+ /**
46
+ * Вариации секций домена.
47
+ */
48
+ export declare enum DomainSectionType {
49
+ Primitive = "primitive",
50
+ Type = "type",
51
+ Component = "component",
52
+ Query = "query",
53
+ Scenario = "scenario",
54
+ Action = "action",
55
+ Converter = "converter",
56
+ Integration = "integration",
57
+ View = "view",
58
+ Parameters = "parameters",
59
+ Filters = "filters",
60
+ Environment = "environment",
61
+ Tenant = "tenant",
62
+ Policy = "policy",
63
+ Style = "style",
64
+ PageTemplate = "page-template",
65
+ Page = "page",
66
+ Navigation = "navigation",
67
+ Vocabs = "vocabs",
68
+ I18nBundles = "i18n-bundles",
69
+ Settings = "settings",
70
+ Project = "project"
71
+ }
72
+ /**
73
+ * Описывает типы скриптов
74
+ */
75
+ export declare enum ScriptType {
76
+ ScenarioSetup = "scenario-setup"
77
+ }
78
+ /**
79
+ * Все возможные типы документов
80
+ */
81
+ export type DomainDocumentType = 'primitive' | 'type' | 'action' | 'converter' | 'integration' | 'view' | 'page-template' | 'page' | 'navigation' | 'environment' | 'policy' | 'style' | 'behavior-binding' | 'presentation-binding' | 'vocabs' | 'i18n-bundles' | 'tenant' | 'settings' | 'project' | Exclude<ComponentType, ComponentType.Component> | QueryType | ScriptType | ParameterType | FilterType;
82
+ /**
83
+ * Описывает любой документ
84
+ */
85
+ export interface Document {
86
+ type: DomainDocumentType;
87
+ sectionType: DomainSectionType;
88
+ id: string;
89
+ }
90
+ /**
91
+ * Описывает любой документ рефлекцию
92
+ */
93
+ export type RDocument = RComponent | RQuery | RScenario | RAction | RConverter | RIntegration | RView | RParameter | RFilter | RSettings | RPolicy | RStyle | RVocabs | RI18nBundle | RTenant | RBehaviorBinding | RPresentationBinding | RPageTemplate | RPage | RNavigation;
@@ -0,0 +1,28 @@
1
+ import { FlowValidationIssue } from './action.types';
2
+ /**
3
+ * Состояние выполнения action-flow.
4
+ * Это единственный runtime-state flow, который разделяют executor, handlers и runtime-host.
5
+ */
6
+ export interface FlowExecutionState {
7
+ /** Нормализованный input, с которым был запущен flow. */
8
+ input: Record<string, unknown>;
9
+ /** Снимки исполнения шагов, индексированные по node-id. */
10
+ steps: Record<string, Record<string, unknown>>;
11
+ /** Локальное изменяемое хранилище flow. */
12
+ locals: Record<string, unknown>;
13
+ /** Глобальные runtime-метаданные текущего запуска flow. */
14
+ globals: Record<string, unknown>;
15
+ /** Снимок последнего исполненного шага. */
16
+ lastStep: Record<string, unknown> | null;
17
+ }
18
+ /**
19
+ * Результат исполнения action-flow.
20
+ */
21
+ export interface FlowExecutionResult {
22
+ /** Удалось ли выполнить flow без validation/runtime issues. */
23
+ ok: boolean;
24
+ /** Итоговое состояние выполнения flow. */
25
+ state: FlowExecutionState;
26
+ /** Список validation/runtime проблем, обнаруженных при исполнении flow. */
27
+ issues: FlowValidationIssue[];
28
+ }
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Канонический тип шага внутри action-flow.
3
+ * Описывает поведение шага на уровне UX/runtime, а не форму graph-node.
4
+ */
5
+ export type ActionFlowStepKind = 'builtin' | 'behavior-binding' | 'runtime' | 'flow-ref';
6
+ /**
7
+ * Тип graph-node внутри action-flow.
8
+ * Определяет, какой блок должен быть исполнен рантаймом flow.
9
+ */
10
+ export type EndgeFlowNodeKind = 'start' | 'watch' | 'eventSubscribe' | 'delay' | 'timer' | 'intervalTimer' | 'action' | 'query' | 'runtimeAction' | 'switch' | 'forEach' | 'while' | 'parallel';
11
+ /**
12
+ * Направление порта graph-node.
13
+ */
14
+ export type EndgeFlowPortDirection = 'input' | 'output';
15
+ /**
16
+ * Режим сериализации значения параметра node.
17
+ */
18
+ export type EndgeFlowBindingMode = 'literal' | 'context' | 'block-output';
19
+ /**
20
+ * Декларативная ссылка на значение, которое должно быть подставлено в параметр node.
21
+ */
22
+ export interface EndgeFlowBinding {
23
+ /** Способ получения значения. */
24
+ mode: EndgeFlowBindingMode;
25
+ /** Буквальное значение для режима `literal`. */
26
+ value?: unknown;
27
+ /** Путь внутри execution-state для режима `context`. */
28
+ path?: string | null;
29
+ /** Источник значения в другом node для режима `block-output`. */
30
+ nodeId?: string | null;
31
+ /** Порт источника значения в другом node. */
32
+ portId?: string | null;
33
+ }
34
+ /**
35
+ * Сериализованные параметры graph-node.
36
+ * В editor-слое сюда могут попадать как structured bindings, так и уже развернутые plain values.
37
+ */
38
+ export type EndgeFlowNodeParams = Record<string, EndgeFlowBinding | unknown>;
39
+ /**
40
+ * Описание входного или выходного порта flow-блока.
41
+ */
42
+ export interface EndgeFlowPortDefinition {
43
+ /** Уникальный идентификатор порта внутри блока. */
44
+ id: string;
45
+ /** Название порта для UI и debug. */
46
+ label: string;
47
+ /** Направление порта. */
48
+ direction: EndgeFlowPortDirection;
49
+ /** Может ли порт иметь несколько подключений одновременно. */
50
+ multiple?: boolean;
51
+ /** Обязателен ли порт для корректного исполнения блока. */
52
+ required?: boolean;
53
+ /** Человекочитаемый тип значения, проходящего через порт. */
54
+ valueType?: string | null;
55
+ }
56
+ /**
57
+ * Описание graph-node внутри action-flow definition.
58
+ */
59
+ export interface EndgeFlowNodeDefinition {
60
+ /** Уникальный идентификатор node внутри flow. */
61
+ id: string;
62
+ /** Название шага для UI и debug. */
63
+ title: string;
64
+ /** Идентификатор block-spec, который должен быть исполнен. */
65
+ blockId: string;
66
+ /** Технический вид node в графе. */
67
+ kind: EndgeFlowNodeKind;
68
+ /** Параметры node в сериализованном виде. */
69
+ params?: EndgeFlowNodeParams;
70
+ /** Свободные метаданные node для editor/runtime. */
71
+ meta?: Record<string, unknown>;
72
+ }
73
+ /**
74
+ * Описание связи между двумя node в action-flow.
75
+ */
76
+ export interface EndgeFlowEdgeDefinition {
77
+ /** Уникальный идентификатор ребра. */
78
+ id: string;
79
+ /** Node-источник. Для входа в граф допускается ссылка на entrypoint. */
80
+ sourceNodeId: string;
81
+ /** Порт источника. */
82
+ sourcePortId: string;
83
+ /** Node-получатель. */
84
+ targetNodeId: string;
85
+ /** Порт получателя. */
86
+ targetPortId: string;
87
+ /** Пользовательская подпись ребра. */
88
+ label?: string | null;
89
+ }
90
+ /**
91
+ * Каноническое декларативное описание action как flow-графа.
92
+ */
93
+ export interface EndgeFlowDefinition {
94
+ /** Версия формата сериализации flow. */
95
+ version: number;
96
+ /** Идентификатор стартовой точки графа. Каноническое значение: `flow-entry`. */
97
+ entrypoint: string;
98
+ /** Список node action-flow. */
99
+ nodes: EndgeFlowNodeDefinition[];
100
+ /** Список ориентированных связей между node. */
101
+ edges: EndgeFlowEdgeDefinition[];
102
+ }
103
+ /**
104
+ * Контракт action-definition в формате flow.
105
+ * Отдельные alias добавлены для ясности в action-контексте.
106
+ */
107
+ export type ActionFlowNodeKind = EndgeFlowNodeKind;
108
+ export type ActionFlowNodeDefinition = EndgeFlowNodeDefinition;
109
+ export type ActionFlowEdgeDefinition = EndgeFlowEdgeDefinition;
110
+ export type ActionFlowDefinition = EndgeFlowDefinition;
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Связка события и id Действия из домена
3
+ */
4
+ export type EndgeEventBinding = {
5
+ event: string;
6
+ actionId: string | null;
7
+ };
8
+ export type AnyEventName = string;
9
+ export type AnyPayload = unknown;
10
+ export type CachedEvent = {
11
+ name: AnyEventName;
12
+ payload: AnyPayload;
13
+ at: number;
14
+ };
15
+ export interface EndgeCustomEventMap {
16
+ [event: string]: unknown;
17
+ }
18
+ export interface EndgeEmitOptions {
19
+ stopOnCancel?: boolean;
20
+ }
21
+ /**
22
+ * Envelope-событие с возможностью cancel()
23
+ */
24
+ export declare class EndgeEvent<T> {
25
+ readonly payload: T;
26
+ isCanceled: boolean;
27
+ constructor(payload: T);
28
+ cancel(): void;
29
+ }