@endge/core 2.0.1 → 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.
- package/dist/core.cjs +334 -269
- package/dist/core.js +18526 -16777
- package/dist/domain/entities/reflect/RConfiguration.d.ts +11 -0
- package/dist/domain/entities/runtime/hosts/ComponentSFCRuntimeHost.d.ts +3 -0
- package/dist/domain/types/component/sfc/dependencies.types.d.ts +14 -2
- package/dist/domain/types/component/sfc/intrinsic-events.types.d.ts +2 -0
- package/dist/domain/types/component/sfc/ir.types.d.ts +20 -6
- package/dist/domain/types/component/sfc/ports.types.d.ts +3 -1
- package/dist/domain/types/component/sfc/tag-attribute-contract.types.d.ts +11 -0
- package/dist/domain/types/component/sfc/tag-input-contract.types.d.ts +17 -0
- package/dist/domain/types/configuration/configuration.type.d.ts +40 -1
- package/dist/domain/types/document/document.types.d.ts +4 -2
- package/dist/domain/types/document/domain-export.type.d.ts +2 -0
- package/dist/domain/types/document/domain-provider.type.d.ts +1 -1
- package/dist/domain/types/document/workspace.types.d.ts +2 -1
- package/dist/domain/types/program/program.types.d.ts +9 -2
- package/dist/domain/types/runtime/context-persistence.types.d.ts +26 -0
- package/dist/domain/types/source/configuration-source.types.d.ts +47 -0
- package/dist/domain/types/source/query-source.types.d.ts +36 -9
- package/dist/domain/types/source/source-engine.types.d.ts +8 -2
- package/dist/domain/types/ui/tooltip-markdown.types.d.ts +32 -0
- package/dist/main.d.ts +9 -0
- package/dist/model/config/kernel.config.d.ts +5 -0
- package/dist/model/config/tooltip.config.d.ts +3 -0
- package/dist/model/kernel/endge.d.ts +2 -0
- package/dist/model/modules/context/endge-configuration-schema.d.ts +24 -0
- package/dist/model/modules/context/endge-configuration.d.ts +2 -0
- package/dist/model/modules/context/endge-context.d.ts +22 -1
- package/dist/model/modules/context/endge-workspace.d.ts +11 -1
- package/dist/model/modules/domain/endge-domain.d.ts +16 -0
- package/dist/model/modules/program/endge-source.d.ts +1 -1
- package/dist/model/modules/runtime/core/endge-runtime.d.ts +3 -2
- package/dist/model/modules/ui/endge-ui.d.ts +0 -11
- package/dist/model/services/configuration/configuration-value.d.ts +20 -0
- package/dist/model/services/configuration/endge-configuration.d.ts +3 -1
- package/dist/model/services/query/QueryExecutor.d.ts +3 -0
- package/dist/model/services/source-engine/compilers/configuration-source-compile.d.ts +4 -0
- package/dist/model/services/source-engine/configuration-source-patch.d.ts +16 -0
- package/dist/model/services/source-engine/strategies/ConfigurationSourceEngineStrategy.d.ts +7 -0
- package/dist/model/services/source-engine/strategies/ConfigurationSourceLanguageStrategy.d.ts +12 -0
- package/dist/model/services/source-engine/strategies/QuerySourceLanguageStrategy.d.ts +1 -1
- package/dist/model/services/source-engine/templates/configuration.default.source.d.ts +2 -0
- package/dist/model/services/source-engine/templates/query.default.source.d.ts +2 -0
- package/dist/model/services/source-engine/type-source-references.d.ts +3 -0
- package/dist/model/services/source-engine/type-source-serialize.d.ts +2 -1
- package/dist/model/services/tooltip/endge-tooltip-markdown.d.ts +5 -0
- package/dist/test/model/services/compiler/component-sfc/component-sfc-tooltip.test.d.ts +1 -0
- package/dist/test/model/services/source-engine/configuration-source.test.d.ts +1 -0
- package/dist/test/tooltip/endge-tooltip-markdown.test.d.ts +1 -0
- package/dist/tools/component-sfc-edit-trigger.d.ts +9 -1
- package/package.json +4 -4
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,9 @@ 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';
|
|
185
193
|
export * from './model/services/i18n/composition-i18n-catalog-projection';
|
|
186
194
|
export * from './domain/entities/runtime/RuntimeHostBase';
|
|
187
195
|
export * from './domain/entities/runtime/RuntimeHostRegistry';
|
|
@@ -219,6 +227,7 @@ export * from './model/services/style/endgecss-match';
|
|
|
219
227
|
export * from './model/services/source-engine/source-expression-evaluate';
|
|
220
228
|
export * from './model/services/source-engine/filter-source-patch';
|
|
221
229
|
export * from './model/services/source-engine/type-source-serialize';
|
|
230
|
+
export * from './model/services/source-engine/configuration-source-patch';
|
|
222
231
|
export * from './model/services/source-engine/typescript-type-source';
|
|
223
232
|
export * from './model/services/source-engine/component-sfc/component-sfc-visual-projection';
|
|
224
233
|
export * from './model/services/source-engine/component-sfc/component-sfc-table-source-patch';
|
|
@@ -15,9 +15,11 @@ export declare const ENDGE_COMPUTATION_MAX_CALLS = 256;
|
|
|
15
15
|
export declare const CONTEXT_STORAGE_KEY = "endge:context:v1";
|
|
16
16
|
export declare const LEGACY_CONTEXT_STORAGE_KEY = "endge-context";
|
|
17
17
|
export declare const LEGACY_THEME_STORAGE_KEY = "endge:theme";
|
|
18
|
+
export declare const LEGACY_TIMEZONE_STORAGE_KEY = "endge:isLocalTime";
|
|
18
19
|
export declare const DEFAULT_LOCALE = "en";
|
|
19
20
|
export declare const DEFAULT_FALLBACK_LOCALE = "en";
|
|
20
21
|
export declare const DEFAULT_THEME = "dark";
|
|
22
|
+
export declare const DEFAULT_TIMEZONE = "local";
|
|
21
23
|
export declare const DEFAULT_SCOPE: {
|
|
22
24
|
readonly tenantId: "default";
|
|
23
25
|
readonly projectId: "default";
|
|
@@ -33,6 +35,9 @@ export declare const VARS_STORAGE_KEY = "endge:vars";
|
|
|
33
35
|
export declare const AUTH_STORAGE_KEY = "endge:auth";
|
|
34
36
|
/** Ключ в Raph-хранилище для глобальных переменных. */
|
|
35
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";
|
|
36
41
|
/** Обратная совместимость публичного API `Config`. */
|
|
37
42
|
declare const _default: {
|
|
38
43
|
DOMAIN_STORAGE_KEY: string;
|
|
@@ -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>;
|
|
@@ -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';
|
|
@@ -178,6 +179,7 @@ export declare class Endge extends EndgeFederation {
|
|
|
178
179
|
static get context(): EndgeContext;
|
|
179
180
|
/** Доступ к effective configuration и immutable compiler build context. */
|
|
180
181
|
static get configuration(): EndgeConfigurationModule;
|
|
182
|
+
static get configurationSchema(): EndgeConfigurationSchemaModule;
|
|
181
183
|
/**
|
|
182
184
|
* Доступ к frontend workspace profile: локали и будущие runtime capabilities.
|
|
183
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. */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EndgeContextPersistenceConfig, EndgeContextSnapshot, EndgePersistenceScope, EndgeSessionIdentityProvider, EndgeStorageAdapter } from '../../../domain/types/runtime/context-persistence.types';
|
|
1
|
+
import { EndgeContextPersistenceConfig, EndgeKeyboardContextSnapshot, EndgeContextSnapshot, EndgePersistenceScope, EndgeRuntimeContextSnapshot, EndgeSessionIdentityProvider, EndgeStorageAdapter } from '../../../domain/types/runtime/context-persistence.types';
|
|
2
2
|
import { EndgeConfiguration } from '../../../domain/types/configuration/configuration.type';
|
|
3
3
|
import { EndgeDataMode } from '../../../domain/types/document/workspace.types';
|
|
4
4
|
import { EndgeBootContext } from '../../../domain/types/kernel/bootstrap.types';
|
|
@@ -23,6 +23,8 @@ export declare class EndgeContext extends EndgeModule {
|
|
|
23
23
|
private _pendingLocale;
|
|
24
24
|
private _currentTheme;
|
|
25
25
|
private _pendingTheme;
|
|
26
|
+
private _currentTimezone;
|
|
27
|
+
private _pendingTimezone;
|
|
26
28
|
private _workspaceDataMode;
|
|
27
29
|
private _dataModeOverride;
|
|
28
30
|
private _sessionProvider;
|
|
@@ -46,6 +48,14 @@ export declare class EndgeContext extends EndgeModule {
|
|
|
46
48
|
get isTenantLockedBySession(): boolean;
|
|
47
49
|
/** Сериализует текущий execution scope в snapshot. */
|
|
48
50
|
serialize(): EndgeContextSnapshot;
|
|
51
|
+
/** Returns the full SFC-visible context without adding volatile values to persistence. */
|
|
52
|
+
runtimeSnapshot(): EndgeRuntimeContextSnapshot;
|
|
53
|
+
/** Returns the current volatile keyboard state from the shared Raph context namespace. */
|
|
54
|
+
getKeyboardState(): EndgeKeyboardContextSnapshot;
|
|
55
|
+
/** Publishes UI-adapter keyboard state as narrow, non-persisted Raph mutations. */
|
|
56
|
+
setKeyboardState(input: EndgeKeyboardContextSnapshot): void;
|
|
57
|
+
/** Keeps legacy module subscribers while projecting persistent context fields into Raph. */
|
|
58
|
+
notify(): void;
|
|
49
59
|
/** Восстанавливает execution scope из snapshot с безопасными defaults. */
|
|
50
60
|
deserialize(payload: Partial<EndgeContextSnapshot> | undefined): void;
|
|
51
61
|
/** Сохраняет текущий context snapshot через выбранный adapter. */
|
|
@@ -122,12 +132,23 @@ export declare class EndgeContext extends EndgeModule {
|
|
|
122
132
|
setCurrentTheme(theme: string | null): void;
|
|
123
133
|
/** Согласует сохранённую тему с effective configuration после workspace resolution. */
|
|
124
134
|
reconcileCurrentThemeWithWorkspace(configuration?: EndgeConfiguration): void;
|
|
135
|
+
/** Возвращает текущую временную зону контекста. */
|
|
136
|
+
get currentTimezone(): string;
|
|
137
|
+
/** Нормализует, сохраняет и публикует новую временную зону. */
|
|
138
|
+
set currentTimezone(value: string);
|
|
139
|
+
/** Устанавливает текущую временную зону через публичный method API. */
|
|
140
|
+
setCurrentTimezone(timezone: string | null): void;
|
|
141
|
+
/** Согласует сохранённую временную зону с effective configuration. */
|
|
142
|
+
reconcileCurrentTimezoneWithWorkspace(configuration?: EndgeConfiguration): void;
|
|
125
143
|
/** Возвращает effective configuration либо persisted workspace configuration до resolution. */
|
|
126
144
|
private _activeConfiguration;
|
|
127
145
|
private _normalizeLocale;
|
|
128
146
|
private _normalizeTheme;
|
|
147
|
+
private _normalizeTimezone;
|
|
129
148
|
/** Выбирает storage adapter для заданной persistence policy. */
|
|
130
149
|
private resolveAdapter;
|
|
150
|
+
private _syncPersistentContextToRaph;
|
|
151
|
+
private _setRaphValueIfChanged;
|
|
131
152
|
/** Возвращает identity активного workspace для persistence scope. */
|
|
132
153
|
private _requireCurrentWorkspace;
|
|
133
154
|
/** Builds a harmless scope for a controller that never reads or writes state. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EndgeBootContext } from '../../../domain/types/kernel/bootstrap.types';
|
|
2
|
-
import { EndgeDataMode, EndgeWorkspaceDefinition, EndgeWorkspaceLocale, EndgeWorkspaceLocaleLabelMode, EndgeWorkspaceTheme, EndgeWorkspaceVar } from '../../../domain/types/document/workspace.types';
|
|
2
|
+
import { EndgeDataMode, EndgeWorkspaceDefinition, EndgeWorkspaceLocale, EndgeWorkspaceLocaleLabelMode, EndgeWorkspaceTheme, EndgeWorkspaceTimezone, EndgeWorkspaceVar } from '../../../domain/types/document/workspace.types';
|
|
3
3
|
import { EndgeModule } from '../../../domain/entities/endge/EndgeModule';
|
|
4
4
|
import { WorkspaceVariables } from './endge-vars';
|
|
5
5
|
/**
|
|
@@ -27,6 +27,12 @@ export declare class EndgeWorkspace extends EndgeModule {
|
|
|
27
27
|
normalizeTheme(theme: string | null | undefined): string;
|
|
28
28
|
/** Возвращает пользовательское имя темы. */
|
|
29
29
|
getThemeLabel(theme: string): string;
|
|
30
|
+
/** Проверяет, поддерживает ли workspace указанную временную зону. */
|
|
31
|
+
supportsTimezone(timezone: string | null | undefined): boolean;
|
|
32
|
+
/** Нормализует временную зону по правилам активного workspace. */
|
|
33
|
+
normalizeTimezone(timezone: string | null | undefined): string;
|
|
34
|
+
/** Возвращает пользовательское имя временной зоны. */
|
|
35
|
+
getTimezoneLabel(timezone: string): string;
|
|
30
36
|
/** Применяет и публикует новую workspace-конфигурацию. */
|
|
31
37
|
apply(input: unknown): void;
|
|
32
38
|
/** Сериализует текущую workspace-конфигурацию. */
|
|
@@ -61,6 +67,10 @@ export declare class EndgeWorkspace extends EndgeModule {
|
|
|
61
67
|
get themes(): EndgeWorkspaceTheme[];
|
|
62
68
|
/** Возвращает тему по умолчанию. */
|
|
63
69
|
get defaultTheme(): string;
|
|
70
|
+
/** Возвращает доступные workspace timezones. */
|
|
71
|
+
get timezones(): EndgeWorkspaceTimezone[];
|
|
72
|
+
/** Возвращает временную зону по умолчанию. */
|
|
73
|
+
get defaultTimezone(): string;
|
|
64
74
|
/** Возвращает identity auth profile по умолчанию. */
|
|
65
75
|
get defaultAuthProfileIdentity(): string | null;
|
|
66
76
|
/** Возвращает список разрешённых SFC adapter ids. */
|
|
@@ -28,6 +28,7 @@ import { RPolicy } from '../../../domain/entities/reflect/RPolicy';
|
|
|
28
28
|
import { RProject } from '../../../domain/entities/reflect/RProject';
|
|
29
29
|
import { RQuery } from '../../../domain/entities/reflect/RQuery';
|
|
30
30
|
import { RStyle } from '../../../domain/entities/reflect/RStyle';
|
|
31
|
+
import { RConfiguration } from '../../../domain/entities/reflect/RConfiguration';
|
|
31
32
|
import { RTenant } from '../../../domain/entities/reflect/RTenant';
|
|
32
33
|
import { RType } from '../../../domain/entities/reflect/RType';
|
|
33
34
|
import { RVocabs } from '../../../domain/entities/reflect/RVocabs';
|
|
@@ -63,6 +64,7 @@ export interface EndgeDomainParsed {
|
|
|
63
64
|
tenants: RTenant[];
|
|
64
65
|
policies: RPolicy[];
|
|
65
66
|
styles: RStyle[];
|
|
67
|
+
configurations: RConfiguration[];
|
|
66
68
|
vocabs: RVocabs[];
|
|
67
69
|
i18nBundles: RI18nBundle[];
|
|
68
70
|
authProfiles: RAuthProfile[];
|
|
@@ -124,6 +126,8 @@ export declare class EndgeDomain extends EndgeModule {
|
|
|
124
126
|
private _policiesByIdentity;
|
|
125
127
|
private _stylesById;
|
|
126
128
|
private _stylesByIdentity;
|
|
129
|
+
private _configurationsById;
|
|
130
|
+
private _configurationsByIdentity;
|
|
127
131
|
private _vocabsById;
|
|
128
132
|
private _vocabsByIdentity;
|
|
129
133
|
private _authProfilesById;
|
|
@@ -799,6 +803,18 @@ export declare class EndgeDomain extends EndgeModule {
|
|
|
799
803
|
* Проверяет наличие Style по id или identity.
|
|
800
804
|
*/
|
|
801
805
|
hasStyle(identity: string): boolean;
|
|
806
|
+
/** Workspace-owned Configuration source documents. */
|
|
807
|
+
getConfigurations(): RConfiguration[];
|
|
808
|
+
getConfigurationById(id: string | number): RConfiguration | null;
|
|
809
|
+
getConfigurationByIdentity(identity: string): RConfiguration | null;
|
|
810
|
+
getConfiguration(idOrIdentity: string | number): RConfiguration | null;
|
|
811
|
+
addConfiguration(configuration: RConfiguration): void;
|
|
812
|
+
removeConfigurationById(id: string | number): void;
|
|
813
|
+
removeConfigurationByIdentity(identity: string): void;
|
|
814
|
+
removeConfiguration(identity: string): void;
|
|
815
|
+
hasConfigurationById(id: string | number): boolean;
|
|
816
|
+
hasConfigurationByIdentity(identity: string): boolean;
|
|
817
|
+
hasConfiguration(identity: string): boolean;
|
|
802
818
|
/**
|
|
803
819
|
* Методы для работы со словарями
|
|
804
820
|
*/
|
|
@@ -34,7 +34,7 @@ export declare class EndgeSource extends EndgeModule {
|
|
|
34
34
|
/** Патчит source указанного source-kind, сохраняя нетронутые участки авторского кода. */
|
|
35
35
|
patch<TPatch = unknown, TDocument = unknown>(sourceKind: SourceKind | string, source: string, patch: TPatch): SourcePatchResult<TDocument>;
|
|
36
36
|
/** Возвращает базовый source для новой сущности указанного source-kind. */
|
|
37
|
-
createDefault(sourceKind: SourceKind | string): string;
|
|
37
|
+
createDefault(sourceKind: SourceKind | string, variant?: string): string;
|
|
38
38
|
/** Нормализует source через language strategy без изменения semantic document. */
|
|
39
39
|
normalize(sourceKind: SourceKind | string, source: string): string;
|
|
40
40
|
/** Валидирует source указанного source-kind для editor-facing сценариев. */
|
|
@@ -37,6 +37,7 @@ export declare class EndgeRuntime extends EndgeModule {
|
|
|
37
37
|
private _appScopes;
|
|
38
38
|
private _defaultAppScope;
|
|
39
39
|
private _unsubscribeWorkspace;
|
|
40
|
+
private _unsubscribeContext;
|
|
40
41
|
private _destroyedSnapshotLeases;
|
|
41
42
|
private _destroyingRuntimeIds;
|
|
42
43
|
/** Retain only bounded lightweight descriptors for an explicit inspector. */
|
|
@@ -79,8 +80,8 @@ export declare class EndgeRuntime extends EndgeModule {
|
|
|
79
80
|
getRuntimeHosts(): AnyRuntimeHost[];
|
|
80
81
|
/**
|
|
81
82
|
* Инвалидирует все renderable roots активных application scopes.
|
|
82
|
-
* Операция намеренно coarse-grained:
|
|
83
|
-
* dependency graph
|
|
83
|
+
* Операция намеренно coarse-grained: context preferences меняются редко,
|
|
84
|
+
* поэтому отдельный dependency graph на этом этапе не нужен.
|
|
84
85
|
*/
|
|
85
86
|
invalidateApplicationScopes(): void;
|
|
86
87
|
/** Регистрирует host, созданный владельцем составной runtime-сущности. */
|
|
@@ -11,11 +11,8 @@ export declare class EndgeUI extends EndgeModule {
|
|
|
11
11
|
private readonly STEP_ZOOM;
|
|
12
12
|
private readonly DEFAULT_ZOOM;
|
|
13
13
|
private readonly LS_KEY_ZOOM;
|
|
14
|
-
private readonly DEFAULT_IS_LOCAL_TIME;
|
|
15
|
-
private readonly LS_KEY_IS_LOCAL_TIME;
|
|
16
14
|
private _zoom;
|
|
17
15
|
private _theme;
|
|
18
|
-
private _isLocalTime;
|
|
19
16
|
/**
|
|
20
17
|
* Восстанавливает UI-настройки из localStorage и применяет тему к document.
|
|
21
18
|
*/
|
|
@@ -99,12 +96,4 @@ export declare class EndgeUI extends EndgeModule {
|
|
|
99
96
|
* Переключатель LT <-> UTC.
|
|
100
97
|
*/
|
|
101
98
|
switchTime(): void;
|
|
102
|
-
/**
|
|
103
|
-
* Считывает Is Local Time From LS.
|
|
104
|
-
*/
|
|
105
|
-
private readIsLocalTimeFromLS;
|
|
106
|
-
/**
|
|
107
|
-
* Записывает Is Local Time To LS.
|
|
108
|
-
*/
|
|
109
|
-
private writeIsLocalTimeToLS;
|
|
110
99
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ProgramDiagnostic } from '../../../domain/types/program/program.types';
|
|
2
|
+
import { EndgeJSONValue } from '../../../domain/types/source/configuration-source.types';
|
|
3
|
+
import { TypeProgramCatalogEntry, TypeSourceExpression } from '../../../domain/types/source/type-source.types';
|
|
4
|
+
type DiagnosticDraft = Omit<ProgramDiagnostic, 'entityRef'>;
|
|
5
|
+
export interface ConfigurationValueResult {
|
|
6
|
+
ok: boolean;
|
|
7
|
+
diagnostics: DiagnosticDraft[];
|
|
8
|
+
}
|
|
9
|
+
/** Validates one persisted/default value against the effective Type Registry. */
|
|
10
|
+
export declare function validateConfigurationValue(expression: TypeSourceExpression, value: unknown, catalog: readonly TypeProgramCatalogEntry[], sourcePath?: string): ConfigurationValueResult;
|
|
11
|
+
/** Infers a deterministic JSON default or returns null when explicit author input is required. */
|
|
12
|
+
export declare function inferConfigurationDefault(expression: TypeSourceExpression, catalog: readonly TypeProgramCatalogEntry[], visiting?: Set<string>): {
|
|
13
|
+
ok: true;
|
|
14
|
+
value: EndgeJSONValue;
|
|
15
|
+
} | {
|
|
16
|
+
ok: false;
|
|
17
|
+
reason: string;
|
|
18
|
+
};
|
|
19
|
+
export declare function isEndgeJSONValue(value: unknown): value is EndgeJSONValue;
|
|
20
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EndgeConfiguration, EndgeConfigurationContribution } from '../../../domain/types/configuration/configuration.type';
|
|
1
|
+
import { EndgeConfiguration, EndgeConfigurationContribution, EndgePublicConfigurationSnapshot } from '../../../domain/types/configuration/configuration.type';
|
|
2
2
|
export declare const DEFAULT_ENDGE_CONFIGURATION: Readonly<EndgeConfiguration>;
|
|
3
3
|
/** Создаёт независимую полную конфигурацию с системными defaults. */
|
|
4
4
|
export declare function createDefaultEndgeConfiguration(): EndgeConfiguration;
|
|
@@ -10,3 +10,5 @@ export declare function normalizeEndgeConfigurationContribution(input: unknown):
|
|
|
10
10
|
export declare function applyEndgeConfigurationContribution(upstream: EndgeConfiguration, contribution: EndgeConfigurationContribution): EndgeConfiguration;
|
|
11
11
|
/** Возвращает стабильный hash полного build context без platform crypto API. */
|
|
12
12
|
export declare function createEndgeContextHash(input: unknown): string;
|
|
13
|
+
/** Builds the stable public SFC projection without internal vars/diagnostics/storage namespace. */
|
|
14
|
+
export declare function createEndgePublicConfigurationSnapshot(configuration: EndgeConfiguration): EndgePublicConfigurationSnapshot;
|
|
@@ -11,8 +11,11 @@ export declare class QueryExecutor {
|
|
|
11
11
|
readResponseOutput(output: QueryProgramOutput, response: unknown): unknown;
|
|
12
12
|
/** Выбирает protocol executor по compiled artifact type. */
|
|
13
13
|
private _executeByProtocol;
|
|
14
|
+
/** Выполняет GraphQL operation и возвращает ее data, отделяя transport errors от GraphQL errors. */
|
|
15
|
+
private _runGraphQL;
|
|
14
16
|
/** Выполняет REST artifact. */
|
|
15
17
|
private _runRest;
|
|
18
|
+
private _throwHttpError;
|
|
16
19
|
/** Публикует runtime warning безопасного expression evaluator. */
|
|
17
20
|
private _writeExpressionWarning;
|
|
18
21
|
private _asRecord;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ConfigurationSourceCompileResult } from '../../../../domain/types/source/configuration-source.types';
|
|
2
|
+
import { TypeProgramCatalogEntry } from '../../../../domain/types/source/type-source.types';
|
|
3
|
+
/** Parses Configuration Source v1 without executing authored JavaScript. */
|
|
4
|
+
export declare function compileConfigurationSource(source: string, catalog?: readonly TypeProgramCatalogEntry[]): ConfigurationSourceCompileResult;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ConfigurationSourceValueDefinition } from '../../../domain/types/source/configuration-source.types';
|
|
2
|
+
export type ConfigurationSourcePatch = {
|
|
3
|
+
op: 'upsert';
|
|
4
|
+
value: ConfigurationSourceValueDefinition;
|
|
5
|
+
} | {
|
|
6
|
+
op: 'remove';
|
|
7
|
+
key: string;
|
|
8
|
+
} | {
|
|
9
|
+
op: 'rename';
|
|
10
|
+
key: string;
|
|
11
|
+
nextKey: string;
|
|
12
|
+
};
|
|
13
|
+
/** Applies a narrow property-level patch to canonical defineConfig source. */
|
|
14
|
+
export declare function patchConfigurationSource(source: string, patch: ConfigurationSourcePatch): string;
|
|
15
|
+
/** Deterministic source for one value; visual authoring always writes an explicit default. */
|
|
16
|
+
export declare function serializeConfigurationValue(value: ConfigurationSourceValueDefinition, indent?: number): string;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SourceEngineCompileResult, SourceEngineStrategy, SourceKind } from '../../../../domain/types/source/source-engine.types';
|
|
2
|
+
export declare class ConfigurationSourceEngineStrategy implements SourceEngineStrategy {
|
|
3
|
+
readonly id = "source:configuration";
|
|
4
|
+
readonly sourceKind: SourceKind;
|
|
5
|
+
supports(sourceKind: SourceKind | string): boolean;
|
|
6
|
+
compile(source: string): SourceEngineCompileResult;
|
|
7
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { SourceKind, SourceLanguageCompletion, SourceLanguageContext, SourceLanguageStrategy, SourceLanguageValidationResult } from '../../../../domain/types/source/source-engine.types';
|
|
2
|
+
export declare class ConfigurationSourceLanguageStrategy implements SourceLanguageStrategy {
|
|
3
|
+
readonly id = "source-language:configuration";
|
|
4
|
+
readonly sourceKind: SourceKind;
|
|
5
|
+
readonly syntax: import('../../../../domain/types/source/source-engine.types').SourceLanguageSyntaxDefinition;
|
|
6
|
+
supports(sourceKind: SourceKind | string): boolean;
|
|
7
|
+
createDefaultSource(): string;
|
|
8
|
+
validate(source: string, context?: SourceLanguageContext): SourceLanguageValidationResult;
|
|
9
|
+
completions(context: SourceLanguageContext): SourceLanguageCompletion[];
|
|
10
|
+
resolveReference(context: SourceLanguageContext): import('../../../../domain/types/source/source-engine.types').SourceDocumentReference | null;
|
|
11
|
+
semanticHighlights(context: SourceLanguageContext): import('../../../../domain/types/source/source-engine.types').SourceLanguageSemanticHighlight[];
|
|
12
|
+
}
|
|
@@ -7,7 +7,7 @@ export declare class QuerySourceLanguageStrategy implements SourceLanguageStrate
|
|
|
7
7
|
/** Проверяет, что стратегия обслуживает query source. */
|
|
8
8
|
supports(sourceKind: SourceKind | string): boolean;
|
|
9
9
|
/** Возвращает базовый source новой RQuery. */
|
|
10
|
-
createDefaultSource(): string;
|
|
10
|
+
createDefaultSource(variant?: string): string;
|
|
11
11
|
/** Валидирует query source через текущий compiler pass. */
|
|
12
12
|
validate(source: string, context?: SourceLanguageContext): SourceLanguageValidationResult;
|
|
13
13
|
/** Возвращает подсказки source-only Query v2 API. */
|
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
/** Базовый canonical source для новой RQuery v2. */
|
|
2
2
|
export declare const QUERY_DEFAULT_SOURCE = "defineQuery({\n kind: 'rest',\n\n props: defineProps({\n filterPayload: field('Object').optional(),\n }),\n\n request: {\n endpoint: '',\n path: '/search',\n method: 'POST',\n headers: {},\n auth: {\n mode: 'inherit',\n },\n body: body(({ prop }) =>\n merge(\n { limit: 100 },\n prop('filterPayload'),\n ),\n ),\n },\n\n outputs: {\n raw: output()\n .from(response('items')),\n },\n\n mock: {\n enabled: false,\n data: null,\n },\n})\n";
|
|
3
|
+
/** Базовый canonical source для новой GraphQL RQuery v2. */
|
|
4
|
+
export declare const QUERY_GRAPHQL_DEFAULT_SOURCE = "defineQuery({\n kind: 'graphql',\n\n props: defineProps({\n id: field('String'),\n }),\n\n request: {\n endpoint: '',\n operationName: 'LoadItem',\n document: gql`\n query LoadItem($id: ID!) {\n item(id: $id) {\n id\n }\n }\n `,\n variables: variables(({ prop }) => ({\n id: prop('id'),\n })),\n headers: {},\n auth: {\n mode: 'inherit',\n },\n errorPolicy: 'throw',\n },\n\n outputs: {\n item: output()\n .from(data('item')),\n },\n\n mock: {\n enabled: false,\n data: null,\n },\n})\n";
|
|
@@ -4,8 +4,11 @@ interface TypeSourceReferenceLocation extends SourceDocumentReference {
|
|
|
4
4
|
}
|
|
5
5
|
/** Собирает ссылки на Type Registry из поддержанных Type Source выражений. */
|
|
6
6
|
export declare function collectTypeSourceReferences(source: string): TypeSourceReferenceLocation[];
|
|
7
|
+
/** Collects Type Registry references from value(Type, ...) calls in Configuration Source. */
|
|
8
|
+
export declare function collectConfigurationTypeSourceReferences(source: string): TypeSourceReferenceLocation[];
|
|
7
9
|
/** Переводит ссылки на типы в канонический синтаксис без кавычек. */
|
|
8
10
|
export declare function normalizeTypeSourceReferences(source: string): string;
|
|
9
11
|
/** Находит ссылку Type Source в позиции редактора. */
|
|
10
12
|
export declare function resolveTypeSourceReference(context: SourceLanguageContext): SourceDocumentReference | null;
|
|
13
|
+
export declare function resolveConfigurationTypeSourceReference(context: SourceLanguageContext): SourceDocumentReference | null;
|
|
11
14
|
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { TypeSourceDocument } from '../../../domain/types/source/type-source.types';
|
|
1
|
+
import { TypeSourceDocument, TypeSourceExpression } from '../../../domain/types/source/type-source.types';
|
|
2
2
|
/** Deterministic serializer for canonical Type Source v1 documents. */
|
|
3
3
|
export declare function serializeTypeSourceDocument(document: TypeSourceDocument): string;
|
|
4
|
+
export declare function serializeTypeSourceExpression(expression: TypeSourceExpression, indent?: number): string;
|
|
4
5
|
/** Serializes one named type reference using canonical bare syntax when possible. */
|
|
5
6
|
export declare function serializeTypeSourceReference(identity: string): string;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { EndgeTooltipMarkdownBlock } from '../../../domain/types/ui/tooltip-markdown.types';
|
|
2
|
+
/** Parses the intentionally small, safe Tooltip Markdown subset without producing HTML. */
|
|
3
|
+
export declare function parseEndgeTooltipMarkdown(source: unknown): EndgeTooltipMarkdownBlock[];
|
|
4
|
+
/** Stable DOM id for one consumer-scoped tooltip without leaking source values into selectors. */
|
|
5
|
+
export declare function createEndgeTooltipDomId(seed: string): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
import { ComponentSFCInteractionTrigger, ComponentSFCInteractionTriggerEvent, ComponentSFCInteractionTriggerPlatform } from '../domain/types/component/sfc/ir.types';
|
|
1
|
+
import { ComponentSFCInteractionTrigger, ComponentSFCInteractionTriggerEvent, ComponentSFCInteractionTriggerHeldKeys, ComponentSFCInteractionKeyboardCondition, ComponentSFCInteractionTriggerModifiers, ComponentSFCInteractionTriggerPlatform } from '../domain/types/component/sfc/ir.types';
|
|
2
2
|
/** Normalizes the shared `edit-on` / `on` trigger value. */
|
|
3
3
|
export declare function normalizeComponentSFCInteractionTriggers(value: unknown): ComponentSFCInteractionTrigger[];
|
|
4
4
|
/** Проверяет один нормализованный trigger без зависимости от DOM и конкретного renderer-а. */
|
|
5
5
|
export declare function matchesComponentSFCInteractionTrigger(trigger: ComponentSFCInteractionTrigger, event: ComponentSFCInteractionTriggerEvent, platform: ComponentSFCInteractionTriggerPlatform): boolean;
|
|
6
6
|
/** Приводит browser platform label к стабильным значениям edit-on контракта. */
|
|
7
7
|
export declare function resolveComponentSFCInteractionTriggerPlatform(value: unknown): ComponentSFCInteractionTriggerPlatform;
|
|
8
|
+
export declare function normalizeComponentSFCInteractionHeldKeys(value: unknown): ComponentSFCInteractionTriggerHeldKeys | undefined;
|
|
9
|
+
/** Normalizes a reusable condition on the current keyboard state. */
|
|
10
|
+
export declare function normalizeComponentSFCInteractionKeyboardCondition(value: unknown): ComponentSFCInteractionKeyboardCondition | undefined;
|
|
11
|
+
export declare function normalizeComponentSFCInteractionModifiers(value: unknown): ComponentSFCInteractionTriggerModifiers | undefined;
|
|
12
|
+
export declare function matchesComponentSFCInteractionHeldKeys(expected: ComponentSFCInteractionTriggerHeldKeys | undefined, actual: ComponentSFCInteractionTriggerEvent['held']): boolean;
|
|
13
|
+
/** Checks modifiers and ordinary held keys against one keyboard snapshot. */
|
|
14
|
+
export declare function matchesComponentSFCInteractionKeyboardCondition(expected: ComponentSFCInteractionKeyboardCondition | undefined, actual: Pick<ComponentSFCInteractionTriggerEvent, 'held' | 'modifiers'>, platform: ComponentSFCInteractionTriggerPlatform): boolean;
|
|
15
|
+
export declare function matchesComponentSFCInteractionModifiers(expected: ComponentSFCInteractionTriggerModifiers | undefined, actual: ComponentSFCInteractionTriggerEvent['modifiers'], platform: ComponentSFCInteractionTriggerPlatform): boolean;
|
|
8
16
|
/** Backward-compatible editable wrappers. */
|
|
9
17
|
export declare const normalizeComponentSFCEditTriggers: typeof normalizeComponentSFCInteractionTriggers;
|
|
10
18
|
export declare const matchesComponentSFCEditTrigger: typeof matchesComponentSFCInteractionTrigger;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@endge/core",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.2",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@babel/parser": "^7.27.2",
|
|
31
31
|
"@babel/types": "^7.27.1",
|
|
32
|
-
"@endge/utils": "^0.24.
|
|
32
|
+
"@endge/utils": "^0.24.11",
|
|
33
33
|
"@vue/compiler-dom": "^3.5.24",
|
|
34
34
|
"@vue/compiler-sfc": "^3.5.24",
|
|
35
35
|
"axios": "^1.13.2",
|
|
@@ -46,8 +46,8 @@
|
|
|
46
46
|
"yaml": "^2.8.1"
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|
|
49
|
-
"@endge/raph": "^3.0.
|
|
50
|
-
"@endge/utils": "^0.24.
|
|
49
|
+
"@endge/raph": "^3.0.9",
|
|
50
|
+
"@endge/utils": "^0.24.11",
|
|
51
51
|
"@primevue/themes": "^4.0.0-rc.1",
|
|
52
52
|
"class-transformer": "^0.5.1",
|
|
53
53
|
"class-validator": "^0.14.1",
|