@endge/core 2.0.0 → 2.0.2

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 (72) hide show
  1. package/dist/core.cjs +376 -287
  2. package/dist/core.js +22256 -19461
  3. package/dist/domain/entities/reflect/RConfiguration.d.ts +11 -0
  4. package/dist/domain/entities/runtime/hosts/ComponentSFCRuntimeHost.d.ts +3 -0
  5. package/dist/domain/types/auth/auth-profile.types.d.ts +17 -4
  6. package/dist/domain/types/component/sfc/dependencies.types.d.ts +14 -2
  7. package/dist/domain/types/component/sfc/intrinsic-events.types.d.ts +2 -0
  8. package/dist/domain/types/component/sfc/ir.types.d.ts +26 -6
  9. package/dist/domain/types/component/sfc/ports.types.d.ts +3 -1
  10. package/dist/domain/types/component/sfc/tag-attribute-contract.types.d.ts +11 -0
  11. package/dist/domain/types/component/sfc/tag-input-contract.types.d.ts +17 -0
  12. package/dist/domain/types/component/sfc/visual-projection.types.d.ts +99 -8
  13. package/dist/domain/types/configuration/configuration.type.d.ts +52 -7
  14. package/dist/domain/types/document/document.types.d.ts +4 -2
  15. package/dist/domain/types/document/domain-export.type.d.ts +2 -0
  16. package/dist/domain/types/document/domain-provider.type.d.ts +1 -1
  17. package/dist/domain/types/document/query.types.d.ts +1 -1
  18. package/dist/domain/types/document/workspace.types.d.ts +2 -3
  19. package/dist/domain/types/i18n.types.d.ts +2 -0
  20. package/dist/domain/types/kernel/events.types.d.ts +0 -3
  21. package/dist/domain/types/program/program.types.d.ts +9 -2
  22. package/dist/domain/types/runtime/action.types.d.ts +1 -0
  23. package/dist/domain/types/runtime/context-persistence.types.d.ts +27 -0
  24. package/dist/domain/types/source/configuration-source.types.d.ts +47 -0
  25. package/dist/domain/types/source/query-source.types.d.ts +36 -9
  26. package/dist/domain/types/source/source-engine.types.d.ts +34 -3
  27. package/dist/domain/types/source/stream-source.types.d.ts +2 -1
  28. package/dist/domain/types/ui/tooltip-markdown.types.d.ts +32 -0
  29. package/dist/main.d.ts +10 -0
  30. package/dist/model/config/kernel.config.d.ts +5 -1
  31. package/dist/model/config/sfc-editing.config.d.ts +3 -0
  32. package/dist/model/config/tooltip.config.d.ts +3 -0
  33. package/dist/model/config/ui-composition.config.d.ts +10 -10
  34. package/dist/model/kernel/endge.d.ts +2 -5
  35. package/dist/model/modules/context/endge-configuration-schema.d.ts +24 -0
  36. package/dist/model/modules/context/endge-configuration.d.ts +2 -0
  37. package/dist/model/modules/context/endge-context.d.ts +22 -1
  38. package/dist/model/modules/context/endge-vars.d.ts +4 -2
  39. package/dist/model/modules/context/endge-workspace.d.ts +11 -3
  40. package/dist/model/modules/context/persistence/RuntimeStateController.d.ts +7 -4
  41. package/dist/model/modules/domain/endge-domain.d.ts +20 -0
  42. package/dist/model/modules/program/endge-source.d.ts +4 -2
  43. package/dist/model/modules/runtime/core/endge-runtime.d.ts +3 -2
  44. package/dist/model/modules/runtime/execution/computation/ComputationResourceRegistry.d.ts +2 -0
  45. package/dist/model/modules/security/auth/adapters/OAuth2PasswordAuthAdapter.d.ts +11 -0
  46. package/dist/model/modules/ui/endge-ui.d.ts +0 -11
  47. package/dist/model/services/compiler/component-sfc/component-sfc-compile.d.ts +3 -0
  48. package/dist/model/services/compiler/component-sfc/component-sfc-template.d.ts +3 -0
  49. package/dist/model/services/configuration/configuration-value.d.ts +20 -0
  50. package/dist/model/services/configuration/endge-configuration.d.ts +3 -1
  51. package/dist/model/services/i18n/composition-i18n-catalog-projection.d.ts +19 -0
  52. package/dist/model/services/i18n/i18n-catalog.d.ts +3 -1
  53. package/dist/model/services/query/QueryExecutor.d.ts +3 -0
  54. package/dist/model/services/source-engine/compilers/configuration-source-compile.d.ts +4 -0
  55. package/dist/model/services/source-engine/component-sfc/component-sfc-table-source-patch.d.ts +2 -2
  56. package/dist/model/services/source-engine/composition-source-i18n-hints.d.ts +5 -0
  57. package/dist/model/services/source-engine/configuration-source-patch.d.ts +16 -0
  58. package/dist/model/services/source-engine/strategies/CompositionSourceLanguageStrategy.d.ts +1 -0
  59. package/dist/model/services/source-engine/strategies/ConfigurationSourceEngineStrategy.d.ts +7 -0
  60. package/dist/model/services/source-engine/strategies/ConfigurationSourceLanguageStrategy.d.ts +12 -0
  61. package/dist/model/services/source-engine/strategies/QuerySourceLanguageStrategy.d.ts +1 -1
  62. package/dist/model/services/source-engine/templates/configuration.default.source.d.ts +2 -0
  63. package/dist/model/services/source-engine/templates/query.default.source.d.ts +2 -0
  64. package/dist/model/services/source-engine/type-source-references.d.ts +3 -0
  65. package/dist/model/services/source-engine/type-source-serialize.d.ts +2 -1
  66. package/dist/model/services/tooltip/endge-tooltip-markdown.d.ts +5 -0
  67. package/dist/test/model/services/compiler/component-sfc/component-sfc-tooltip.test.d.ts +1 -0
  68. package/dist/test/model/services/source-engine/configuration-source.test.d.ts +1 -0
  69. package/dist/test/tooltip/endge-tooltip-markdown.test.d.ts +1 -0
  70. package/dist/tools/component-sfc-edit-trigger.d.ts +9 -1
  71. package/package.json +4 -4
  72. package/dist/model/modules/runtime/input/endge-sse.d.ts +0 -46
@@ -10,6 +10,8 @@ export interface I18nRuntimeCatalogEntry {
10
10
  }
11
11
  /** Накопленный translation catalog, доступный дочернему runtime. */
12
12
  export type I18nRuntimeCatalog = Record<string, I18nRuntimeCatalogEntry>;
13
+ /** Authoring-only provenance: public alias -> locale -> message key -> document identity. */
14
+ export type I18nCatalogProvenance = Record<string, Record<string, Record<string, string>>>;
13
15
  export interface I18nTranslateOptions {
14
16
  locale?: string;
15
17
  fallbackLocale?: string;
@@ -17,9 +17,6 @@ export interface EndgeCustomEventMap {
17
17
  }
18
18
  /** Статические события Endge Core. */
19
19
  export interface EndgeCoreEventMap {
20
- 'sse:message': {
21
- message: unknown;
22
- };
23
20
  'updates:message': {
24
21
  type: string;
25
22
  message: unknown;
@@ -10,9 +10,10 @@ import { ProgramMetadata } from './program-metadata.types';
10
10
  import { ComputationProgramPayload } from '../computation/computation-program.types';
11
11
  import { EndgeStyleSheetArtifact } from '../style/style.types';
12
12
  import { ActionImplementation, ActionTargetSelector } from '../runtime/action.types';
13
+ export type { ConfigurationProgramPayload } from '../source/configuration-source.types';
13
14
  export type ProgramArtifactKey = string;
14
15
  /** Тип доменной сущности, для которой compiler может построить program artifact. */
15
- export type ProgramEntityType = 'type' | 'component-sfc' | 'computation' | 'action' | 'query' | 'data-view' | 'store' | 'stream' | 'update' | 'filter' | 'composition' | 'style';
16
+ export type ProgramEntityType = 'type' | 'component-sfc' | 'computation' | 'action' | 'query' | 'data-view' | 'store' | 'stream' | 'update' | 'filter' | 'composition' | 'style' | 'configuration';
16
17
  /** Итоговый статус artifact после компиляции и валидации. */
17
18
  export type ProgramArtifactStatus = 'valid' | 'warning' | 'error';
18
19
  /** Возможность, которую artifact предоставляет runtime/render слоям. */
@@ -136,7 +137,11 @@ export interface QueryProgramPayload {
136
137
  endpoint: QueryProgramRequestValue<string>;
137
138
  /** Тело запроса, GraphQL document или custom query expression. */
138
139
  query: QueryProgramRequestValue<string>;
139
- /** Заголовки REST query. */
140
+ /** GraphQL operation name, если artifact использует query-gql transport. */
141
+ operationName?: string;
142
+ /** Политика GraphQL errors в HTTP 2xx response. */
143
+ errorPolicy?: 'throw' | 'ignore';
144
+ /** HTTP headers Query transport. */
140
145
  headers?: QueryProgramRequestValue<Record<string, string>>;
141
146
  /** Auth config, подготовленный для runtime query layer. */
142
147
  auth?: QueryProgramRequestValue<unknown>;
@@ -148,6 +153,8 @@ export interface QueryProgramPayload {
148
153
  props: QueryProgramProp[];
149
154
  /** Безопасный request.body IR. При null отправляется пустой object payload. */
150
155
  requestBody: SourceExpressionIR | null;
156
+ /** Безопасный GraphQL variables IR. */
157
+ requestVariables?: SourceExpressionIR | null;
151
158
  /** Включены ли mock data для query. */
152
159
  mockDataEnabled?: boolean;
153
160
  /** Mock payload query. */
@@ -4,6 +4,7 @@ export type RuntimeActionSurface = string;
4
4
  /** Stable identities of targetless Actions provided by Endge itself. */
5
5
  export declare const BUILTIN_ACTION_IDS: {
6
6
  readonly consoleLog: "built-in-console-log";
7
+ readonly testAlert: "built-in-test-alert";
7
8
  readonly vocabAcquire: "built-in-vocabs-acquire";
8
9
  readonly vocabRefresh: "built-in-vocabs-refresh";
9
10
  readonly vocabInvalidate: "built-in-vocabs-invalidate";
@@ -1,3 +1,4 @@
1
+ import { EndgePublicConfigurationSnapshot } from '../configuration/configuration.type';
1
2
  export type EndgePersistenceDriver = 'local' | 'disabled';
2
3
  export interface EndgePersistenceOptions {
3
4
  driver?: EndgePersistenceDriver;
@@ -13,6 +14,31 @@ export interface EndgeContextSnapshot {
13
14
  user: string | null;
14
15
  locale: string | null;
15
16
  theme: string | null;
17
+ timezone: string | null;
18
+ }
19
+ /** Volatile keyboard state supplied by the active UI adapter. */
20
+ export interface EndgeKeyboardContextSnapshot {
21
+ platform: 'macos' | 'windows' | 'linux' | 'unknown';
22
+ modifiers: {
23
+ ctrl: boolean;
24
+ shift: boolean;
25
+ alt: boolean;
26
+ meta: boolean;
27
+ mod: boolean;
28
+ altGraph: boolean;
29
+ };
30
+ held: {
31
+ key: string[];
32
+ code: string[];
33
+ };
34
+ }
35
+ /** Full read-only SFC context. Volatile input state is deliberately not serializable. */
36
+ export interface EndgeRuntimeContextSnapshot extends EndgeContextSnapshot {
37
+ /** Static effective configuration of the current build; never persisted or Raph-backed. */
38
+ config: EndgePublicConfigurationSnapshot;
39
+ input: {
40
+ keyboard: EndgeKeyboardContextSnapshot;
41
+ };
16
42
  }
17
43
  export interface EndgePersistenceScope {
18
44
  workspaceId: string;
@@ -21,6 +47,7 @@ export interface EndgePersistenceScope {
21
47
  environmentId: string;
22
48
  userId: string;
23
49
  }
50
+ export type EndgePersistenceScopeResolver = () => EndgePersistenceScope;
24
51
  export interface EndgeSessionIdentity {
25
52
  userId?: string | null;
26
53
  tenantId?: string | null;
@@ -0,0 +1,47 @@
1
+ import { ProgramDiagnostic } from '../program/program.types';
2
+ import { TypeSourceExpression } from './type-source.types';
3
+ /** JSON-serializable persisted configuration value. */
4
+ export type EndgeJSONValue = null | boolean | number | string | EndgeJSONValue[] | {
5
+ [key: string]: EndgeJSONValue;
6
+ };
7
+ /** One source-backed user setting. */
8
+ export interface ConfigurationSourceValueDefinition {
9
+ key: string;
10
+ type: TypeSourceExpression;
11
+ defaultValue: EndgeJSONValue;
12
+ defaultWasInferred: boolean;
13
+ label: string;
14
+ description?: string;
15
+ min?: number;
16
+ max?: number;
17
+ step?: number;
18
+ }
19
+ /** Canonical Configuration Source v1 document. */
20
+ export interface ConfigurationSourceDocument {
21
+ values: ConfigurationSourceValueDefinition[];
22
+ }
23
+ /** Early/compiler-facing Configuration artifact. */
24
+ export interface ConfigurationProgramPayload {
25
+ type: 'configuration';
26
+ identity: string;
27
+ displayName: string;
28
+ sourceVersion: 1;
29
+ values: ConfigurationSourceValueDefinition[];
30
+ }
31
+ export interface ConfigurationSourceCompileResult {
32
+ ast: unknown | null;
33
+ document: ConfigurationSourceDocument | null;
34
+ /** Best-effort AST projection for visual repair when semantic diagnostics block compilation. */
35
+ draftDocument?: ConfigurationSourceDocument | null;
36
+ diagnostics: Omit<ProgramDiagnostic, 'entityRef'>[];
37
+ }
38
+ export interface EndgeConfigurationSchemaEntry {
39
+ id: string | number;
40
+ identity: string;
41
+ displayName: string;
42
+ description?: string | null;
43
+ sourceVersion: number;
44
+ document: ConfigurationSourceDocument | null;
45
+ diagnostics: Omit<ProgramDiagnostic, 'entityRef'>[];
46
+ status: 'valid' | 'warning' | 'error';
47
+ }
@@ -3,12 +3,14 @@ import { ProgramDiagnostic, QueryProgramPayload } from '../program/program.types
3
3
  import { DataViewRef } from './data-view-source.types';
4
4
  import { ProgramMetadataMap } from '../program/program-metadata.types';
5
5
  import { QueryProgramProp, SourceExpressionIR, SourceFieldDefinition } from './source-expression.types';
6
- /** Поддерживаемые kind query source v1. */
7
- export type QuerySourceKind = 'rest';
6
+ /** Поддерживаемые transport-kind Query source. */
7
+ export type QuerySourceKind = 'rest' | 'graphql';
8
+ /** Политика GraphQL errors в HTTP 2xx response. */
9
+ export type QueryGraphQLErrorPolicy = 'throw' | 'ignore';
8
10
  /** Static request value or a safe expression evaluated from Query props at runtime. */
9
11
  export type QuerySourceRequestValue<T> = T | SourceExpressionIR;
10
12
  /** Source-описание HTTP request части REST-запроса. */
11
- export interface QuerySourceRequest {
13
+ export interface QuerySourceRestRequest {
12
14
  /** Endpoint или Endge var-token вида {API_URL}. */
13
15
  endpoint: QuerySourceRequestValue<string>;
14
16
  /** REST path. В legacy RQuery это поле хранится как query. */
@@ -26,6 +28,25 @@ export interface QuerySourceRequest {
26
28
  /** Безопасный body expression для query source v2. */
27
29
  body?: SourceExpressionIR | null;
28
30
  }
31
+ /** Source-описание GraphQL operation и variables. */
32
+ export interface QuerySourceGraphQLRequest {
33
+ /** GraphQL endpoint или Endge var-token вида {API_URL}. */
34
+ endpoint: QuerySourceRequestValue<string>;
35
+ /** Статический GraphQL document из gql template. */
36
+ document: string;
37
+ /** Operation name для document с несколькими operations. */
38
+ operationName?: string;
39
+ /** Безопасное variables expression, построенное через variables(...). */
40
+ variables?: SourceExpressionIR | null;
41
+ /** Дополнительные HTTP headers. */
42
+ headers: QuerySourceRequestValue<Record<string, string>>;
43
+ /** Auth config. */
44
+ auth: QuerySourceRequestValue<RQueryAuth>;
45
+ /** Request timeout. */
46
+ timeoutMs?: QuerySourceRequestValue<number>;
47
+ /** Обработка GraphQL errors в HTTP 2xx response. */
48
+ errorPolicy: QueryGraphQLErrorPolicy;
49
+ }
29
50
  /** Source-описание mock-режима запроса. */
30
51
  export interface QuerySourceMock {
31
52
  /** Включены ли mock data. */
@@ -48,12 +69,7 @@ export interface QuerySourceOutput {
48
69
  contract?: SourceFieldDefinition | null;
49
70
  }
50
71
  export type QuerySourceOutputs = QuerySourceOutput[];
51
- /** Canonical authoring-модель source-only Query v2. */
52
- export interface QuerySourceDocument {
53
- /** Тип source query. */
54
- kind: QuerySourceKind;
55
- /** Request config. */
56
- request: QuerySourceRequest;
72
+ interface QuerySourceDocumentBase {
57
73
  /** Единственный runtime input contract Query. */
58
74
  props: QueryProgramProp[];
59
75
  /** Ordered output graph: response/output sources and transformations. */
@@ -61,6 +77,16 @@ export interface QuerySourceDocument {
61
77
  /** Mock config. */
62
78
  mock: QuerySourceMock;
63
79
  }
80
+ export interface QuerySourceRestDocument extends QuerySourceDocumentBase {
81
+ kind: 'rest';
82
+ request: QuerySourceRestRequest;
83
+ }
84
+ export interface QuerySourceGraphQLDocument extends QuerySourceDocumentBase {
85
+ kind: 'graphql';
86
+ request: QuerySourceGraphQLRequest;
87
+ }
88
+ /** Canonical authoring-модель source-only Query v2. */
89
+ export type QuerySourceDocument = QuerySourceRestDocument | QuerySourceGraphQLDocument;
64
90
  /** Публичные editor-slots, которые query source patcher умеет менять точечно. */
65
91
  export type QuerySourcePatchPath = 'kind' | 'request.endpoint' | 'request.path' | 'request.method' | 'request.headers' | 'request.auth' | 'request.timeoutMs' | 'request.formUrlencoded' | 'request.body' | 'props' | 'outputs' | 'mock.enabled' | 'mock.data';
66
92
  /** Операция AST-патчинга query source. */
@@ -87,3 +113,4 @@ export interface QuerySourceCompileResult {
87
113
  /** Diagnostics source compiler-а. */
88
114
  diagnostics: Omit<ProgramDiagnostic, 'entityRef'>[];
89
115
  }
116
+ export {};
@@ -1,5 +1,7 @@
1
+ import { I18nCatalogProvenance, I18nRuntimeCatalog } from '../i18n.types';
2
+ import { TypeSourceDefinition } from './type-source.types';
1
3
  /** Канонический тип source-документа, для которого выбирается source strategy. */
2
- export type SourceKind = 'query' | 'data-view' | 'filter' | 'composition' | 'store' | 'stream' | 'update' | 'computation' | 'style' | 'type';
4
+ export type SourceKind = 'query' | 'data-view' | 'filter' | 'composition' | 'store' | 'stream' | 'update' | 'computation' | 'style' | 'type' | 'configuration';
3
5
  /** Тип нейтральной source completion без привязки к Monaco или другому editor API. */
4
6
  export type SourceLanguageCompletionKind = 'keyword' | 'function' | 'property' | 'value' | 'snippet';
5
7
  /** Позиция курсора внутри source-документа. */
@@ -20,9 +22,28 @@ export interface SourceLanguageContext {
20
22
  identity: string;
21
23
  displayName?: string;
22
24
  category?: 'primitive' | 'reference' | 'user';
25
+ definition?: TypeSourceDefinition | null;
26
+ entityReference?: {
27
+ target: string;
28
+ storage: 'id' | 'identity';
29
+ };
23
30
  }>;
24
31
  /** Identity of the document that owns current source diagnostics. */
25
32
  ownerIdentity?: string;
33
+ /** Effective translation catalogs for all current Project occurrences. */
34
+ i18n?: SourceLanguageI18nContext;
35
+ }
36
+ /** One statically projected Composition occurrence in the current Project. */
37
+ export interface SourceLanguageI18nOccurrence {
38
+ id: string;
39
+ catalogsByScope: Readonly<Record<string, I18nRuntimeCatalog>>;
40
+ provenanceByScope: Readonly<Record<string, I18nCatalogProvenance>>;
41
+ }
42
+ /** Translation input prepared by the application without mounting Runtime. */
43
+ export interface SourceLanguageI18nContext {
44
+ locale: string;
45
+ fallbackLocale: string;
46
+ occurrences: readonly SourceLanguageI18nOccurrence[];
26
47
  }
27
48
  /** Нейтральная completion item, которую editor adapter мапит в свой формат. */
28
49
  export interface SourceLanguageCompletion {
@@ -38,7 +59,7 @@ export interface SourceLanguageCompletion {
38
59
  documentation?: string;
39
60
  }
40
61
  /** Логический тип внешнего доменного документа, на который ссылается source. */
41
- export type SourceDocumentReferenceTarget = 'auth-profile' | 'component' | 'composition' | 'computation' | 'converter' | 'data-view' | 'filter' | 'mock' | 'query' | 'store' | 'stream' | 'update' | 'style' | 'type' | 'vocabs';
62
+ export type SourceDocumentReferenceTarget = 'auth-profile' | 'component' | 'composition' | 'computation' | 'converter' | 'data-view' | 'filter' | 'i18n-bundles' | 'mock' | 'query' | 'store' | 'stream' | 'update' | 'style' | 'type' | 'vocabs';
42
63
  /** Семантическая ссылка из source на внешний доменный документ. */
43
64
  export interface SourceDocumentReference {
44
65
  /** Логический тип цели; UI может уточнить concrete document type через domain. */
@@ -58,6 +79,14 @@ export interface SourceLanguageSemanticHighlight {
58
79
  identity: string;
59
80
  range: SourceDocumentReference['range'];
60
81
  }
82
+ /** Renderer-neutral inline annotation shown after one source range. */
83
+ export interface SourceLanguageInlineHint {
84
+ kind: 'translation';
85
+ status: 'resolved' | 'ambiguous';
86
+ text: string;
87
+ tooltip?: string;
88
+ range: SourceDocumentReference['range'];
89
+ }
61
90
  /** Результат validation source language strategy. */
62
91
  export interface SourceLanguageValidationResult extends SourceEngineResult {
63
92
  /** Diagnostics, найденные language strategy. */
@@ -174,7 +203,7 @@ export interface SourceLanguageStrategy {
174
203
  /** Описывает подсветку, brackets и editor triggers в adapter-neutral формате. */
175
204
  syntax: SourceLanguageSyntaxDefinition;
176
205
  /** Возвращает базовый source для новой сущности. */
177
- createDefaultSource: () => string;
206
+ createDefaultSource: (variant?: string) => string;
178
207
  /** Нормализует поддержанный syntax, сохраняя остальной авторский source. */
179
208
  normalize?: (source: string) => string;
180
209
  /** Валидирует source без знания о конкретном editor adapter. */
@@ -185,4 +214,6 @@ export interface SourceLanguageStrategy {
185
214
  resolveReference?: (context: SourceLanguageContext) => SourceDocumentReference | null;
186
215
  /** Возвращает semantic highlights без привязки к конкретному editor adapter. */
187
216
  semanticHighlights?: (context: SourceLanguageContext) => SourceLanguageSemanticHighlight[];
217
+ /** Возвращает inline annotations без привязки к конкретному editor adapter. */
218
+ inlineHints?: (context: SourceLanguageContext) => SourceLanguageInlineHint[];
188
219
  }
@@ -3,7 +3,8 @@ export interface StreamSseTransportDescriptor {
3
3
  kind: 'sse';
4
4
  url: string;
5
5
  withCredentials: boolean;
6
- authMode: 'inherit' | 'none';
6
+ authMode: 'inherit' | 'profile' | 'none';
7
+ authProfileIdentity: string | null;
7
8
  }
8
9
  export type StreamTransportDescriptor = StreamSseTransportDescriptor;
9
10
  export interface StreamEventDescriptor {
@@ -0,0 +1,32 @@
1
+ export type EndgeTooltipMarkdownInline = {
2
+ kind: 'text';
3
+ value: string;
4
+ } | {
5
+ kind: 'strong';
6
+ children: EndgeTooltipMarkdownInline[];
7
+ } | {
8
+ kind: 'emphasis';
9
+ children: EndgeTooltipMarkdownInline[];
10
+ } | {
11
+ kind: 'code';
12
+ value: string;
13
+ } | {
14
+ kind: 'link';
15
+ href: string;
16
+ children: EndgeTooltipMarkdownInline[];
17
+ };
18
+ export type EndgeTooltipMarkdownBlock = {
19
+ kind: 'heading';
20
+ level: 1 | 2 | 3;
21
+ children: EndgeTooltipMarkdownInline[];
22
+ } | {
23
+ kind: 'paragraph';
24
+ children: EndgeTooltipMarkdownInline[];
25
+ } | {
26
+ kind: 'list';
27
+ ordered: boolean;
28
+ items: EndgeTooltipMarkdownInline[][];
29
+ } | {
30
+ kind: 'code-block';
31
+ value: string;
32
+ };
package/dist/main.d.ts CHANGED
@@ -25,6 +25,7 @@ export * from './model/modules/diagnostics/endge-problems';
25
25
  export * from './model/modules/diagnostics/endge-telemetry';
26
26
  export * from './model/modules/context/endge-context';
27
27
  export * from './model/modules/context/endge-configuration';
28
+ export * from './model/modules/context/endge-configuration-schema';
28
29
  export * from './model/modules/runtime/core/endge-actions';
29
30
  export * from './model/modules/ui/endge-ui';
30
31
  export * from './model/modules/ui/endge-ui-registry';
@@ -108,12 +109,14 @@ export * from './domain/types/source/store-source.types';
108
109
  export * from './domain/types/source/stream-source.types';
109
110
  export * from './domain/types/source/update-source.types';
110
111
  export * from './domain/types/source/type-source.types';
112
+ export * from './domain/types/source/configuration-source.types';
111
113
  export * from './domain/types/style/style.types';
112
114
  export * from './domain/types/ui/context-menu.types';
113
115
  export * from './domain/types/ui/filter-view.type';
114
116
  export * from './domain/types/ui/jsx.types';
115
117
  export * from './domain/types/ui/ui-composition.types';
116
118
  export * from './domain/types/ui/ui-render-adapter.type';
119
+ export * from './domain/types/ui/tooltip-markdown.types';
117
120
  export * from './domain/types/ui/ui.types';
118
121
  export * from './domain/types/i18n.types';
119
122
  export * from './domain/entities/endge/EndgeModuleController';
@@ -143,6 +146,7 @@ export * from './domain/entities/reflect/REnvironment';
143
146
  export * from './domain/entities/reflect/RTenant';
144
147
  export * from './domain/entities/reflect/RPolicy';
145
148
  export * from './domain/entities/reflect/RStyle';
149
+ export * from './domain/entities/reflect/RConfiguration';
146
150
  export * from './domain/entities/reflect/RVocabs';
147
151
  export * from './domain/entities/reflect/RAuthProfile';
148
152
  export * from './domain/entities/reflect/RI18nBundle';
@@ -173,6 +177,7 @@ export * from './model/adapters/diagnostics/SentryDiagnosticsAdapter';
173
177
  export * from './model/adapters/diagnostics/SentryDiagnosticsAdapter.types';
174
178
  export * from './model/config/kernel.config';
175
179
  export * from './model/config/ui-composition.config';
180
+ export * from './model/config/tooltip.config';
176
181
  export { default as Config } from './model/config/kernel.config';
177
182
  export * from './model/modules/context/persistence/EndgeStorageAdapterRegistry';
178
183
  export * from './model/modules/context/persistence/RuntimeStateController';
@@ -182,6 +187,10 @@ export * from './model/seed/converters/date/string-to-date';
182
187
  export * from './model/seed/converters/date/weekdays-range';
183
188
  export * from './model/services/document/DocumentDraftFactory';
184
189
  export * from './model/services/configuration/endge-configuration';
190
+ export * from './model/services/configuration/configuration-value';
191
+ export * from './model/services/source-engine/compilers/configuration-source-compile';
192
+ export * from './model/services/tooltip/endge-tooltip-markdown';
193
+ export * from './model/services/i18n/composition-i18n-catalog-projection';
185
194
  export * from './domain/entities/runtime/RuntimeHostBase';
186
195
  export * from './domain/entities/runtime/RuntimeHostRegistry';
187
196
  export * from './domain/entities/runtime/RuntimeAppScope';
@@ -218,6 +227,7 @@ export * from './model/services/style/endgecss-match';
218
227
  export * from './model/services/source-engine/source-expression-evaluate';
219
228
  export * from './model/services/source-engine/filter-source-patch';
220
229
  export * from './model/services/source-engine/type-source-serialize';
230
+ export * from './model/services/source-engine/configuration-source-patch';
221
231
  export * from './model/services/source-engine/typescript-type-source';
222
232
  export * from './model/services/source-engine/component-sfc/component-sfc-visual-projection';
223
233
  export * from './model/services/source-engine/component-sfc/component-sfc-table-source-patch';
@@ -7,7 +7,6 @@ export declare const ENDGE_COMPILER_SPAN_GROUPS: {
7
7
  readonly ACTIONS: "actions";
8
8
  readonly CONVERTERS: "converters";
9
9
  readonly QUERIES: "queries";
10
- readonly SSE: "sse";
11
10
  readonly RAPH: "raph";
12
11
  };
13
12
  /** Runtime fallback limits для nested computation execution. */
@@ -16,9 +15,11 @@ export declare const ENDGE_COMPUTATION_MAX_CALLS = 256;
16
15
  export declare const CONTEXT_STORAGE_KEY = "endge:context:v1";
17
16
  export declare const LEGACY_CONTEXT_STORAGE_KEY = "endge-context";
18
17
  export declare const LEGACY_THEME_STORAGE_KEY = "endge:theme";
18
+ export declare const LEGACY_TIMEZONE_STORAGE_KEY = "endge:isLocalTime";
19
19
  export declare const DEFAULT_LOCALE = "en";
20
20
  export declare const DEFAULT_FALLBACK_LOCALE = "en";
21
21
  export declare const DEFAULT_THEME = "dark";
22
+ export declare const DEFAULT_TIMEZONE = "local";
22
23
  export declare const DEFAULT_SCOPE: {
23
24
  readonly tenantId: "default";
24
25
  readonly projectId: "default";
@@ -34,6 +35,9 @@ export declare const VARS_STORAGE_KEY = "endge:vars";
34
35
  export declare const AUTH_STORAGE_KEY = "endge:auth";
35
36
  /** Ключ в Raph-хранилище для глобальных переменных. */
36
37
  export declare const STORAGE_VARS_KEY = "vars";
38
+ /** Raph namespace containing persistent and volatile Endge context values. */
39
+ export declare const ENDGE_CONTEXT_RAPH_PATH = "context";
40
+ export declare const ENDGE_KEYBOARD_CONTEXT_RAPH_PATH = "context.input.keyboard";
37
41
  /** Обратная совместимость публичного API `Config`. */
38
42
  declare const _default: {
39
43
  DOMAIN_STORAGE_KEY: string;
@@ -0,0 +1,3 @@
1
+ import { EndgeSFCEditingConfiguration } from '../../domain/types/configuration/configuration.type';
2
+ /** Системные triggers завершения edit session до Workspace cascade. */
3
+ export declare const DEFAULT_ENDGE_SFC_EDITING_CONFIGURATION: Readonly<EndgeSFCEditingConfiguration>;
@@ -0,0 +1,3 @@
1
+ import { EndgeTooltipConfiguration } from '../../domain/types/configuration/configuration.type';
2
+ /** System defaults used before Workspace -> Tenant -> Project -> Environment overrides. */
3
+ export declare const DEFAULT_ENDGE_TOOLTIP_CONFIGURATION: Readonly<EndgeTooltipConfiguration>;
@@ -33,7 +33,7 @@ export declare const ENDGE_UI_DEFAULT_DEFINITIONS: ({
33
33
  roles: {
34
34
  role: string;
35
35
  description: string;
36
- supportedSurfaces: ("runtime" | "canvas" | "admin")[];
36
+ supportedSurfaces: ("canvas" | "runtime" | "admin")[];
37
37
  }[];
38
38
  };
39
39
  defaultLayout?: undefined;
@@ -78,7 +78,7 @@ export declare const ENDGE_UI_DEFAULT_DEFINITIONS: ({
78
78
  roles: {
79
79
  role: string;
80
80
  description: string;
81
- supportedSurfaces: ("runtime" | "canvas" | "admin")[];
81
+ supportedSurfaces: ("canvas" | "runtime" | "admin")[];
82
82
  defaultRendererRefs: {
83
83
  admin: string;
84
84
  runtime: string;
@@ -126,7 +126,7 @@ export declare const ENDGE_UI_DEFAULT_DEFINITIONS: ({
126
126
  roles: {
127
127
  role: string;
128
128
  description: string;
129
- supportedSurfaces: ("runtime" | "canvas" | "admin")[];
129
+ supportedSurfaces: ("canvas" | "runtime" | "admin")[];
130
130
  defaultRendererRefs: {
131
131
  admin: string;
132
132
  runtime: string;
@@ -174,7 +174,7 @@ export declare const ENDGE_UI_DEFAULT_DEFINITIONS: ({
174
174
  roles: {
175
175
  role: string;
176
176
  description: string;
177
- supportedSurfaces: ("runtime" | "canvas" | "admin")[];
177
+ supportedSurfaces: ("canvas" | "runtime" | "admin")[];
178
178
  defaultRendererRefs: {
179
179
  admin: string;
180
180
  runtime: string;
@@ -222,7 +222,7 @@ export declare const ENDGE_UI_DEFAULT_DEFINITIONS: ({
222
222
  roles: {
223
223
  role: string;
224
224
  description: string;
225
- supportedSurfaces: ("runtime" | "canvas" | "admin")[];
225
+ supportedSurfaces: ("canvas" | "runtime" | "admin")[];
226
226
  defaultRendererRefs: {
227
227
  admin: string;
228
228
  runtime: string;
@@ -270,7 +270,7 @@ export declare const ENDGE_UI_DEFAULT_DEFINITIONS: ({
270
270
  roles: {
271
271
  role: string;
272
272
  description: string;
273
- supportedSurfaces: ("runtime" | "canvas" | "admin")[];
273
+ supportedSurfaces: ("canvas" | "runtime" | "admin")[];
274
274
  defaultRendererRefs: {
275
275
  admin: string;
276
276
  runtime: string;
@@ -319,7 +319,7 @@ export declare const ENDGE_UI_DEFAULT_DEFINITIONS: ({
319
319
  roles: ({
320
320
  role: string;
321
321
  description: string;
322
- supportedSurfaces: ("runtime" | "canvas" | "admin")[];
322
+ supportedSurfaces: ("canvas" | "runtime" | "admin")[];
323
323
  defaultRendererRefs: {
324
324
  admin: string;
325
325
  runtime: string;
@@ -375,7 +375,7 @@ export declare const ENDGE_UI_DEFAULT_DEFINITIONS: ({
375
375
  roles: {
376
376
  role: string;
377
377
  description: string;
378
- supportedSurfaces: ("runtime" | "canvas" | "admin")[];
378
+ supportedSurfaces: ("canvas" | "runtime" | "admin")[];
379
379
  defaultRendererRefs: {
380
380
  admin: string;
381
381
  runtime: string;
@@ -423,7 +423,7 @@ export declare const ENDGE_UI_DEFAULT_DEFINITIONS: ({
423
423
  roles: ({
424
424
  role: string;
425
425
  description: string;
426
- supportedSurfaces: ("runtime" | "canvas" | "admin")[];
426
+ supportedSurfaces: ("canvas" | "runtime" | "admin")[];
427
427
  defaultRendererRefs: {
428
428
  admin: string;
429
429
  runtime: string;
@@ -481,7 +481,7 @@ export declare const ENDGE_UI_DEFAULT_DEFINITIONS: ({
481
481
  roles: {
482
482
  role: string;
483
483
  description: string;
484
- supportedSurfaces: ("runtime" | "canvas" | "admin")[];
484
+ supportedSurfaces: ("canvas" | "runtime" | "admin")[];
485
485
  defaultRendererRefs: {
486
486
  admin: string;
487
487
  runtime: string;
@@ -6,6 +6,7 @@ import { EndgeBind } from '../modules/runtime/core/endge-bind';
6
6
  import { EndgeActions } from '../modules/runtime/core/endge-actions';
7
7
  import { EndgeContext } from '../modules/context/endge-context';
8
8
  import { EndgeConfigurationModule } from '../modules/context/endge-configuration';
9
+ import { EndgeConfigurationSchemaModule } from '../modules/context/endge-configuration-schema';
9
10
  import { EndgeDataView } from '../modules/runtime/execution/endge-data-view';
10
11
  import { EndgeCompiler } from '../modules/program/endge-compiler';
11
12
  import { EndgeDiagnostics } from '../modules/diagnostics/endge-diagnostics';
@@ -22,7 +23,6 @@ import { EndgeRuntime } from '../modules/runtime/core/endge-runtime';
22
23
  import { EndgeRuntimeDebugger } from '../modules/diagnostics/endge-runtime-debugger';
23
24
  import { EndgeDomainRepository } from '../modules/domain/endge-domain-repository';
24
25
  import { EndgeSource } from '../modules/program/endge-source';
25
- import { EndgeSSE } from '../modules/runtime/input/endge-sse';
26
26
  import { EndgeStyles } from '../modules/ui/endge-styles';
27
27
  import { EndgeUI } from '../modules/ui/endge-ui';
28
28
  import { EndgeUpdates } from '../modules/runtime/core/endge-updates';
@@ -151,10 +151,6 @@ export declare class Endge extends EndgeFederation {
151
151
  * Доступ к event bus модулю.
152
152
  */
153
153
  static get events(): EndgeEvents;
154
- /**
155
- * Доступ к SSE-модулю.
156
- */
157
- static get sse(): EndgeSSE;
158
154
  /**
159
155
  * Доступ к UI state модулю.
160
156
  */
@@ -183,6 +179,7 @@ export declare class Endge extends EndgeFederation {
183
179
  static get context(): EndgeContext;
184
180
  /** Доступ к effective configuration и immutable compiler build context. */
185
181
  static get configuration(): EndgeConfigurationModule;
182
+ static get configurationSchema(): EndgeConfigurationSchemaModule;
186
183
  /**
187
184
  * Доступ к frontend workspace profile: локали и будущие runtime capabilities.
188
185
  */
@@ -0,0 +1,24 @@
1
+ import { EndgeBootContext } from '../../../domain/types/kernel/bootstrap.types';
2
+ import { ProgramDiagnostic } from '../../../domain/types/program/program.types';
3
+ import { EndgeConfigurationValues } from '../../../domain/types/configuration/configuration.type';
4
+ import { EndgeConfigurationSchemaEntry } from '../../../domain/types/source/configuration-source.types';
5
+ import { TypeProgramCatalogEntry } from '../../../domain/types/source/type-source.types';
6
+ import { EndgeModule } from '../../../domain/entities/endge/EndgeModule';
7
+ /** Compiles Configuration schemas before effective context resolution. */
8
+ export declare class EndgeConfigurationSchemaModule extends EndgeModule {
9
+ private _entries;
10
+ private _types;
11
+ private _valueDiagnostics;
12
+ build(_ctx: EndgeBootContext): void;
13
+ reset(): void;
14
+ list(): EndgeConfigurationSchemaEntry[];
15
+ get(identity: string): EndgeConfigurationSchemaEntry | null;
16
+ get typeCatalog(): TypeProgramCatalogEntry[];
17
+ get errors(): Array<{
18
+ identity: string;
19
+ diagnostic: Omit<ProgramDiagnostic, 'entityRef'>;
20
+ }>;
21
+ /** Applies defaults, ignores stale keys and records incompatible active values for Compiler Problems. */
22
+ resolveValues(input: EndgeConfigurationValues): EndgeConfigurationValues;
23
+ private _withValueDiagnostics;
24
+ }
@@ -19,6 +19,8 @@ export declare class EndgeConfigurationModule extends EndgeModule {
19
19
  normalizeLocale(locale: string | null | undefined): string;
20
20
  /** Нормализует theme относительно effective configuration. */
21
21
  normalizeTheme(theme: string | null | undefined): string;
22
+ /** Нормализует timezone относительно effective configuration. */
23
+ normalizeTimezone(timezone: string | null | undefined): string;
22
24
  /** Вычисляет upstream snapshot для общего редактора указанного слоя. */
23
25
  resolveUpstream(layer: EndgeConfigurationLayer): EndgeConfiguration;
24
26
  /** Builds a preview without mutating active boot configuration. */